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. 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 nested 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], allowDecimal: Boolean): Boolean
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.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()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
isSupportedByPlugin(dataType: DataType, allowDecimal: Boolean): 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
- allowDecimal
if decimal support is enabled
- 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(nesting: TypeSig): TypeSig
Add nested types to this type signature.
Add nested types to this type signature. Note that these do not stack so if nesting has nested types too they are ignored.
- nesting
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()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
tagExprParam(meta: RapidsMeta[_, _, _], exprMeta: BaseExprMeta[_], name: String): 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
- @native() @throws( ... )
-
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
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(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.