/*
* $Id: SelectorFactoryImpl.java,v 1.1 2008/03/20 01:20:17 sdanig Exp $
*
* CSS Parser Project
*
* Copyright (C) 1999-2005 David Schweinsberg. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library 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 the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* To contact the authors of the library:
*
* http://cssparser.sourceforge.net/
* mailto:davidsch@users.sourceforge.net
*/
package com.steadystate.css.parser.selectors;
import org.w3c.css.sac.*;
/**
*
* @author <a href="mailto:davidsch@users.sourceforge.net">David Schweinsberg</a>
* @version $Id: SelectorFactoryImpl.java,v 1.1 2008/03/20 01:20:17 sdanig Exp $
*/
public class SelectorFactoryImpl implements SelectorFactory {
public ConditionalSelector createConditionalSelector(
SimpleSelector selector,
Condition condition) throws CSSException {
return new ConditionalSelectorImpl(selector, condition);
}
public SimpleSelector createAnyNodeSelector() throws CSSException {
throw new CSSException(CSSException.SAC_NOT_SUPPORTED_ERR);
}
public SimpleSelector createRootNodeSelector() throws CSSException {
throw new CSSException(CSSException.SAC_NOT_SUPPORTED_ERR);
}
public NegativeSelector createNegativeSelector(SimpleSelector selector)
throws CSSException {
throw new CSSException(CSSException.SAC_NOT_SUPPORTED_ERR);
}
public ElementSelector createElementSelector(String namespaceURI, String localName)
throws CSSException {
if (namespaceURI != null) {
throw new CSSException(CSSException.SAC_NOT_SUPPORTED_ERR);
}
return new ElementSelectorImpl(localName);
}
public CharacterDataSelector createTextNodeSelector(String data)
throws CSSException {
throw new CSSException(CSSException.SAC_NOT_SUPPORTED_ERR);
}
public CharacterDataSelector createCDataSectionSelector(String data)
throws CSSException {
throw new CSSException(CSSException.SAC_NOT_SUPPORTED_ERR);
}
public ProcessingInstructionSelector createProcessingInstructionSelector(
String target,
String data) throws CSSException {
throw new CSSException(CSSException.SAC_NOT_SUPPORTED_ERR);
}
public CharacterDataSelector createCommentSelector(String data)
throws CSSException {
throw new CSSException(CSSException.SAC_NOT_SUPPORTED_ERR);
}
public ElementSelector createPseudoElementSelector(
String namespaceURI,
String pseudoName) throws CSSException {
if (namespaceURI != null) {
throw new CSSException(CSSException.SAC_NOT_SUPPORTED_ERR);
}
return new PseudoElementSelectorImpl(pseudoName);
}
public DescendantSelector createDescendantSelector(
Selector parent,
SimpleSelector descendant) throws CSSException {
return new DescendantSelectorImpl(parent, descendant);
}
public DescendantSelector createChildSelector(
Selector parent,
SimpleSelector child) throws CSSException {
return new ChildSelectorImpl(parent, child);
}
public SiblingSelector createDirectAdjacentSelector(
short nodeType,
Selector child,
SimpleSelector directAdjacent) throws CSSException {
return new DirectAdjacentSelectorImpl(nodeType, child, directAdjacent);
}
}