KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > tools > ant > types > selectors > SelectorContainer


1 /*
2  * Licensed to the Apache Software Foundation (ASF) under one or more
3  * contributor license agreements. See the NOTICE file distributed with
4  * this work for additional information regarding copyright ownership.
5  * The ASF licenses this file to You under the Apache License, Version 2.0
6  * (the "License"); you may not use this file except in compliance with
7  * the License. You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  */

18
19 package org.apache.tools.ant.types.selectors;
20
21 import java.util.Enumeration JavaDoc;
22 import org.apache.tools.ant.Project;
23 import org.apache.tools.ant.types.selectors.modifiedselector.ModifiedSelector;
24
25 /**
26  * This is the interface for selectors that can contain other selectors.
27  *
28  * @since 1.5
29  */

30 public interface SelectorContainer {
31
32     /**
33      * Indicates whether there are any selectors here.
34      *
35      * @return whether any selectors are in this container
36      */

37     boolean hasSelectors();
38
39     /**
40      * Gives the count of the number of selectors in this container
41      *
42      * @return the number of selectors in this container
43      */

44     int selectorCount();
45
46     /**
47      * Returns the set of selectors as an array.
48      * @param p the current project
49      * @return an array of selectors in this container
50      */

51     FileSelector[] getSelectors(Project p);
52
53     /**
54      * Returns an enumerator for accessing the set of selectors.
55      *
56      * @return an enumerator that goes through each of the selectors
57      */

58     Enumeration JavaDoc selectorElements();
59
60     /**
61      * Add a new selector into this container.
62      *
63      * @param selector the new selector to add
64      */

65     void appendSelector(FileSelector selector);
66
67     /* Methods below all add specific selectors */
68
69     /**
70      * add a "Select" selector entry on the selector list
71      * @param selector the selector to add
72      */

73     void addSelector(SelectSelector selector);
74
75     /**
76      * add an "And" selector entry on the selector list
77      * @param selector the selector to add
78      */

79     void addAnd(AndSelector selector);
80
81     /**
82      * add an "Or" selector entry on the selector list
83      * @param selector the selector to add
84      */

85     void addOr(OrSelector selector);
86
87     /**
88      * add a "Not" selector entry on the selector list
89      * @param selector the selector to add
90      */

91     void addNot(NotSelector selector);
92
93     /**
94      * add a "None" selector entry on the selector list
95      * @param selector the selector to add
96      */

97     void addNone(NoneSelector selector);
98
99     /**
100      * add a majority selector entry on the selector list
101      * @param selector the selector to add
102      */

103     void addMajority(MajoritySelector selector);
104
105     /**
106      * add a selector date entry on the selector list
107      * @param selector the selector to add
108      */

109     void addDate(DateSelector selector);
110
111     /**
112      * add a selector size entry on the selector list
113      * @param selector the selector to add
114      */

115     void addSize(SizeSelector selector);
116
117     /**
118      * add a selector filename entry on the selector list
119      * @param selector the selector to add
120      */

121     void addFilename(FilenameSelector selector);
122
123     /**
124      * add an extended selector entry on the selector list
125      * @param selector the selector to add
126      */

127     void addCustom(ExtendSelector selector);
128
129     /**
130      * add a contains selector entry on the selector list
131      * @param selector the selector to add
132      */

133     void addContains(ContainsSelector selector);
134
135     /**
136      * add a present selector entry on the selector list
137      * @param selector the selector to add
138      */

139     void addPresent(PresentSelector selector);
140
141     /**
142      * add a depth selector entry on the selector list
143      * @param selector the selector to add
144      */

145     void addDepth(DepthSelector selector);
146
147     /**
148      * add a depends selector entry on the selector list
149      * @param selector the selector to add
150      */

151     void addDepend(DependSelector selector);
152
153     /**
154      * add a regular expression selector entry on the selector list
155      * @param selector the selector to add
156      */

157     void addContainsRegexp(ContainsRegexpSelector selector);
158
159     /**
160      * add the type selector
161      * @param selector the selector to add
162      * @since ant 1.6
163      */

164     void addType(TypeSelector selector);
165
166     /**
167      * add the different selector
168      * @param selector the selector to add
169      * @since ant 1.6
170      */

171     void addDifferent(DifferentSelector selector);
172
173     /**
174      * add the modified selector
175      * @param selector the selector to add
176      * @since ant 1.6
177      */

178     void addModified(ModifiedSelector selector);
179
180     /**
181      * add an arbitary selector
182      * @param selector the selector to add
183      * @since Ant 1.6
184      */

185     void add(FileSelector selector);
186 }
187
Popular Tags