Interface ItemType

All Superinterfaces:
com.esotericsoftware.kryo.KryoSerializable, Serializable
All Known Implementing Classes:
ArrayItemType, AtomicItemType, DerivedAtomicItemType, FunctionItemType, ItemItemType, ItemTypeReference, JsonItemType, ObjectItemType, UnionItemType

public interface ItemType extends Serializable, com.esotericsoftware.kryo.KryoSerializable
  • Field Details

  • Method Details

    • equals

      boolean equals(Object other)
      Tests for itemType equality.
      Overrides:
      equals in class Object
      Parameters:
      other - another object.
      Returns:
      true it is equal to other, false otherwise.
    • isEqualTo

      default boolean isEqualTo(ItemType otherType)
      Tests for itemType equality.
      Parameters:
      otherType - another item type.
      Returns:
      true it is equal to other, false otherwise.
    • isTopmostItemType

      default boolean isTopmostItemType()
      Returns:
      true it [this] is the topmost item type.
    • isAtomicItemType

      default boolean isAtomicItemType()
      Returns:
      true it [this] is a subtype of an atomic item type.
    • isObjectItemType

      default boolean isObjectItemType()
      Returns:
      true it [this] is an object item type.
    • isArrayItemType

      default boolean isArrayItemType()
      Returns:
      true it [this] is an array item type.
    • isJsonItemType

      default boolean isJsonItemType()
      Returns:
      test if [this] is a subptype of a json item type
    • isUnionType

      default boolean isUnionType()
    • isFunctionItemType

      default boolean isFunctionItemType()
      Returns:
      true it [this] is a function item type.
    • isNumeric

      default boolean isNumeric()
      Returns:
      [true] if this is a numeric item type, false otherwise
    • hasName

      default boolean hasName()
      Tests for QName.
      Returns:
      true if [this] item type has a QName
    • getName

      default Name getName()
      Returns:
      the itemtype QName if available
    • getSignature

      default FunctionSignature getSignature()
      Returns:
      the signature of the function item type if available
    • isSubtypeOf

      default boolean isSubtypeOf(ItemType superType)
      Parameters:
      superType - another item type
      Returns:
      true if [this] is a subtype of [superType], any type is considered a subtype of itself. If [this] has a name, then this is determined strictly based on the hierarchy. If [this] does not have a name, then this is determined based on facets.
    • findLeastCommonSuperTypeWith

      default ItemType findLeastCommonSuperTypeWith(ItemType other)
      Parameters:
      other - another item type
      Returns:
      the common supertype between [this] and [other], that would be the LCA in the item type tree of [this] and [other] (does not take into account union types as common ancestor, but only the type tree)
    • getTypeTreeDepth

      int getTypeTreeDepth()
      Returns:
      an int representing the depth of the item type in the type tree ('item' is the root with depth 0)
    • getBaseType

      ItemType getBaseType()
      Returns:
      the base type for a type, return null for the topmost item type
    • isStaticallyCastableAs

      default boolean isStaticallyCastableAs(ItemType other)
      Check at static time if [this] could be casted to [other] item type, requires [this] to be an atomic type
      Parameters:
      other - a strict subtype of atomic item type to which we are trying to cast
      Returns:
      true if it is possible at static time to cast [this] to [other], false otherwise
    • canBePromotedTo

      default boolean canBePromotedTo(ItemType itemType)
      Parameters:
      itemType - another item type
      Returns:
      true if [this] can be promoted to [itemType]
    • isUserDefined

      default boolean isUserDefined()
      Returns:
      [true] if it is a user-defined type, false otherwise
    • isPrimitive

      default boolean isPrimitive()
      Returns:
      [true] if it is a primitive type
    • getPrimitiveType

      default ItemType getPrimitiveType()
      Returns:
      the primitive type for a derived type, throw an error for primitive types
    • getAllowedFacets

      Set<FacetTypes> getAllowedFacets()
      Returns:
      a set containing the allowed facets for restricting the type
    • getEnumerationFacet

      default List<Item> getEnumerationFacet()
      Returns:
      the list of possible values for [this] item type or null if the enumeration facet is not set
    • getConstraintsFacet

      default List<String> getConstraintsFacet()
      Returns:
      the list of constraints in the implementation-defined language for [this] item type (note that this facet is cumulative) or an empty list if the constraints facet is not set
    • getMinLengthFacet

      default Integer getMinLengthFacet()
      Returns:
      the minimum length facet value for [this] item type or null if the restriction is not set
    • getLengthFacet

      default Integer getLengthFacet()
      Returns:
      the length facet value for [this] item type or null if the restriction is not set
    • getMaxLengthFacet

      default Integer getMaxLengthFacet()
      Returns:
      the maximum length facet value for [this] item type or null if the restriction is not set
    • getMinExclusiveFacet

      default Item getMinExclusiveFacet()
      Returns:
      an item representing the minimum possible value (excluded) for [this] item type or null if the restriction is not set
    • getMinInclusiveFacet

      default Item getMinInclusiveFacet()
      Returns:
      an item representing the minimum possible value (included) for [this] item type or null if the restriction is not set
    • getMaxExclusiveFacet

      default Item getMaxExclusiveFacet()
      Returns:
      an item representing the maximum possible value (excluded) for [this] item type or null if the restriction is not set
    • getMaxInclusiveFacet

      default Item getMaxInclusiveFacet()
      Returns:
      an item representing the maximum possible value (included) for [this] item type or null if the restriction is not set
    • getTotalDigitsFacet

      default Integer getTotalDigitsFacet()
      Returns:
      the total digits facet value for [this] item type or null if the restriction is not set
    • getFractionDigitsFacet

      default Integer getFractionDigitsFacet()
      Returns:
      the fraction digits facet value for [this] item type or null if the restriction is not set
    • getExplicitTimezoneFacet

      default TimezoneFacet getExplicitTimezoneFacet()
      Returns:
      the explicit timezone facet value for [this] item type or null if the restriction is not set
    • getObjectContentFacet

      default Map<String,FieldDescriptor> getObjectContentFacet()
      Returns:
      content facet value for object item types (cumulative facet)
    • getClosedFacet

      default boolean getClosedFacet()
      Returns:
      closed facet value for object item types
    • getArrayContentFacet

      default ItemType getArrayContentFacet()
      Returns:
      content facet value for array item types
    • getUnionContentFacet

      default UnionContentDescriptor getUnionContentFacet()
      Returns:
      content facet value for union item types
    • getIdentifierString

      default String getIdentifierString()
      Returns:
      a String that uniquely identify an item type
    • isCompatibleWithDataFrames

      default boolean isCompatibleWithDataFrames(RumbleRuntimeConfiguration configuration)
      Checks compatibility with DataFrames.
      Returns:
      true if compatible with DataFrames and false otherwise.
    • getSparkSQLType

      default String getSparkSQLType()
      Returns the SparkSQL type of the item type for use in a query.
      Returns:
      String representing the SparkSQL type of the item type.
    • toString

      String toString()
      Overrides:
      toString in class Object
    • isResolved

      default boolean isResolved()
    • resolve

      default void resolve(DynamicContext context, ExceptionMetadata metadata)
    • resolve

      default void resolve(StaticContext context, ExceptionMetadata metadata)