com.steadystate.css.parser.selectors.DirectAdjacentSelectorImpl Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of cssparser Show documentation
Show all versions of cssparser Show documentation
A CSS parser which implements SAC (the Simple API for CSS).
/*
* CSS Parser Project
*
* Copyright (C) 1999-2011 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:[email protected]
*
*/
package com.steadystate.css.parser.selectors;
import java.io.Serializable;
import org.w3c.css.sac.Selector;
import org.w3c.css.sac.SiblingSelector;
import org.w3c.css.sac.SimpleSelector;
import com.steadystate.css.parser.Locatable;
import com.steadystate.css.parser.LocatableImpl;
/**
* @author David Schweinsberg
*/
public class DirectAdjacentSelectorImpl extends LocatableImpl implements SiblingSelector, Serializable {
private static final long serialVersionUID = -7328602345833826516L;
private short nodeType_;
private Selector selector_; // child
private SimpleSelector siblingSelector_; // direct adjacent
public void setNodeType(final short nodeType) {
nodeType_ = nodeType;
}
public void setSelector(final Selector child) {
selector_ = child;
if (child instanceof Locatable) {
setLocator(((Locatable) child).getLocator());
}
else if (child == null) {
setLocator(null);
}
}
public void setSiblingSelector(final SimpleSelector directAdjacent) {
siblingSelector_ = directAdjacent;
}
public DirectAdjacentSelectorImpl(final short nodeType,
final Selector child, final SimpleSelector directAdjacent) {
setNodeType(nodeType);
setSelector(child);
setSiblingSelector(directAdjacent);
}
public DirectAdjacentSelectorImpl() {
}
public short getNodeType() {
return nodeType_;
}
public short getSelectorType() {
return Selector.SAC_DIRECT_ADJACENT_SELECTOR;
}
public Selector getSelector() {
return selector_;
}
public SimpleSelector getSiblingSelector() {
return siblingSelector_;
}
public String toString() {
return selector_.toString() + " + " + siblingSelector_.toString();
}
}