Package nz.org.riskscape.engine.types
Class RelationType
java.lang.Object
nz.org.riskscape.engine.types.RelationType
- All Implemented Interfaces:
ContainingType
,Type
Represents a Relation
using Riskscape's type system. Gives information about what sort of
values the relation will yield via getMemberType()
.
-
Field Summary
Modifier and TypeFieldDescriptionstatic final ComplexTypeConstructor
static final TypeInformation
static final RelationType
Useful constant that represents a relation of any kind, in as much as a relation with no specific members is going to accept any other relation. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionasStruct()
Attempt to convert the given value in to one represented by this type.boolean
int
estimateSize
(Object entry) Estimate the number of bytes used to serialize the given value to an output stream.int
hashCode()
Class<?>
The underlying java class used to represent this type.void
toBytes
(DataOutputStream os, Object toWrite) toString()
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface nz.org.riskscape.engine.types.ContainingType
visit
Methods inherited from interface nz.org.riskscape.engine.types.Type
checkForNull, find, findAllowNull, getUnwrappedType, isA, isNullable, isNumeric, isWrapped, toString, unwrap
-
Field Details
-
TYPE_CONSTRUCTOR
-
TYPE_INFORMATION
-
WILD
Useful constant that represents a relation of any kind, in as much as a relation with no specific members is going to accept any other relation.
-
-
Constructor Details
-
RelationType
-
-
Method Details
-
coerce
Description copied from interface:Type
Attempt to convert the given value in to one represented by this type.
- Specified by:
coerce
in interfaceType
- Parameters:
value
- The value to coerce- Returns:
- A value that conforms to this type
- Throws:
CoercionException
- if the given object can not be converted to something represented by this type
-
internalType
Description copied from interface:Type
The underlying java class used to represent this type.
- Specified by:
internalType
in interfaceType
-
asStruct
-
estimateSize
Description copied from interface:Type
Estimate the number of bytes used to serialize the given value to an output stream.
- Specified by:
estimateSize
in interfaceType
- Parameters:
entry
- the value of this type to measure. Must be ofType.internalType()
or aClassCastException
is going to happen- Returns:
- the estimated number of bytes, or zero if no estimation was possible.
-
toBytes
- Specified by:
toBytes
in interfaceType
- Throws:
IOException
-
fromBytes
- Specified by:
fromBytes
in interfaceType
- Throws:
IOException
-
equals
-
hashCode
public int hashCode() -
toString
-
getContainedType
- Specified by:
getContainedType
in interfaceContainingType
- Returns:
- The type that this
ContainingType
contains.
-
getMemberType
-