public AtomicDatatype enumeration( Set enum_ ) { GenericIntervalList result = new GenericIntervalList( valueSpace ); for( Iterator i = enum_.iterator(); i.hasNext(); ) { Number number = (Number) i.next(); result.addInterval( number, number ); } return create( result ); }
public AtomicDatatype intersection( AtomicDatatype dt ) { if( this == dt ) return this; GenericIntervalList result = new GenericIntervalList( valueSpace ); if( dt instanceof BaseXSDAtomicType ) { BaseXSDAtomicType other = (BaseXSDAtomicType) dt; GenericIntervalList original = new GenericIntervalList( values ); Iterator it = other.values.iterator(); while( it.hasNext() ) { GenericIntervalList.Interval interval = (GenericIntervalList.Interval) it.next(); GenericIntervalList o = new GenericIntervalList( original ); o.restrictToInterval( interval ); result.addIntervalList( o ); } } return create( result ); }
public Datatype singleton( Object value ) { GenericIntervalList result = new GenericIntervalList( valueSpace ); result.addInterval( value, value ); return create( result ); }
protected BaseXSDAtomicType( ATermAppl name, ValueSpace valueSpace ) { super( name ); this.valueSpace = valueSpace; this.values = new GenericIntervalList( valueSpace.getMinValue(), valueSpace.getMaxValue(), valueSpace ); }
public AtomicDatatype union( AtomicDatatype dt ) { if( this == dt ) return this; GenericIntervalList result = new GenericIntervalList( valueSpace ); if( dt instanceof BaseXSDAtomicType ) { BaseXSDAtomicType other = (BaseXSDAtomicType) dt; result.addIntervalList( values ); result.addIntervalList( other.values ); } return create( result ); }
public AtomicDatatype difference( AtomicDatatype dt ) { if( this == dt ) return EmptyDatatype.instance; GenericIntervalList result = new GenericIntervalList( valueSpace ); if( dt instanceof BaseXSDAtomicType ) { BaseXSDAtomicType other = (BaseXSDAtomicType) dt; result.addIntervalList( values ); result.removeIntervalList( other.values ); } return create( result ); }
GenericIntervalList intervalList = new GenericIntervalList( values );