Package com.streambase.sb
Class CompleteDataType.FunctionType
- java.lang.Object
-
- com.streambase.sb.CompleteDataType
-
- com.streambase.sb.CompleteDataType.FunctionType
-
- All Implemented Interfaces:
Serializable
- Enclosing class:
- CompleteDataType
public static class CompleteDataType.FunctionType extends CompleteDataType
Function type- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.streambase.sb.CompleteDataType
CompleteDataType.CaptureType, CompleteDataType.FunctionType, CompleteDataType.ListType, CompleteDataType.TupleType
-
-
Field Summary
-
Fields inherited from class com.streambase.sb.CompleteDataType
NULL_TO_TYPE_SCORE, SCORE_FAIL, SCORE_PASS, type, TYPE_TO_TYPE_SCORE, WILDCARD_SCORE
-
-
Constructor Summary
Constructors Constructor Description FunctionType(Schema arguments, CompleteDataType returnType)Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected booleancanAssignFromImpl(CompleteDataType other)Method for subclasses to override if they have a broader concept of type.booleanequals(Object obj)booleanequalTypes(CompleteDataType completeType)SchemagetArgumentSchema()For function types, return the argument schema.CompleteDataTypegetReturnType()For function types, return the return type of the function.inthashCode()longrateCoercion(CompleteDataType to)calculate the coercion score to get coerce this → type - by default returns SCORE_PASS or SCORE_FAIL based on equalsStringtoHumanString(SchemaUtil.SchemaProvider schemaProvider)Return a String describing the type suitable for error messages.-
Methods inherited from class com.streambase.sb.CompleteDataType
canAssignFrom, equalBaseTypes, findSuperType, forBlob, forBlobList, forBool, forBoolean, forBoolList, forCapture, forDouble, forDoubleList, forFunction, forInt, forIntList, forList, forLong, forLongList, forString, forStringList, forTimestamp, forTimestampList, forTuple, getCaptureName, getDataType, getElementType, getName, getSchema, rateCoercion, toHumanString, toString
-
-
-
-
Constructor Detail
-
FunctionType
public FunctionType(Schema arguments, CompleteDataType returnType)
Constructor- Parameters:
arguments- Function argumentsreturnType- Function return type
-
-
Method Detail
-
toHumanString
public String toHumanString(SchemaUtil.SchemaProvider schemaProvider)
Description copied from class:CompleteDataTypeReturn a String describing the type suitable for error messages.- Specified by:
toHumanStringin classCompleteDataType- Parameters:
schemaProvider- A schema provider to identify named schemas- Returns:
- param a suitable string
-
getArgumentSchema
public Schema getArgumentSchema()
Description copied from class:CompleteDataTypeFor function types, return the argument schema. For other types null is returned.- Overrides:
getArgumentSchemain classCompleteDataType- Returns:
- the function type's argument schema
-
getReturnType
public CompleteDataType getReturnType()
Description copied from class:CompleteDataTypeFor function types, return the return type of the function. For other types, return null.- Overrides:
getReturnTypein classCompleteDataType- Returns:
- the function type's return type
-
equals
public boolean equals(Object obj)
- Overrides:
equalsin classCompleteDataType
-
hashCode
public int hashCode()
- Overrides:
hashCodein classCompleteDataType
-
equalTypes
public boolean equalTypes(CompleteDataType completeType)
-
rateCoercion
public long rateCoercion(CompleteDataType to)
Description copied from class:CompleteDataTypecalculate the coercion score to get coerce this → type - by default returns SCORE_PASS or SCORE_FAIL based on equals- Overrides:
rateCoercionin classCompleteDataType- Parameters:
to- the CType to converse to- Returns:
- the score, use COp.java as a reference for score constants
-
canAssignFromImpl
protected boolean canAssignFromImpl(CompleteDataType other)
Method for subclasses to override if they have a broader concept of type.- Overrides:
canAssignFromImplin classCompleteDataType- Parameters:
other- the other type- Returns:
- type assignment compatibility
-
-