Package org.nustaq.reallive.api
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.ListasList(java.lang.String field)gets field and transforms Object[] to arraylist in casedefault java.util.Map<java.lang.String,java.lang.Object>asMap()default java.util.SetasSet(java.lang.String field)gets field and transforms Object[] to HashSet in casedefault java.lang.StringasString()default Recordcopied()default RecorddeepMerge(Record record)merge all fields from given record to this including nested structures.static Recordfrom(java.lang.Object... keyVals)create new json'ish record from key value array.static Recordfrom(java.util.Map<java.lang.String,java.lang.Object> map)create a new record from given key and valuesdefault <T> java.util.List<T>getAsList(java.lang.String field)see asListdefault booleangetBool(java.lang.String field)default doublegetDouble(java.lang.String field)java.lang.String[]getFields()default intgetInt(java.lang.String field)java.lang.StringgetKey()default java.lang.Object[]getKeyVals()longgetLastModified()default longgetLong(java.lang.String field)default RecordgetRec(java.lang.String field)return sub-record in case presentdefault RecordgetRecord()default java.lang.StringgetSafeString(java.lang.String field)longgetSequence()default java.lang.StringgetString(java.lang.String field)default ValuegetValue(java.lang.String field)default RecordhaveRec(java.lang.String field)creates and sets an empty record in casevoidinternal_incSequence()Recordinternal_put(java.lang.String key, java.lang.Object value)voidinternal_setLastModified(long tim)default voidinternal_updateLastModified()Recordkey(java.lang.String key)take care, kind of dangerousdefault voidmerge(Record record)copy all fields from given record to thisdefault java.lang.Objectmget(java.lang.Object... path)default java.lang.NumbermgetNum(java.lang.Object... path)default java.lang.StringmgetString(java.lang.Object... path)default Recordomit(java.lang.String[] fieldsToOmit)Recordput(java.lang.String field, java.lang.Object value)default RecordputTransforming(java.lang.String field, java.lang.Object value)default Recordreduced(java.lang.String[] reducedFields)default voidstripOps()remove special operators on this record attributesdefault com.eclipsesource.json.JsonObjecttoJson()default java.lang.StringtoPrettyString()static java.lang.Objecttransform(java.lang.Object val)transform map/collections into Record, Object[] - Map is transformed to Record - a Collection is transformed to Object[]
-
Field Details
-
_NULL_
static final java.lang.String _NULL_- See Also:
- Constant Field Values
-
-
Method Details
-
from
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
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
-
internal_updateLastModified
default void internal_updateLastModified() -
key
take care, kind of dangerous- Parameters:
key-
-
getFields
java.lang.String[] getFields() -
put
-
getValue
- Specified by:
getValuein interfaceEvalContext
-
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
-
haveRec
creates and sets an empty record in case- Parameters:
field-- Returns:
-
getRec
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
-
omit
-
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
copy all fields from given record to this- Parameters:
record-
-
getRecord
-
stripOps
default void stripOps()remove special operators on this record attributes -
deepMerge
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()
-