Class FunctionItemType

java.lang.Object
org.rumbledb.types.FunctionItemType
All Implemented Interfaces:
com.esotericsoftware.kryo.KryoSerializable, Serializable, ItemType

public class FunctionItemType extends Object implements ItemType
See Also:
  • Method Details

    • write

      public void write(com.esotericsoftware.kryo.Kryo kryo, com.esotericsoftware.kryo.io.Output output)
      Specified by:
      write in interface com.esotericsoftware.kryo.KryoSerializable
    • read

      public void read(com.esotericsoftware.kryo.Kryo kryo, com.esotericsoftware.kryo.io.Input input)
      Specified by:
      read in interface com.esotericsoftware.kryo.KryoSerializable
    • getName

      public Name getName()
      Specified by:
      getName in interface ItemType
      Returns:
      the itemtype QName if available
    • equals

      public boolean equals(Object other)
      Description copied from interface: ItemType
      Tests for itemType equality.
      Specified by:
      equals in interface ItemType
      Overrides:
      equals in class Object
      Parameters:
      other - another object.
      Returns:
      true it is equal to other, false otherwise.
    • isFunctionItemType

      public boolean isFunctionItemType()
      Specified by:
      isFunctionItemType in interface ItemType
      Returns:
      true it [this] is a function item type.
    • getSignature

      public FunctionSignature getSignature()
      Specified by:
      getSignature in interface ItemType
      Returns:
      the signature of the function item type if available
    • isSubtypeOf

      public boolean isSubtypeOf(ItemType superType)
      Specified by:
      isSubtypeOf in interface ItemType
      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

      public ItemType findLeastCommonSuperTypeWith(ItemType other)
      Specified by:
      findLeastCommonSuperTypeWith in interface ItemType
      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

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

      public ItemType getBaseType()
      Specified by:
      getBaseType in interface ItemType
      Returns:
      the base type for a type, return null for the topmost item type
    • getAllowedFacets

      public Set<FacetTypes> getAllowedFacets()
      Specified by:
      getAllowedFacets in interface ItemType
      Returns:
      a set containing the allowed facets for restricting the type
    • getIdentifierString

      public String getIdentifierString()
      Specified by:
      getIdentifierString in interface ItemType
      Returns:
      a String that uniquely identify an item type
    • toString

      public String toString()
      Specified by:
      toString in interface ItemType
      Overrides:
      toString in class Object
    • isCompatibleWithDataFrames

      public boolean isCompatibleWithDataFrames(RumbleRuntimeConfiguration configuration)
      Description copied from interface: ItemType
      Checks compatibility with DataFrames.
      Specified by:
      isCompatibleWithDataFrames in interface ItemType
      Returns:
      true if compatible with DataFrames and false otherwise.