org.w3c.css.sac

## Interface SelectorFactory

    public interface SelectorFactory

See Also:
  `Selector`

### Method Summary

All Methods Instance Methods Abstract Methods
`SimpleSelector` `createAnyNodeSelector()` Creates an any node selector.
`CharacterDataSelector` `createCDataSectionSelector(java.lang.String data)` Creates a cdata section node selector.
`DescendantSelector` `createChildSelector(Selector parent, SimpleSelector child)` Creates a child selector.
`CharacterDataSelector` `createCommentSelector(java.lang.String data)` Creates a comment node selector.
`ConditionalSelector` `createConditionalSelector(SimpleSelector selector, Condition condition)` Creates a conditional selector.
`DescendantSelector` `createDescendantSelector(Selector parent, SimpleSelector descendant)` Creates a descendant selector.
`SiblingSelector` `createDirectAdjacentSelector(short nodeType, Selector child, SimpleSelector directAdjacent)` Creates a sibling selector.
`ElementSelector` `createElementSelector(java.lang.String namespaceURI, java.lang.String tagName)` Creates an element selector.
`NegativeSelector` `createNegativeSelector(SimpleSelector selector)` Creates an negative selector.
`ProcessingInstructionSelector` `createProcessingInstructionSelector(java.lang.String target, java.lang.String data)` Creates a processing instruction node selector.
`ElementSelector` `createPseudoElementSelector(java.lang.String namespaceURI, java.lang.String pseudoName)` Creates a pseudo element selector.
`SimpleSelector` `createRootNodeSelector()` Creates an root node selector.
`CharacterDataSelector` `createTextNodeSelector(java.lang.String data)` Creates a text node selector.

### Method Detail

#### createConditionalSelector

    ConditionalSelector createConditionalSelector(SimpleSelector selector,
                                                  Condition condition)
                                           throws CSSException

Creates a conditional selector.

Parameters:
  `selector` - a selector.
  `condition` - a condition
Returns:
  the conditional selector.
Throws:
  `CSSException` - If this selector is not supported.

#### createAnyNodeSelector

    SimpleSelector createAnyNodeSelector()
                                  throws CSSException

Creates an any node selector.

Returns:
  the any node selector.
Throws:
  `CSSException` - If this selector is not supported.

#### createRootNodeSelector

    SimpleSelector createRootNodeSelector()
                                   throws CSSException

Creates an root node selector.

Returns:
  the root node selector.
Throws:
  `CSSException` - If this selector is not supported.

#### createNegativeSelector

    NegativeSelector createNegativeSelector(SimpleSelector selector)
                                     throws CSSException

Creates an negative selector.

Parameters:
  `selector` - a selector.
Returns:
  the negative selector.
Throws:
  `CSSException` - If this selector is not supported.

#### createElementSelector

    ElementSelector createElementSelector(java.lang.String namespaceURI,
                                          java.lang.String tagName)
                                   throws CSSException

Creates an element selector.

Parameters:
  `namespaceURI` - the namespace URI of the element selector.
  `tagName` - the local part of the element name. `NULL` if this element selector can match any element.
Returns:
  the element selector
Throws:
  `CSSException` - If this selector is not supported.

#### createTextNodeSelector

    CharacterDataSelector createTextNodeSelector(java.lang.String data)
                                          throws CSSException

Creates a text node selector.

Parameters:
  `data` - the data
Returns:
  the text node selector
Throws:
  `CSSException` - If this selector is not supported.

#### createCDataSectionSelector

    CharacterDataSelector createCDataSectionSelector(java.lang.String data)
                                              throws CSSException

Creates a cdata section node selector.

Parameters:
  `data` - the data
Returns:
  the cdata section node selector
Throws:
  `CSSException` - If this selector is not supported.

#### createProcessingInstructionSelector

    ProcessingInstructionSelector createProcessingInstructionSelector(java.lang.String target,
                                                                      java.lang.String data)
                                                               throws CSSException

Creates a processing instruction node selector.

Parameters:
  `target` - the target
  `data` - the data
Returns:
  the processing instruction node selector
Throws:
  `CSSException` - If this selector is not supported.

#### createCommentSelector

    CharacterDataSelector createCommentSelector(java.lang.String data)
                                         throws CSSException

Creates a comment node selector.

Parameters:
  `data` - the data
Returns:
  the comment node selector
Throws:
  `CSSException` - If this selector is not supported.

#### createPseudoElementSelector

    ElementSelector createPseudoElementSelector(java.lang.String namespaceURI,
                                                java.lang.String pseudoName)
                                         throws CSSException

Creates a pseudo element selector.

Parameters:
  `pseudoName` - the pseudo element name. `NULL` if this element selector can match any pseudo element.
Returns:
  the element selector
Throws:
  `CSSException` - If this selector is not supported.

#### createDescendantSelector

    DescendantSelector createDescendantSelector(Selector parent,
                                                SimpleSelector descendant)
                                         throws CSSException

Creates a descendant selector.

Parameters:
  `parent` - the parent selector
  `descendant` - the descendant selector
Returns:
  the combinator selector.
Throws:
  `CSSException` - If this selector is not supported.

#### createChildSelector

    DescendantSelector createChildSelector(Selector parent,
                                           SimpleSelector child)
                                    throws CSSException

Creates a child selector.

Parameters:
  `parent` - the parent selector
  `child` - the child selector
Returns:
  the combinator selector.
Throws:
  `CSSException` - If this selector is not supported.

#### createDirectAdjacentSelector

    SiblingSelector createDirectAdjacentSelector(short nodeType,
                                                 Selector child,
                                                 SimpleSelector directAdjacent)
                                          throws CSSException

Creates a sibling selector.

Parameters:
  `nodeType` - the type of nodes in the siblings list.
  `child` - the child selector
  `adjacent` - the direct adjacent selector
Returns:
  the sibling selector with nodeType equals to org.w3c.dom.Node.ELEMENT_NODE
Throws:
  `CSSException` - If this selector is not supported.