1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168
|
/*
* Copyright (c) 1999 World Wide Web Consortium,
* (Massachusetts Institute of Technology, Institut National de
* Recherche en Informatique et en Automatique, Keio University). All
* Rights Reserved. This program is distributed under the W3C's Software
* Intellectual Property License. This program is distributed in the
* hope that it will be useful, but WITHOUT ANY WARRANTY; without even
* the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE.
* See W3C License http://www.w3.org/Consortium/Legal/ for more details.
*
* $Id: SelectorFactory.java,v 1.3 2000/07/27 21:19:21 plehegar Exp $
*/
package org.w3c.css.sac;
/**
* @version $Revision: 1.3 $
* @author Philippe Le Hegaret
* @see org.w3c.css.sac.Selector
*/
public interface SelectorFactory {
/**
* Creates a conditional selector.
*
* @param selector a selector.
* @param condition a condition
* @return the conditional selector.
* @exception CSSException If this selector is not supported.
*/
ConditionalSelector createConditionalSelector(SimpleSelector selector,
Condition condition)
throws CSSException;
/**
* Creates an any node selector.
*
* @return the any node selector.
* @exception CSSException If this selector is not supported.
*/
SimpleSelector createAnyNodeSelector() throws CSSException;
/**
* Creates an root node selector.
*
* @return the root node selector.
* @exception CSSException If this selector is not supported.
*/
SimpleSelector createRootNodeSelector() throws CSSException;
/**
* Creates an negative selector.
*
* @param selector a selector.
* @return the negative selector.
* @exception CSSException If this selector is not supported.
*/
NegativeSelector createNegativeSelector(SimpleSelector selector)
throws CSSException;
/**
* Creates an element selector.
*
* @param namespaceURI the <a href="http://www.w3.org/TR/REC-xml-names/#dt-NSName">namespace
* URI</a> of the element selector.
* @param tagName the <a href="http://www.w3.org/TR/REC-xml-names/#NT-LocalPart">local
* part</a> of the element name. <code>NULL</code> if this element
* selector can match any element.</p>
* @return the element selector
* @exception CSSException If this selector is not supported.
*/
ElementSelector createElementSelector(String namespaceURI, String tagName)
throws CSSException;
/**
* Creates a text node selector.
*
* @param data the data
* @return the text node selector
* @exception CSSException If this selector is not supported.
*/
CharacterDataSelector createTextNodeSelector(String data)
throws CSSException;
/**
* Creates a cdata section node selector.
*
* @param data the data
* @return the cdata section node selector
* @exception CSSException If this selector is not supported.
*/
CharacterDataSelector createCDataSectionSelector(String data)
throws CSSException;
/**
* Creates a processing instruction node selector.
*
* @param target the target
* @param data the data
* @return the processing instruction node selector
* @exception CSSException If this selector is not supported.
*/
ProcessingInstructionSelector
createProcessingInstructionSelector(String target,
String data)
throws CSSException;
/**
* Creates a comment node selector.
*
* @param data the data
* @return the comment node selector
* @exception CSSException If this selector is not supported.
*/
CharacterDataSelector createCommentSelector(String data)
throws CSSException;
/**
* Creates a pseudo element selector.
*
* @param pseudoName the pseudo element name. <code>NULL</code> if this
* element selector can match any pseudo element.</p>
* @return the element selector
* @exception CSSException If this selector is not supported.
*/
ElementSelector createPseudoElementSelector(String namespaceURI,
String pseudoName)
throws CSSException;
/**
* Creates a descendant selector.
*
* @param parent the parent selector
* @param descendant the descendant selector
* @return the combinator selector.
* @exception CSSException If this selector is not supported.
*/
DescendantSelector createDescendantSelector(Selector parent,
SimpleSelector descendant)
throws CSSException;
/**
* Creates a child selector.
*
* @param parent the parent selector
* @param child the child selector
* @return the combinator selector.
* @exception CSSException If this selector is not supported.
*/
DescendantSelector createChildSelector(Selector parent,
SimpleSelector child)
throws CSSException;
/**
* Creates a sibling selector.
*
* @param nodeType the type of nodes in the siblings list.
* @param child the child selector
* @param adjacent the direct adjacent selector
* @return the sibling selector with nodeType
equals to org.w3c.dom.Node.ELEMENT_NODE
* @exception CSSException If this selector is not supported.
*/
SiblingSelector createDirectAdjacentSelector(short nodeType,
Selector child,
SimpleSelector directAdjacent)
throws CSSException;
}
|