Class NameClass

java.lang.Object
com.sun.msv.grammar.NameClass
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
AnyNameClass, ChoiceNameClass, DifferenceNameClass, LaxDefaultNameClass, LocalNameClass, NamespaceNameClass, NotNameClass, SimpleNameClass

public abstract class NameClass extends Object implements Serializable
validator of (namespaceURI,localPart) pair. This is equivalent to RELAX NG's "name class".
Author:
Kohsuke KAWAGUCHI
See Also:
  • Field Details

    • NAMESPACE_WILDCARD

      public static final String NAMESPACE_WILDCARD
      wildcard should be accepted by any name class.
      See Also:
    • LOCALNAME_WILDCARD

      public static final String LOCALNAME_WILDCARD
      See Also:
    • ALL

      public static final NameClass ALL
      name class that accepts everything.
    • NONE

      public static final NameClass NONE
      Name class that accepts nothing.
  • Constructor Details

    • NameClass

      public NameClass()
  • Method Details

    • accepts

      public abstract boolean accepts(String namespaceURI, String localName)
      checks if this name class accepts given namespace:localName pair.
      Parameters:
      namespaceURI - namespace URI to be tested. If this value equals to NAMESPACE_WILDCARD, implementation must assume that valid namespace is specified. this twist will be used for error diagnosis.
      localName - local part to be tested. As with namespaceURI, LOCALNAME_WILDCARD will acts as a wild card.
      Returns:
      true if the pair is accepted, false otherwise.
    • accepts

      public final boolean accepts(StringPair name)
    • includes

      public final boolean includes(NameClass rhs)
      Returns true if this name class is a superset of another name class.
    • isNull

      public boolean isNull()
      Returns true if this name class doesn't accept anything.
    • isEqualTo

      public final boolean isEqualTo(NameClass rhs)
      Returns true if this name class represents the same set as the given name class.
    • simplify

      public NameClass simplify()
      Computes the equivalent but simple name class.
    • visit

      public abstract Object visit(NameClassVisitor visitor)
      visitor pattern support
    • intersection

      public static NameClass intersection(NameClass lhs, NameClass rhs)
      Computes the intersection of two name classes.
    • union

      public static NameClass union(NameClass lhs, NameClass rhs)
      Computes the union of two name classes.