Package com.sun.tools.rngom.nc
Class NameClass
- java.lang.Object
-
- com.sun.tools.rngom.nc.NameClass
-
- All Implemented Interfaces:
ParsedNameClass,Serializable
- Direct Known Subclasses:
AnyNameExceptNameClass,ChoiceNameClass,NsNameClass,NsNameExceptNameClass,SimpleNameClass
public abstract class NameClass extends Object implements ParsedNameClass, Serializable
Name class is a set ofQNames.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description NameClass()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract <V> Vaccept(NameClassVisitor<V> visitor)Visitor pattern support.abstract booleancontains(QName name)Returns true if the givenQNameis a valid name for this QName.abstract intcontainsSpecificity(QName name)booleanhasOverlapWith(NameClass nc2)Returns true if the intersection between this name class and the specified name class is non-empty.abstract booleanisOpen()Returns true if the name class accepts infinite number ofQNames.Set<QName>listNames()If the name class is closed (IOW !isOpen()), return the set of names in this name class.
-
-
-
Field Detail
-
ANY
public static final NameClass ANY
Sigleton instance that represents "anyName".
-
NULL
public static final NameClass NULL
Sigleton instance that accepts no name.This instance is useful when doing boolean arithmetic over name classes (such as computing an inverse of a given name class, etc), even though it can never appear in a RELAX NG surface syntax.
Internally, this instance is also used for:
- Used to recover from errors during parsing.
- Mark element patterns with
<notAllowed/>content model.
-
-
Method Detail
-
contains
public abstract boolean contains(QName name)
Returns true if the givenQNameis a valid name for this QName.
-
containsSpecificity
public abstract int containsSpecificity(QName name)
-
accept
public abstract <V> V accept(NameClassVisitor<V> visitor)
Visitor pattern support.
-
isOpen
public abstract boolean isOpen()
Returns true if the name class accepts infinite number ofQNames.Intuitively, this method returns true if the name class is some sort of wildcard.
-
listNames
public Set<QName> listNames()
If the name class is closed (IOW !isOpen()), return the set of names in this name class. Otherwise the behavior is undefined.
-
hasOverlapWith
public final boolean hasOverlapWith(NameClass nc2)
Returns true if the intersection between this name class and the specified name class is non-empty.
-
-