org.apache.xmlbeans
Class QNameSet

java.lang.Object
  extended by org.apache.xmlbeans.QNameSet
All Implemented Interfaces:
java.io.Serializable, QNameSetSpecification

public final class QNameSet
extends java.lang.Object
implements QNameSetSpecification, java.io.Serializable

This interface represents a lattice of finite and infinite sets of QNames. The lattice the minimal one that is closed under union, intersection, and inverse, and contains individual QNames as well as entire namespaces. Here is a summary of the two kinds of QNameSets:

Notice that a finite set of QNames is a degenerate case of the first category outlined above:

See Also:
QNameSetBuilder, Serialized Form

Field Summary
static QNameSet ALL
          The QNameSet containing all QNames.
static QNameSet EMPTY
          The empty QNameSet.
static QNameSet LOCAL
          The QNameSet containing all QNames in the local (no-)namespace.
static QNameSet NONLOCAL
          The QNameSet containing all QNames except for those in the local (no-)namespace.
 
Method Summary
 boolean contains(javax.xml.namespace.QName name)
          True if this ModelTransitionSet contains the given qname.
 boolean containsAll(QNameSetSpecification set)
          True if the given set is a subset of this one.
 java.util.Set excludedQNamesInIncludedURIs()
          The set of QNames excluded from the set even though they are within a namespace that is otherwise fully included in the set.
 java.util.Set excludedURIs()
          Namespaces that are fully excluded from the set except for a finite number of individual QName exceptions.
static QNameSet forArray(javax.xml.namespace.QName[] includedQNames)
          Returns a QNameSet based on the given array of included QNames
static QNameSet forSets(java.util.Set excludedURIs, java.util.Set includedURIs, java.util.Set excludedQNamesInIncludedURIs, java.util.Set includedQNamesInExcludedURIs)
          Returns a QNameSet based on the given sets of excluded URIs, included URIs, excluded QNames in included namespaces, and included QNames in excluded namespaces.
static QNameSet forSpecification(QNameSetSpecification spec)
          Returns a QNameSet with the same contents as the given QNameSetSpecification.
static QNameSet forWildcardNamespaceString(java.lang.String wildcard, java.lang.String targetURI)
          Returns a QNameSet corresponding to the given wildcard namespace string.
 java.util.Set includedQNamesInExcludedURIs()
          The set of QNames included in the set even though they are within a namespace that is otherwise fully included in the set.
 java.util.Set includedURIs()
          Namespaces that are fully included in set except for a finite number of individual QName exceptions.
 QNameSet intersect(QNameSetSpecification set)
          Returns a new QNameSet that is the intersection of this one and another.
 QNameSet inverse()
          Returns a new QNameSet that is the inverse of this one.
 boolean isAll()
          True if this ModelTransitionSet contains all QNames.
 boolean isDisjoint(QNameSetSpecification set)
          True if the given set is disjoint from this one.
 boolean isEmpty()
          True if this ModelTransitionSet contains no QNames.
static QNameSet singleton(javax.xml.namespace.QName name)
          Returns a QNameSet containing only the given QName.
 java.lang.String toString()
          Returns a string representation useful for debugging, subject to change.
 QNameSet union(QNameSetSpecification set)
          Returns a new QNameSet that is the union of this one and another.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

EMPTY

public static final QNameSet EMPTY
The empty QNameSet.


ALL

public static final QNameSet ALL
The QNameSet containing all QNames.


LOCAL

public static final QNameSet LOCAL
The QNameSet containing all QNames in the local (no-)namespace.


NONLOCAL

public static final QNameSet NONLOCAL
The QNameSet containing all QNames except for those in the local (no-)namespace.

Method Detail

forSets

public static QNameSet forSets(java.util.Set excludedURIs,
                               java.util.Set includedURIs,
                               java.util.Set excludedQNamesInIncludedURIs,
                               java.util.Set includedQNamesInExcludedURIs)
Returns a QNameSet based on the given sets of excluded URIs, included URIs, excluded QNames in included namespaces, and included QNames in excluded namespaces.

