Package io.iworkflow.core.persistence
Class PersistenceImpl
- java.lang.Object
-
- io.iworkflow.core.persistence.PersistenceImpl
-
- All Implemented Interfaces:
DataAttributesRW
,Persistence
,SearchAttributesRW
,StateExecutionLocals
public class PersistenceImpl extends java.lang.Object implements Persistence
-
-
Field Summary
-
Fields inherited from interface io.iworkflow.core.persistence.SearchAttributesRW
DateTimeFormat
-
-
Constructor Summary
Constructors Constructor Description PersistenceImpl(DataAttributesRW dataAttributesRW, SearchAttributesRW searchAttributesRW, StateExecutionLocals stateExecutionLocals)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <T> T
getDataAttribute(java.lang.String key, java.lang.Class<T> type)
java.lang.Boolean
getSearchAttributeBoolean(java.lang.String key)
java.lang.String
getSearchAttributeDatetime(java.lang.String key)
java.lang.Double
getSearchAttributeDouble(java.lang.String key)
java.lang.Long
getSearchAttributeInt64(java.lang.String key)
java.lang.String
getSearchAttributeKeyword(java.lang.String key)
java.util.List<java.lang.String>
getSearchAttributeKeywordArray(java.lang.String key)
java.lang.String
getSearchAttributeText(java.lang.String key)
<T> T
getStateExecutionLocal(java.lang.String key, java.lang.Class<T> type)
Retrieve a local state attribute User code must make sure using the same type for both get and setvoid
recordEvent(java.lang.String key, java.lang.Object... eventData)
Record an arbitrary event in State Start/Decide API for debugging/tracking purposevoid
setDataAttribute(java.lang.String key, java.lang.Object value)
void
setSearchAttributeBoolean(java.lang.String key, java.lang.Boolean value)
void
setSearchAttributeDatetime(java.lang.String key, java.lang.String value)
void
setSearchAttributeDouble(java.lang.String key, java.lang.Double value)
void
setSearchAttributeInt64(java.lang.String key, java.lang.Long value)
void
setSearchAttributeKeyword(java.lang.String key, java.lang.String value)
void
setSearchAttributeKeywordArray(java.lang.String key, java.util.List<java.lang.String> value)
void
setSearchAttributeText(java.lang.String key, java.lang.String value)
void
setStateExecutionLocal(java.lang.String key, java.lang.Object value)
set a local attribute.
-
-
-
Constructor Detail
-
PersistenceImpl
public PersistenceImpl(DataAttributesRW dataAttributesRW, SearchAttributesRW searchAttributesRW, StateExecutionLocals stateExecutionLocals)
-
-
Method Detail
-
getDataAttribute
public <T> T getDataAttribute(java.lang.String key, java.lang.Class<T> type)
- Specified by:
getDataAttribute
in interfaceDataAttributesRW
-
setDataAttribute
public void setDataAttribute(java.lang.String key, java.lang.Object value)
- Specified by:
setDataAttribute
in interfaceDataAttributesRW
-
getSearchAttributeInt64
public java.lang.Long getSearchAttributeInt64(java.lang.String key)
- Specified by:
getSearchAttributeInt64
in interfaceSearchAttributesRW
-
setSearchAttributeInt64
public void setSearchAttributeInt64(java.lang.String key, java.lang.Long value)
- Specified by:
setSearchAttributeInt64
in interfaceSearchAttributesRW
-
getSearchAttributeDouble
public java.lang.Double getSearchAttributeDouble(java.lang.String key)
- Specified by:
getSearchAttributeDouble
in interfaceSearchAttributesRW
-
setSearchAttributeDouble
public void setSearchAttributeDouble(java.lang.String key, java.lang.Double value)
- Specified by:
setSearchAttributeDouble
in interfaceSearchAttributesRW
-
getSearchAttributeBoolean
public java.lang.Boolean getSearchAttributeBoolean(java.lang.String key)
- Specified by:
getSearchAttributeBoolean
in interfaceSearchAttributesRW
-
setSearchAttributeBoolean
public void setSearchAttributeBoolean(java.lang.String key, java.lang.Boolean value)
- Specified by:
setSearchAttributeBoolean
in interfaceSearchAttributesRW
-
getSearchAttributeKeyword
public java.lang.String getSearchAttributeKeyword(java.lang.String key)
- Specified by:
getSearchAttributeKeyword
in interfaceSearchAttributesRW
-
setSearchAttributeKeyword
public void setSearchAttributeKeyword(java.lang.String key, java.lang.String value)
- Specified by:
setSearchAttributeKeyword
in interfaceSearchAttributesRW
-
getSearchAttributeText
public java.lang.String getSearchAttributeText(java.lang.String key)
- Specified by:
getSearchAttributeText
in interfaceSearchAttributesRW
-
setSearchAttributeText
public void setSearchAttributeText(java.lang.String key, java.lang.String value)
- Specified by:
setSearchAttributeText
in interfaceSearchAttributesRW
-
getSearchAttributeDatetime
public java.lang.String getSearchAttributeDatetime(java.lang.String key)
- Specified by:
getSearchAttributeDatetime
in interfaceSearchAttributesRW
-
setSearchAttributeDatetime
public void setSearchAttributeDatetime(java.lang.String key, java.lang.String value)
- Specified by:
setSearchAttributeDatetime
in interfaceSearchAttributesRW
- Parameters:
key
- the search attribute keyvalue
- must be timestamp seconds, or in theSearchAttributesRW.DateTimeFormat
-
getSearchAttributeKeywordArray
public java.util.List<java.lang.String> getSearchAttributeKeywordArray(java.lang.String key)
- Specified by:
getSearchAttributeKeywordArray
in interfaceSearchAttributesRW
-
setSearchAttributeKeywordArray
public void setSearchAttributeKeywordArray(java.lang.String key, java.util.List<java.lang.String> value)
- Specified by:
setSearchAttributeKeywordArray
in interfaceSearchAttributesRW
-
setStateExecutionLocal
public void setStateExecutionLocal(java.lang.String key, java.lang.Object value)
Description copied from interface:StateExecutionLocals
set a local attribute. The scope of the attribute is only within the execution of this state. Usually it's for passing from State Start API to State Decide API User code must make sure using the same type for both get and set- Specified by:
setStateExecutionLocal
in interfaceStateExecutionLocals
- Parameters:
key
- the key of the stateExecutionLocal(scope of the state execution)value
- the value
-
getStateExecutionLocal
public <T> T getStateExecutionLocal(java.lang.String key, java.lang.Class<T> type)
Description copied from interface:StateExecutionLocals
Retrieve a local state attribute User code must make sure using the same type for both get and set- Specified by:
getStateExecutionLocal
in interfaceStateExecutionLocals
- Type Parameters:
T
- the value type- Parameters:
key
- the key of the stateExecutionLocal(scope of the state execution)type
- the value type- Returns:
- the value
-
recordEvent
public void recordEvent(java.lang.String key, java.lang.Object... eventData)
Description copied from interface:StateExecutionLocals
Record an arbitrary event in State Start/Decide API for debugging/tracking purpose- Specified by:
recordEvent
in interfaceStateExecutionLocals
- Parameters:
key
- the key of the event. Within a Start/Decide API, the same key cannot be used for more than once.eventData
- the data of the event.
-
-