Package org.kohsuke.rngom.rngparser.nc
Class NameClass
- java.lang.Object
-
- org.kohsuke.rngom.rngparser.nc.NameClass
-
- All Implemented Interfaces:
Serializable
,ParsedNameClass
- Direct Known Subclasses:
AnyNameExceptNameClass
,ChoiceNameClass
,NsNameClass
,NsNameExceptNameClass
,SimpleNameClass
public abstract class NameClass extends Object implements ParsedNameClass, Serializable
Name class is a set ofQName
s.- 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> V
accept(NameClassVisitor<V> visitor)
Visitor pattern support.abstract boolean
contains(QName name)
Returns true if the givenQName
is a valid name for this QName.abstract int
containsSpecificity(QName name)
boolean
hasOverlapWith(NameClass nc2)
Returns true if the intersection between this name class and the specified name class is non-empty.abstract boolean
isOpen()
Returns true if the name class accepts infinite number ofQName
s.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 givenQName
is 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 ofQName
s.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.
-
-