View Javadoc
1   package us.codecraft.webmagic.selector;
2   
3   import java.util.List;
4   
5   /**
6    * Selectable text.<br>
7    *
8    * @author code4crafter@gmail.com <br>
9    * @since 0.1.0
10   */
11  public interface Selectable {
12  
13      /**
14       * select list with xpath
15       *
16       * @param xpath xpath
17       * @return new Selectable after extract
18       */
19      public Selectable xpath(String xpath);
20  
21      /**
22       * select list with css selector
23       *
24       * @param selector css selector expression
25       * @return new Selectable after extract
26       */
27      public Selectable $(String selector);
28  
29      /**
30       * select list with css selector
31       *
32       * @param selector css selector expression
33       * @param attrName attribute name of css selector
34       * @return new Selectable after extract
35       */
36      public Selectable $(String selector, String attrName);
37  
38      /**
39       * select list with css selector
40       *
41       * @param selector css selector expression
42       * @return new Selectable after extract
43       */
44      public Selectable css(String selector);
45  
46      /**
47       * select list with css selector
48       *
49       * @param selector css selector expression
50       * @param attrName attribute name of css selector
51       * @return new Selectable after extract
52       */
53      public Selectable css(String selector, String attrName);
54      /**
55       * select all links
56       *
57       * @return all links
58       */
59      public Selectable links();
60  
61      /**
62       * select list with regex, default group is group 1
63       *
64       * @param regex regex
65       * @return new Selectable after extract
66       */
67      public Selectable regex(String regex);
68  
69      /**
70       * select list with regex
71       *
72       * @param regex regex
73       * @param group group
74       * @return new Selectable after extract
75       */
76      public Selectable regex(String regex, int group);
77  
78      /**
79       * replace with regex
80       *
81       * @param regex regex
82       * @param replacement replacement
83       * @return new Selectable after extract
84       */
85      public Selectable replace(String regex, String replacement);
86  
87      /**
88       * single string result
89       *
90       * @return single string result
91       */
92      public String toString();
93  
94      /**
95       * single string result
96       *
97       * @return single string result
98       */
99      public String get();
100 
101     /**
102      * if result exist for select
103      *
104      * @return true if result exist
105      */
106     public boolean match();
107 
108     /**
109      * multi string result
110      *
111      * @return multi string result
112      */
113     public List<String> all();
114 
115     /**
116      * extract by JSON Path expression
117      *
118      * @param jsonPath jsonPath
119      * @return result
120      */
121     public Selectable jsonPath(String jsonPath);
122 
123     /**
124      * extract by custom selector
125      *
126      * @param selector selector
127      * @return result
128      */
129     public Selectable select(Selector selector);
130 
131     /**
132      * extract by custom selector
133      *
134      * @param selector selector
135      * @return result
136      */
137     public Selectable selectList(Selector selector);
138 
139     /**
140      * get all nodes
141      * @return result
142      */
143     public List<Selectable> nodes();
144 }