Package org.kohsuke.rngom.rngparser.nc
Class NameClass
- java.lang.Object
 - 
- org.kohsuke.rngom.rngparser.nc.NameClass
 
 
- 
- All Implemented Interfaces:
 java.io.Serializable,ParsedNameClass
- Direct Known Subclasses:
 AnyNameExceptNameClass,ChoiceNameClass,NsNameClass,NsNameExceptNameClass,SimpleNameClass
public abstract class NameClass extends java.lang.Object implements ParsedNameClass, java.io.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(javax.xml.namespace.QName name)Returns true if the givenQNameis a valid name for this QName.abstract intcontainsSpecificity(javax.xml.namespace.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.java.util.Set<javax.xml.namespace.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(javax.xml.namespace.QName name)
Returns true if the givenQNameis a valid name for this QName. 
- 
containsSpecificity
public abstract int containsSpecificity(javax.xml.namespace.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 java.util.Set<javax.xml.namespace.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. 
 - 
 
 -