/*
* 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: Condition.java 477010 2006-11-20 02:54:38Z mrglavas $
*/
package org.w3c.css.sac;
/**
* The Interface Condition.
*
* @author Philippe Le Hegaret
* @version $Revision: 477010 $
*/
public interface Condition {
/**
* This condition checks exactly two conditions. example:
*
* <pre class="example">
* .part1:lang(fr)
* </pre>
*
* @see CombinatorCondition
*/
public static final short SAC_AND_CONDITION = 0;
/**
* This condition checks one of two conditions.
*
* @see CombinatorCondition
*/
public static final short SAC_OR_CONDITION = 1;
/**
* This condition checks that a condition can't be applied to a node.
*
* @see NegativeCondition
*/
public static final short SAC_NEGATIVE_CONDITION = 2;
/**
* This condition checks a specified position. example:
*
* <pre class="example">
* :first-child
* </pre>
*
* @see PositionalCondition
*/
public static final short SAC_POSITIONAL_CONDITION = 3;
/**
* This condition checks an attribute. example:
*
* <pre class="example">
* [simple]
* [restart="never"]
* </pre>
*
* @see AttributeCondition
*/
public static final short SAC_ATTRIBUTE_CONDITION = 4;
/**
* This condition checks an id attribute. example:
*
* <pre class="example">
* #myId
* </pre>
*
* @see AttributeCondition
*/
public static final short SAC_ID_CONDITION = 5;
/**
* This condition checks the language of the node. example:
*
* <pre class="example">
* :lang(fr)
* </pre>
*
* @see LangCondition
*/
public static final short SAC_LANG_CONDITION = 6;
/**
* This condition checks for a value in a space-separated values in a
* specified attribute example:
*
* <pre class="example">
* [values~="10"]
* </pre>.
*
* @see AttributeCondition
*/
public static final short SAC_ONE_OF_ATTRIBUTE_CONDITION = 7;
/**
* This condition checks if the value is in a hypen-separated list of values
* in a specified attribute. example:
*
* <pre class="example">
* [languages|="fr"]
* </pre>
*
* @see AttributeCondition
*/
public static final short SAC_BEGIN_HYPHEN_ATTRIBUTE_CONDITION = 8;
/**
* This condition checks for a specified class. example:
*
* <pre class="example">
* .example
* </pre>
*
* @see AttributeCondition
*/
public static final short SAC_CLASS_CONDITION = 9;
/**
* This condition checks for the link pseudo class. example:
*
* <pre class="example">
* :link
* :visited
* :hover
* </pre>
*
* @see AttributeCondition
*/
public static final short SAC_PSEUDO_CLASS_CONDITION = 10;
/**
* This condition checks if a node is the only one in the node list.
*/
public static final short SAC_ONLY_CHILD_CONDITION = 11;
/**
* This condition checks if a node is the only one of his type.
*/
public static final short SAC_ONLY_TYPE_CONDITION = 12;
/**
* This condition checks the content of a node.
*
* @see ContentCondition
*/
public static final short SAC_CONTENT_CONDITION = 13;
/**
* An integer indicating the type of <code>Condition</code>.
*
* @return the condition type
*/
public short getConditionType();
}