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.default booleandefaultEquals(java.lang.Object other)static Recordfrom(com.eclipsesource.json.JsonObject jsonObject)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 java.util.Set<java.lang.String>getFieldSet()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[]default booleanvalidateForJsonability()
-
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
-
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() -
getFieldSet
default java.util.Set<java.lang.String> getFieldSet() -
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
- Returns:
- a shallow (!) copy of this record
-
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() -
validateForJsonability
default boolean validateForJsonability() -
defaultEquals
default boolean defaultEquals(java.lang.Object other)
-