Interface Record

All Superinterfaces:
EvalContext, java.io.Serializable
All Known Implementing Classes:
MapRecord, PatchingRecord, RecordWrapper

public interface Record
extends java.io.Serializable, EvalContext
Created by moelrue on 03.08.2015.
  • Field Summary

    Fields 
    Modifier and Type Field Description
    static java.lang.String _NULL_  
  • Method Summary

    Modifier and Type Method Description
    default java.util.List asList​(java.lang.String field)
    gets field and transforms Object[] to arraylist in case
    default java.util.Map<java.lang.String,​java.lang.Object> asMap()  
    default java.util.Set asSet​(java.lang.String field)
    gets field and transforms Object[] to HashSet in case
    default java.lang.String asString()  
    default Record copied()  
    default Record deepMerge​(Record record)
    merge all fields from given record to this including nested structures.
    static Record from​(java.lang.Object... keyVals)
    create new json'ish record from key value array.
    static Record from​(java.util.Map<java.lang.String,​java.lang.Object> map)
    create a new record from given key and values
    default <T> java.util.List<T> getAsList​(java.lang.String field)
    see asList
    default boolean getBool​(java.lang.String field)  
    default double getDouble​(java.lang.String field)  
    java.lang.String[] getFields()  
    default int getInt​(java.lang.String field)  
    java.lang.String getKey()  
    default java.lang.Object[] getKeyVals()  
    long getLastModified()  
    default long getLong​(java.lang.String field)  
    default Record getRec​(java.lang.String field)
    return sub-record in case present
    default Record getRecord()  
    default java.lang.String getSafeString​(java.lang.String field)  
    long getSequence()  
    default java.lang.String getString​(java.lang.String field)  
    default Value getValue​(java.lang.String field)  
    default Record haveRec​(java.lang.String field)
    creates and sets an empty record in case
    void internal_incSequence()  
    Record internal_put​(java.lang.String key, java.lang.Object value)  
    void internal_setLastModified​(long tim)  
    default void internal_updateLastModified()  
    Record key​(java.lang.String key)
    take care, kind of dangerous
    default void merge​(Record record)
    copy all fields from given record to this
    default java.lang.Object mget​(java.lang.Object... path)  
    default java.lang.Number mgetNum​(java.lang.Object... path)  
    default java.lang.String mgetString​(java.lang.Object... path)  
    default Record omit​(java.lang.String[] fieldsToOmit)  
    Record put​(java.lang.String field, java.lang.Object value)  
    default Record putTransforming​(java.lang.String field, java.lang.Object value)  
    default Record reduced​(java.lang.String[] reducedFields)  
    default void stripOps()
    remove special operators on this record attributes
    default com.eclipsesource.json.JsonObject toJson()  
    default java.lang.String toPrettyString()  
    static java.lang.Object transform​(java.lang.Object val)
    transform map/collections into Record, Object[] - Map is transformed to Record - a Collection is transformed to Object[]

    Methods inherited from interface org.nustaq.reallive.query.EvalContext

    get
  • Field Details

  • Method Details

    • from

      static Record from​(java.lang.Object... keyVals)
      create new json'ish record from key value array. some value types are transformed / replaced automatically to ensure simple and easy-to-convert data structures - Map is transformed to Record - a Collection is transformed to Object[]
      Parameters:
      keyVals -
      Returns:
    • transform

      static java.lang.Object transform​(java.lang.Object val)
      transform map/collections into Record, Object[] - Map is transformed to Record - a Collection is transformed to Object[]
      Parameters:
      val -
      Returns:
    • from

      static Record from​(java.util.Map<java.lang.String,​java.lang.Object> map)
      create a new record from given key and values
      Parameters:
      map -
      Returns:
    • getKey

      java.lang.String getKey()
    • getLastModified

      long getLastModified()
    • internal_setLastModified

      void internal_setLastModified​(long tim)
    • internal_incSequence

      void internal_incSequence()
    • getSequence

      long getSequence()
    • internal_put

      Record internal_put​(java.lang.String key, java.lang.Object value)
    • internal_updateLastModified

      default void internal_updateLastModified()
    • key

      Record key​(java.lang.String key)
      take care, kind of dangerous
      Parameters:
      key -
    • getFields

      java.lang.String[] getFields()
    • put

      Record put​(java.lang.String field, java.lang.Object value)
    • getValue

      default Value getValue​(java.lang.String field)
      Specified by:
      getValue in interface EvalContext
    • mget

      default java.lang.Object mget​(java.lang.Object... path)
    • mgetNum

      default java.lang.Number mgetNum​(java.lang.Object... path)
    • mgetString

      default java.lang.String mgetString​(java.lang.Object... path)
    • getInt

      default int getInt​(java.lang.String field)
    • getLong

      default long getLong​(java.lang.String field)
    • asList

      default java.util.List asList​(java.lang.String field)
      gets field and transforms Object[] to arraylist in case
      Parameters:
      field -
      Returns:
    • asSet

      default java.util.Set asSet​(java.lang.String field)
      gets field and transforms Object[] to HashSet in case
      Parameters:
      field -
      Returns:
    • putTransforming

      default Record putTransforming​(java.lang.String field, java.lang.Object value)
    • haveRec

      default Record haveRec​(java.lang.String field)
      creates and sets an empty record in case
      Parameters:
      field -
      Returns:
    • getRec

      default Record getRec​(java.lang.String field)
      return sub-record in case present
      Parameters:
      field -
      Returns:
    • getAsList

      default <T> java.util.List<T> getAsList​(java.lang.String field)
      see asList
      Parameters:
      field -
      Returns:
    • getDouble

      default double getDouble​(java.lang.String field)
    • getString

      default java.lang.String getString​(java.lang.String field)
    • getSafeString

      default java.lang.String getSafeString​(java.lang.String field)
    • asString

      default java.lang.String asString()
    • getBool

      default boolean getBool​(java.lang.String field)
    • reduced

      default Record reduced​(java.lang.String[] reducedFields)
    • omit

      default Record omit​(java.lang.String[] fieldsToOmit)
    • copied

      default Record copied()
    • getKeyVals

      default java.lang.Object[] getKeyVals()
    • asMap

      default java.util.Map<java.lang.String,​java.lang.Object> asMap()
      Returns:
      this record as a map
    • merge

      default void merge​(Record record)
      copy all fields from given record to this
      Parameters:
      record -
    • getRecord

      default Record getRecord()
    • stripOps

      default void stripOps()
      remove special operators on this record attributes
    • deepMerge

      default Record deepMerge​(Record record)
      merge all fields from given record to this including nested structures. Assumes pure json data types (String Number Boolean Object[] Record) attribute operators: '+' - insert into array '-' - remove from array '?+' - insert if not present into array
      Parameters:
      record -
    • toPrettyString

      default java.lang.String toPrettyString()
    • toJson

      default com.eclipsesource.json.JsonObject toJson()