Class RestrictedRealDatatype
- java.lang.Object
-
- openllet.core.datatypes.types.real.RestrictedRealDatatype
-
- All Implemented Interfaces:
DataRange<java.lang.Number>
,RestrictedDatatype<java.lang.Number>
public class RestrictedRealDatatype extends java.lang.Object implements RestrictedDatatype<java.lang.Number>
Title: Restricted Real Datatype
Description: A subset of the value space of owl:real. TODO add support for TOTAL_DIGITS & FRACTION_DIGITS
Copyright: Copyright (c) 2009
Company: Clark & Parsia, LLC.
- Author:
- Mike Smith
-
-
Field Summary
-
Fields inherited from interface openllet.core.datatypes.RestrictedDatatype
UNSUPPORTED_FORMAT, UNSUPPORTED_VALUE
-
-
Constructor Summary
Constructors Constructor Description RestrictedRealDatatype(Datatype<? extends java.lang.Number> datatype, IntegerInterval ints, ContinuousRealInterval decimals, ContinuousRealInterval rationals)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description RestrictedDatatype<java.lang.Number>
applyConstrainingFacet(openllet.aterm.ATermAppl facet, java.lang.Object value)
Apply a constraining facet to further restrict the value spaceboolean
contains(java.lang.Object value)
Check if a data range contains a particular valueboolean
containsAtLeast(int n)
Check that a data range contains a minimum number of elementsRestrictedDatatype<java.lang.Number>
exclude(java.util.Collection<?> values)
Exclude specific elements from the _data range.Datatype<? extends java.lang.Number>
getDatatype()
Query for the base datatype of a restricted datatype.java.lang.Number
getValue(int i)
Deprecated.RestrictedDatatype<java.lang.Number>
intersect(RestrictedDatatype<?> other, boolean negated)
Intersect this range with another range.boolean
isEmpty()
Convenience method equivalent to!
boolean
isEnumerable()
Query if values in the _data range can be enumerated.boolean
isFinite()
Query if there are a finite number of values in the _data range.int
size()
Deprecated.java.lang.String
toString()
RestrictedDatatype<java.lang.Number>
union(RestrictedDatatype<?> other)
Union this range with another range.java.util.Iterator<java.lang.Number>
valueIterator()
Get a (possibly infinite) iterator over values in the _data range.
-
-
-
Constructor Detail
-
RestrictedRealDatatype
public RestrictedRealDatatype(Datatype<? extends java.lang.Number> datatype, IntegerInterval ints, ContinuousRealInterval decimals, ContinuousRealInterval rationals)
-
-
Method Detail
-
applyConstrainingFacet
public RestrictedDatatype<java.lang.Number> applyConstrainingFacet(openllet.aterm.ATermAppl facet, java.lang.Object value)
Description copied from interface:RestrictedDatatype
Apply a constraining facet to further restrict the value space- Specified by:
applyConstrainingFacet
in interfaceRestrictedDatatype<java.lang.Number>
- Parameters:
facet
- the constraining facet name (typically a URI)value
- the value for the constraining facet. This is not necessarily in the value space of the base datatype (e.g., length facet values on string types are not)- Returns:
- the further restricted value space
-
contains
public boolean contains(java.lang.Object value)
Description copied from interface:DataRange
Check if a data range contains a particular value
-
containsAtLeast
public boolean containsAtLeast(int n)
Description copied from interface:DataRange
Check that a data range contains a minimum number of elements- Specified by:
containsAtLeast
in interfaceDataRange<java.lang.Number>
- Parameters:
n
- the number of elements- Returns:
true
if the _data range containsn
or more elements,false
otherwise
-
exclude
public RestrictedDatatype<java.lang.Number> exclude(java.util.Collection<?> values)
Description copied from interface:RestrictedDatatype
Exclude specific elements from the _data range. Used when a restricted _data range is in a conjunction with a negative enumeration. Elements invalues
that are not contained in the restriction are ignored.- Specified by:
exclude
in interfaceRestrictedDatatype<java.lang.Number>
- Parameters:
values
- The values to exclude- Returns:
- A new
RestrictedDatatype
-
getDatatype
public Datatype<? extends java.lang.Number> getDatatype()
Description copied from interface:RestrictedDatatype
Query for the base datatype of a restricted datatype. This is not necessarily a primitive datatype.- Specified by:
getDatatype
in interfaceRestrictedDatatype<java.lang.Number>
- Returns:
- the base datatype
-
getValue
@Deprecated public java.lang.Number getValue(int i)
Deprecated.Description copied from interface:DataRange
Return a value from an enumerable _data range. Necessary to support LiteralValueBranch shiftTryNext
-
intersect
public RestrictedDatatype<java.lang.Number> intersect(RestrictedDatatype<?> other, boolean negated)
Description copied from interface:RestrictedDatatype
Intersect this range with another range. It must be the case thatgetDatatype().getPrimitiveDatatype().equals( other.getDatatype.getPrimiveDatatype()
- Specified by:
intersect
in interfaceRestrictedDatatype<java.lang.Number>
- Parameters:
other
- restricted datatype to merge into thisnegated
-true
ifother
is negated,false
else- Returns:
- a new
RestrictedDatatype
, representing the intersection ofthis
andother
-
isEmpty
public boolean isEmpty()
Description copied from interface:DataRange
Convenience method equivalent to!containsAtLeast(0)
-
isEnumerable
public boolean isEnumerable()
Description copied from interface:DataRange
Query if values in the _data range can be enumerated.- Specified by:
isEnumerable
in interfaceDataRange<java.lang.Number>
- Returns:
true
if the _data range is enumerable,false
otherwise
-
isFinite
public boolean isFinite()
Description copied from interface:DataRange
Query if there are a finite number of values in the _data range.
-
size
@Deprecated public int size()
Deprecated.Description copied from interface:DataRange
Return the size of the _data range. Necessary to support LiteralValueBranch constructor
-
union
public RestrictedDatatype<java.lang.Number> union(RestrictedDatatype<?> other)
Description copied from interface:RestrictedDatatype
Union this range with another range. It must be the case thatgetDatatype().getPrimitiveDatatype().equals( other.getDatatype.getPrimiveDatatype()
- Specified by:
union
in interfaceRestrictedDatatype<java.lang.Number>
- Parameters:
other
- restricted datatype to merge with this- Returns:
- a new
RestrictedDatatype
, representing the intersection ofthis
andother
-
valueIterator
public java.util.Iterator<java.lang.Number> valueIterator()
Description copied from interface:DataRange
Get a (possibly infinite) iterator over values in the _data range.- Specified by:
valueIterator
in interfaceDataRange<java.lang.Number>
- Returns:
- an
Iterator
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-