Class ObjectItem

java.lang.Object
org.rumbledb.items.ObjectItem
All Implemented Interfaces:
com.esotericsoftware.kryo.KryoSerializable, Serializable, Item

public class ObjectItem extends Object implements Item
See Also:
  • Constructor Details

    • ObjectItem

      public ObjectItem()
    • ObjectItem

      public ObjectItem(List<String> keys, List<Item> values, ExceptionMetadata itemMetadata)
    • ObjectItem

      public ObjectItem(Map<String,List<Item>> keyValuePairs)
      ObjectItem constructor from the given map data structure. For each key, the corresponding values list is turned into an ArrayItem if it contains more than a single element.
      Parameters:
      keyValuePairs - LinkedHashMap -- this map implementation preserves order of the keys -- essential for functionality
  • Method Details

    • equals

      public boolean equals(Object otherItem)
      Description copied from interface: Item
      Tests for logical equality. The semantics are that of the eq operator.
      Specified by:
      equals in interface Item
      Overrides:
      equals in class Object
      Parameters:
      otherItem - another item.
      Returns:
      true it is equal to other, false otherwise.
    • getKeys

      public List<String> getKeys()
      Description copied from interface: Item
      Returns the keys of the item, if it is an object.
      Specified by:
      getKeys in interface Item
      Returns:
      the list of the keys.
    • getValues

      public List<Item> getValues()
      Description copied from interface: Item
      Returns the values of the item, if it is an object.
      Specified by:
      getValues in interface Item
      Returns:
      the list of the value items.
    • getItemByKey

      public Item getItemByKey(String s)
      Description copied from interface: Item
      Returns the value associated with a specific key, if it is an object.
      Specified by:
      getItemByKey in interface Item
      Parameters:
      s - a key.
      Returns:
      the value associated with key.
    • putItemByKey

      public void putItemByKey(String s, Item value)
      Description copied from interface: Item
      Adds a key-value pair, if it is an object item.
      Specified by:
      putItemByKey in interface Item
      Parameters:
      s - a key.
      value - a value.
    • removeItemByKey

      public void removeItemByKey(String s)
      Description copied from interface: Item
      Removes a key-value pair, if it is an object item.
      Specified by:
      removeItemByKey in interface Item
      Parameters:
      s - a key.
    • isObject

      public boolean isObject()
      Description copied from interface: Item
      Tests whether the item is an object.
      Specified by:
      isObject in interface Item
      Returns:
      true if it is an object, false otherwise.
    • 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
    • hashCode

      public int hashCode()
      Description copied from interface: Item
      Computes a hash code.
      Specified by:
      hashCode in interface Item
      Overrides:
      hashCode in class Object
      Returns:
      a hash code as an int.
    • getDynamicType

      public ItemType getDynamicType()
      Description copied from interface: Item
      Returns the dynamic type of the item (only for error message purposes).
      Specified by:
      getDynamicType in interface Item
      Returns:
      the dynamic type as an item type.
    • getEffectiveBooleanValue

      public boolean getEffectiveBooleanValue()
      Description copied from interface: Item
      Returns the effective boolean value of the item, if atomic.
      Specified by:
      getEffectiveBooleanValue in interface Item
      Returns:
      the effective boolean value.
    • getMutabilityLevel

      public int getMutabilityLevel()
      Description copied from interface: Item
      Returns the mutability level of the item.
      Specified by:
      getMutabilityLevel in interface Item
      Returns:
      an int representing nestedness of the item inside transform expressions.
    • setMutabilityLevel

      public void setMutabilityLevel(int mutabilityLevel)
      Description copied from interface: Item
      Sets the mutability level of the item to a supplied value.
      Specified by:
      setMutabilityLevel in interface Item
      Parameters:
      mutabilityLevel - new mutability level.
    • getTopLevelID

      public long getTopLevelID()
      Description copied from interface: Item
      Returns the top level ID of the item.
      Specified by:
      getTopLevelID in interface Item
      Returns:
      int representing the rowID of the item within a DeltaFile.
    • setTopLevelID

      public void setTopLevelID(long topLevelID)
      Description copied from interface: Item
      Sets the top level ID of the item to a supplied value.
      Specified by:
      setTopLevelID in interface Item
      Parameters:
      topLevelID - new top level ID.
    • getTopLevelOrder

      public double getTopLevelOrder()
      Description copied from interface: Item
      Returns the top level order (sequence number) identifier
      Specified by:
      getTopLevelOrder in interface Item
      Returns:
      double representing rowOrder of the tuple
    • setTopLevelOrder

      public void setTopLevelOrder(double topLevelOrder)
      Description copied from interface: Item
      Sets the top level order parameter (rowOrder)
      Specified by:
      setTopLevelOrder in interface Item
      Parameters:
      topLevelOrder - new rowOrder value
    • getPathIn

      public String getPathIn()
      Description copied from interface: Item
      Returns the path from the top level object of a DeltaFile for the item.
      Specified by:
      getPathIn in interface Item
      Returns:
      String representing the path of the item from the top level within a DeltaFile.
    • setPathIn

      public void setPathIn(String pathIn)
      Description copied from interface: Item
      Sets the path from the top level object of a DeltaFile for the item to a supplied value.
      Specified by:
      setPathIn in interface Item
      Parameters:
      pathIn - new path from top level.
    • getTableLocation

      public String getTableLocation()
      Description copied from interface: Item
      Returns the location of the DeltaFile for the item.
      Specified by:
      getTableLocation in interface Item
      Returns:
      String representing the location of the DeltaFile for the item.
    • setTableLocation

      public void setTableLocation(String location)
      Description copied from interface: Item
      Sets the location of the DeltaFile for the item to a supplied value.
      Specified by:
      setTableLocation in interface Item
      Parameters:
      location - new location of the DeltaFile for the item.
    • getSparkSQLValue

      public String getSparkSQLValue()
      Description copied from interface: Item
      Returns the SparkSQL value of the item for use in a query.
      Specified by:
      getSparkSQLValue in interface Item
      Returns:
      String representing the SparkSQL value of the item.
    • getSparkSQLValue

      public String getSparkSQLValue(ItemType itemType)
      Description copied from interface: Item
      Returns the SparkSQL value of the item for use in a query.
      Specified by:
      getSparkSQLValue in interface Item
      Returns:
      String representing the SparkSQL value of the item.
    • getSparkSQLType

      public String getSparkSQLType()
      Description copied from interface: Item
      Returns the SparkSQL type of the item for use in a query.
      Specified by:
      getSparkSQLType in interface Item
      Returns:
      String representing the SparkSQL type of the item.
    • atomizedValue

      public List<Item> atomizedValue()
      Specified by:
      atomizedValue in interface Item
    • getVariantValue

      public Object getVariantValue()
      Description copied from interface: Item
      Returns the Object containing the converted value of the item for a DataFrame. For use to build Variant columns.
      Specified by:
      getVariantValue in interface Item
      Returns:
      Object representing the converted value of the item.