Parameters:
excludedURIs - the finite set of namespace URI strings to exclude from the set, or null if this set is infinite
includedURIs - the finite set of namespace URI strings to include in the set, or null if this set is infinite
excludedQNamesInIncludedURIs - the finite set of exceptional QNames to exclude from the included namespaces
excludedQNamesInIncludedURIs - the finite set of exceptional QNames to include that are in the excluded namespaces
Returns:
the constructed QNameSet

forArray

public static QNameSet forArray(javax.xml.namespace.QName[] includedQNames)
Returns a QNameSet based on the given array of included QNames

Parameters:
includedQNames - the array of included QNames

forSpecification

public static QNameSet forSpecification(QNameSetSpecification spec)
Returns a QNameSet with the same contents as the given QNameSetSpecification.

Returns:
the copied QNameSet

forWildcardNamespaceString

public static QNameSet forWildcardNamespaceString(java.lang.String wildcard,
                                                  java.lang.String targetURI)
Returns a QNameSet corresponding to the given wildcard namespace string. This is a space-separated list of URIs, plus special tokens as specified in the XML Schema specification (##any, ##other, ##targetNamespace, ##local).

Returns:
the constructed QNameSet

singleton

public static QNameSet singleton(javax.xml.namespace.QName name)
Returns a QNameSet containing only the given QName.

Returns:
the constructed QNameSet

contains

public boolean contains(javax.xml.namespace.QName name)
True if this ModelTransitionSet contains the given qname.

Specified by:
contains in interface QNameSetSpecification

isAll

public boolean isAll()
True if this ModelTransitionSet contains all QNames.

Specified by:
isAll in interface QNameSetSpecification

isEmpty

public boolean isEmpty()
True if this ModelTransitionSet contains no QNames.

Specified by:
isEmpty in interface QNameSetSpecification

intersect

public QNameSet intersect(QNameSetSpecification set)
Returns a new QNameSet that is the intersection of this one and another.

Specified by:
intersect in interface QNameSetSpecification
Parameters:
set - the set to insersect with
Returns:
the intersection

union

public QNameSet union(QNameSetSpecification set)
Returns a new QNameSet that is the union of this one and another.

Specified by:
union in interface QNameSetSpecification
Parameters:
set - the set to union with
Returns:
the union

inverse

public QNameSet inverse()
Returns a new QNameSet that is the inverse of this one.

Specified by:
inverse in interface QNameSetSpecification

containsAll

public boolean containsAll(QNameSetSpecification set)
True if the given set is a subset of this one.

Specified by:
containsAll in interface QNameSetSpecification
Parameters:
set - the set to test
Returns:
true if this contains all QNames contained by the given set

isDisjoint

public boolean isDisjoint(QNameSetSpecification set)
True if the given set is disjoint from this one.

Specified by:
isDisjoint in interface QNameSetSpecification
Parameters:
set - the set to test
Returns:
true if the set is disjoint from this set

excludedURIs

public java.util.Set excludedURIs()
Namespaces that are fully excluded from the set except for a finite number of individual QName exceptions. Returns null if this set is infinite.

Specified by:
excludedURIs in interface QNameSetSpecification
Returns:
the set of excluded namespace URI strings

includedURIs

public java.util.Set includedURIs()
Namespaces that are fully included in set except for a finite number of individual QName exceptions. Returns null if this set is infinite.

Specified by:
includedURIs in interface QNameSetSpecification
Returns:
the set of included namespace URI strings

excludedQNamesInIncludedURIs

public java.util.Set excludedQNamesInIncludedURIs()
The set of QNames excluded from the set even though they are within a namespace that is otherwise fully included in the set.

Specified by:
excludedQNamesInIncludedURIs in interface QNameSetSpecification
Returns:
the set of excluded QNames from within includedURI namespaces

includedQNamesInExcludedURIs

public java.util.Set includedQNamesInExcludedURIs()
The set of QNames included in the set even though they are within a namespace that is otherwise fully included in the set.

Specified by:
includedQNamesInExcludedURIs in interface QNameSetSpecification
Returns:
the set of included QNames from within excludedURI namespaces

toString

public java.lang.String toString()
Returns a string representation useful for debugging, subject to change.

Overrides:
toString in class java.lang.Object