KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > w3c > flute > parser > selectors > SelectorFactoryImpl


1 /*
2  * Copyright (c) 2000 World Wide Web Consortium,
3  * (Massachusetts Institute of Technology, Institut National de
4  * Recherche en Informatique et en Automatique, Keio University). All
5  * Rights Reserved. This program is distributed under the W3C's Software
6  * Intellectual Property License. This program is distributed in the
7  * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
8  * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
9  * PURPOSE.
10  * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
11  *
12  * $Id: SelectorFactoryImpl.java,v 1.1.1.1 2006/04/23 14:51:53 taqua Exp $
13  */

14 package org.w3c.flute.parser.selectors;
15
16 import org.w3c.css.sac.SelectorFactory;
17 import org.w3c.css.sac.ConditionalSelector;
18 import org.w3c.css.sac.NegativeSelector;
19 import org.w3c.css.sac.SimpleSelector;
20 import org.w3c.css.sac.ElementSelector;
21 import org.w3c.css.sac.CharacterDataSelector;
22 import org.w3c.css.sac.ProcessingInstructionSelector;
23 import org.w3c.css.sac.SiblingSelector;
24 import org.w3c.css.sac.DescendantSelector;
25 import org.w3c.css.sac.Selector;
26 import org.w3c.css.sac.Condition;
27 import org.w3c.css.sac.CSSException;
28
29 /**
30  * @version $Revision: 1.1.1.1 $
31  * @author Philippe Le Hegaret
32  */

33 public class SelectorFactoryImpl implements SelectorFactory {
34
35     /**
36      * Creates a conditional selector.
37      *
38      * @param selector a selector.
39      * @param condition a condition
40      * @return the conditional selector.
41      * @exception CSSException If this selector is not supported.
42      */

43     public ConditionalSelector createConditionalSelector(SimpleSelector selector,
44                           Condition condition)
45         throws CSSException {
46   return new ConditionalSelectorImpl(selector, condition);
47     }
48
49     /**
50      * Creates an any node selector.
51      *
52      * @return the any node selector.
53      * @exception CSSException If this selector is not supported.
54      */

55     public SimpleSelector createAnyNodeSelector() throws CSSException {
56     throw new CSSException(CSSException.SAC_NOT_SUPPORTED_ERR);
57     }
58
59     /**
60      * Creates an root node selector.
61      *
62      * @return the root node selector.
63      * @exception CSSException If this selector is not supported.
64      */

65     public SimpleSelector createRootNodeSelector() throws CSSException {
66     throw new CSSException(CSSException.SAC_NOT_SUPPORTED_ERR);
67     }
68
69     /**
70      * Creates an negative selector.
71      *
72      * @param selector a selector.
73      * @return the negative selector.
74      * @exception CSSException If this selector is not supported.
75      */

76     public NegativeSelector createNegativeSelector(SimpleSelector selector)
77         throws CSSException {
78     throw new CSSException(CSSException.SAC_NOT_SUPPORTED_ERR);
79     }
80
81     /**
82      * Creates an element selector.
83      *
84      * @param namespaceURI the <a HREF="http://www.w3.org/TR/REC-xml-names/#dt-NSName">namespace
85      * URI</a> of the element selector.
86      * @param tagName the <a HREF="http://www.w3.org/TR/REC-xml-names/#NT-LocalPart">local
87      * part</a> of the element name. <code>NULL</code> if this element
88      * selector can match any element.</p>
89      * @return the element selector
90      * @exception CSSException If this selector is not supported.
91      */

92     public ElementSelector createElementSelector(String JavaDoc namespaceURI, String JavaDoc localName)
93         throws CSSException {
94     if (namespaceURI != null) {
95         throw new CSSException(CSSException.SAC_NOT_SUPPORTED_ERR);
96     } else {
97         return new ElementSelectorImpl(localName);
98     }
99     }
100
101     /**
102      * Creates a text node selector.
103      *
104      * @param data the data
105      * @return the text node selector
106      * @exception CSSException If this selector is not supported.
107      */

108     public CharacterDataSelector createTextNodeSelector(String JavaDoc data)
109         throws CSSException {
110     throw new CSSException(CSSException.SAC_NOT_SUPPORTED_ERR);
111     }
112
113     /**
114      * Creates a cdata section node selector.
115      *
116      * @param data the data
117      * @return the cdata section node selector
118      * @exception CSSException If this selector is not supported.
119      */

120     public CharacterDataSelector createCDataSectionSelector(String JavaDoc data)
121         throws CSSException {
122     throw new CSSException(CSSException.SAC_NOT_SUPPORTED_ERR);
123     }
124
125     /**
126      * Creates a processing instruction node selector.
127      *
128      * @param target the target
129      * @param data the data
130      * @return the processing instruction node selector
131      * @exception CSSException If this selector is not supported.
132      */

133     public ProcessingInstructionSelector
134     createProcessingInstructionSelector(String JavaDoc target,
135                         String JavaDoc data)
136         throws CSSException {
137     throw new CSSException(CSSException.SAC_NOT_SUPPORTED_ERR);
138     }
139
140     /**
141      * Creates a comment node selector.
142      *
143      * @param data the data
144      * @return the comment node selector
145      * @exception CSSException If this selector is not supported.
146      */

147     public CharacterDataSelector createCommentSelector(String JavaDoc data)
148         throws CSSException {
149     throw new CSSException(CSSException.SAC_NOT_SUPPORTED_ERR);
150     }
151
152     /**
153      * Creates a pseudo element selector.
154      *
155      * @param pseudoName the pseudo element name. <code>NULL</code> if this
156      * element selector can match any pseudo element.</p>
157      * @return the element selector
158      * @exception CSSException If this selector is not supported.
159      */

160     public ElementSelector createPseudoElementSelector(String JavaDoc namespaceURI,
161                         String JavaDoc pseudoName)
162         throws CSSException {
163     if (namespaceURI != null) {
164         throw new CSSException(CSSException.SAC_NOT_SUPPORTED_ERR);
165     } else {
166         return new PseudoElementSelectorImpl(pseudoName);
167     }
168     }
169
170     /**
171      * Creates a descendant selector.
172      *
173      * @param parent the parent selector
174      * @param descendant the descendant selector
175      * @return the combinator selector.
176      * @exception CSSException If this selector is not supported.
177      */

178     public DescendantSelector createDescendantSelector(Selector parent,
179                                SimpleSelector descendant)
180         throws CSSException {
181     return new DescendantSelectorImpl(parent, descendant);
182     }
183
184     /**
185      * Creates a child selector.
186      *
187      * @param parent the parent selector
188      * @param child the child selector
189      * @return the combinator selector.
190      * @exception CSSException If this selector is not supported.
191      */

192     public DescendantSelector createChildSelector(Selector parent,
193                           SimpleSelector child)
194         throws CSSException {
195     return new ChildSelectorImpl(parent, child);
196     }
197
198     /**
199      * Creates a direct adjacent selector.
200      *
201      * @param child the child selector
202      * @param adjacent the direct adjacent selector
203      * @return the combinator selector.
204      * @exception CSSException If this selector is not supported.
205      */

206     public SiblingSelector createDirectAdjacentSelector(short nodeType,
207                             Selector child,
208                             SimpleSelector directAdjacent)
209         throws CSSException {
210     if (nodeType != 1) {
211         throw new CSSException(CSSException.SAC_NOT_SUPPORTED_ERR);
212     } else {
213         return new DirectAdjacentSelectorImpl(child, directAdjacent);
214     }
215     }
216
217 }
218
Popular Tags