final class TypeSig extends AnyRef
A type signature. This is a bit limited in what it supports right now, but can express a set of base types and a separate set of types that can be nested under the base types (child types). It can also express if a particular base type has to be a literal or not.
- Alphabetic
- By Inheritance
- TypeSig
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
def
+(other: TypeSig): TypeSig
Combine two type signatures together.
Combine two type signatures together. Base types and child types will be the union of both as will limitations on literal values.
- other
what to combine with.
- returns
the new signature
-
def
-(other: TypeSig): TypeSig
Remove a type signature.
Remove a type signature. The reverse of +
- other
what to remove
- returns
the new signature
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def areAllSupportedByPlugin(types: Seq[DataType]): Boolean
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
getSupportLevel(dataType: TypeEnum.Value, allowed: TypeSig): SupportLevel
Get the level of support for a given type compared to what Spark supports.
Get the level of support for a given type compared to what Spark supports. Used for documentation.
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def intersect(other: TypeSig): TypeSig
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
isSupportedByPlugin(dataType: DataType): Boolean
Check if this type is supported by the plugin or not.
Check if this type is supported by the plugin or not.
- dataType
the data type to be checked
- returns
true if it is allowed else false.
- def isSupportedBySpark(dataType: DataType): Boolean
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
nested(): TypeSig
Update this type signature to be nested with the initial types too.
Update this type signature to be nested with the initial types too.
- returns
the update type signature
-
def
nested(childTypes: TypeSig): TypeSig
Add child types to this type signature.
Add child types to this type signature. Note that these do not stack so if childTypes has child types too they are ignored.
- childTypes
the basic types to add.
- returns
the new type signature
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def reasonNotSupported(dataType: DataType): Seq[String]
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
tagExprParam(meta: RapidsMeta[_, _, _], exprMeta: BaseExprMeta[_], name: String, willNotWork: (String) ⇒ Unit): Unit
Given an expression tag the associated meta for it to be supported or not.
Given an expression tag the associated meta for it to be supported or not.
- meta
the meta that gets marked for support or not.
- exprMeta
the meta of expression to check against.
- name
the name of the expression (typically a parameter name)
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
def
withAllLit(): TypeSig
All currently supported types can only be literal values.
All currently supported types can only be literal values.
- returns
the new signature.
- def withInitialTypesPsNote(note: String): TypeSig
-
def
withLit(dataTypes: TypeEnum.ValueSet): TypeSig
Add a literal restriction to the signature
Add a literal restriction to the signature
- dataTypes
the types that have to be literal. Will be added if they do not already exist.
- returns
the new signature.
-
def
withLit(dataType: TypeEnum.Value): TypeSig
Add a literal restriction to the signature
Add a literal restriction to the signature
- dataType
the type that has to be literal. Will be added if it does not already exist.
- returns
the new signature.
-
def
withPsNote(dataTypes: Seq[TypeEnum.Value], note: String): TypeSig
Add a note about given types that marks them as partially supported.
Add a note about given types that marks them as partially supported.
- dataTypes
the types this note is for.
- note
the note itself
- returns
the updated TypeSignature.
-
def
withPsNote(dataType: TypeEnum.Value, note: String): TypeSig
Add a note about a given type that marks it as partially supported.
Add a note about a given type that marks it as partially supported.
- dataType
the type this note is for.
- note
the note itself
- returns
the updated TypeSignature.