| Method from org.apache.xmlbeans.impl.config.NameSet Detail: |
public boolean contains(String name) {
if (_isFinite)
return _finiteSet.contains(name);
else
return !_finiteSet.contains(name);
}
|
public NameSet intersect(NameSet with) {
if (_isFinite)
{
if (with._isFinite)
{
return newInstance(true, intersectFiniteSets(_finiteSet, with._finiteSet));
}
else
{
Set subst = new HashSet();
subst.addAll(_finiteSet);
subst.removeAll(with._finiteSet);
return newInstance(false, subst);
}
}
else
{
if (with._isFinite)
{
Set subst = new HashSet();
subst.addAll(with._finiteSet);
subst.removeAll(_finiteSet);
return newInstance(true, subst);
}
else
{
Set union = new HashSet();
union.addAll(_finiteSet);
union.addAll(with._finiteSet);
return newInstance(false, union);
}
}
}
Returns the intersection of this NameSet with the 'with' NameSet |
public NameSet invert() {
return newInstance(!_isFinite, _finiteSet);
}
Returns an inversion of this NameSet |
static NameSet newInstance(boolean isFinite,
Set finiteSet) {
if ( finiteSet.size()==0 )
if ( isFinite )
return NameSet.EMPTY;
else
return NameSet.EVERYTHING;
else
{
Set fs = new HashSet();
fs.addAll(finiteSet);
return new NameSet(isFinite, fs);
}
}
|
public NameSet substract(NameSet what) {
if (_isFinite)
{
if ( what._isFinite )
{
// it's the subst of _finiteSet with what._finiteSet
Set subst = new HashSet();
subst.addAll(_finiteSet);
subst.removeAll(what._finiteSet);
return newInstance(true, subst);
}
else
{
return newInstance(true, intersectFiniteSets(_finiteSet, what._finiteSet));
}
}
else
{
if ( what._isFinite )
{
// it's the union of _finiteSet with what._finiteSet
Set union = new HashSet();
union.addAll(_finiteSet);
union.addAll(what._finiteSet);
return newInstance(false, union);
}
else
{
// what's in thisSet and it's not in whatSet
Set subst = new HashSet();
subst.addAll(what._finiteSet);
subst.removeAll(_finiteSet);
return newInstance(true, subst);
}
}
}
Returns the result of substracting 'what' NameSet from this NameSet |
public NameSet substractFrom(NameSet from) {
return from.substract(this);
}
Returns the result of substracting this NameSet from 'from' NameSet |
public NameSet union(NameSet with) {
if (_isFinite)
{
if (with._isFinite)
{
Set union = new HashSet();
union.addAll(_finiteSet);
union.addAll(with._finiteSet);
return newInstance(true, union);
}
else
{
Set subst = new HashSet();
subst.addAll(with._finiteSet);
subst.removeAll(_finiteSet);
return newInstance(false, subst);
}
}
else
{
if (with._isFinite)
{
Set subst = new HashSet();
subst.addAll(_finiteSet);
subst.removeAll(with._finiteSet);
return newInstance(false, subst);
}
else
{
return newInstance(false, intersectFiniteSets(_finiteSet, with._finiteSet));
}
}
}
Returns the union of this NameSet with the 'with' NameSet. |