public abstract class Action extends Persistable
Modifier and Type | Field and Description |
---|---|
protected static boolean |
EXCLUDE_TIMESTAMP |
static java.lang.String |
EXTRA_DATA_DEV_CONSOLE |
static java.lang.String |
EXTRA_DATA_NAVIGATOR |
static java.lang.String |
EXTRA_DATA_TERMINATOR |
protected static boolean |
INCLUDE_TIMESTAMP |
Modifier | Constructor and Description |
---|---|
protected |
Action(java.lang.String subclassType,
java.lang.String uid)
For use by subclasses when a translator instantiates the subclass.
|
protected |
Action(java.lang.String subclassType,
java.lang.String uid,
Manifest manifest) |
Modifier and Type | Method and Description |
---|---|
void |
addElementToExtraData(java.lang.String ownerName,
java.lang.String keyName,
java.lang.String value) |
void |
addExtraData(java.lang.String ownerName,
java.util.HashMap<java.lang.String,java.lang.String> obj) |
int |
getAssignmentXId() |
java.lang.String |
getAssignmentXRef() |
protected java.lang.String |
getBaseFingerPrint()
Returns a basic fingerprint common to all Actions.
|
protected java.lang.String |
getBaseFingerPrint(boolean includeTimeStamp)
Returns a basic fingerprint common to all Actions.
|
java.lang.String |
getContentKey() |
java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> |
getExtraData() |
java.util.Map<java.lang.String,java.lang.String> |
getExtraData(java.lang.String owner) |
abstract java.lang.String |
getFingerPrint()
Returns a string, based the content this action refers to, to uniquely identify this action
for the purpose of determining whether actions are duplicates.
|
java.lang.String |
getManifestKey() |
java.lang.String |
getNavigator() |
NetworkState |
getNetworkState() |
java.lang.String |
getPath()
Returns the path of Problem Set IDs that leads to the current problem.
|
java.lang.String |
getTerminator() |
long |
getTimestamp() |
int |
getUserXId() |
java.lang.String |
getUserXRef() |
boolean |
isForMe(Manifest m)
Returns whether the provided
Manifest 's persistence key matches the Manifest
this Action is for. |
boolean |
isForMe(java.lang.String mKey)
Returns whether the provided Manifest persistence key matches the Manifest
this Action is for.
|
boolean |
isScaffolding() |
void |
modifyExtraDataElement(java.lang.String ownerName,
java.lang.String keyName,
java.lang.String value) |
void |
removeExtraDataEntry(java.lang.String ownerName) |
void |
setAssignmentXId(int assignmentXId) |
void |
setAssignmentXRef(java.lang.String assignmentXRef) |
void |
setContentKey(java.lang.String contentKey) |
void |
setExtraData(java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> map) |
void |
setManifestKey(java.lang.String key) |
void |
setNavigator(java.lang.String navigator) |
void |
setNetworkState(NetworkState networkState) |
void |
setPath(java.lang.String pathInfo)
Sets the path of Problem Set IDs that leads to the current problem - main problems only.
|
void |
setScaffolding(boolean isScaffolding) |
void |
setTerminator(java.lang.String terminator) |
void |
setTimestamp(long timestamp) |
void |
setUserXId(int userXId) |
void |
setUserXRef(java.lang.String userXRef) |
boolean |
shouldBePersisted()
Returns whether this Action should be sent to the server for logging.
|
java.lang.String |
toString()
Returns a string representation of this object.
|
createKey, createKey, equals, extractType, extractUID, getKey, getShortKey, getShortKey, getType, getUID, getValidatorUtilities, setValidatorUtilities, validate, validateKey
public static java.lang.String EXTRA_DATA_DEV_CONSOLE
public static java.lang.String EXTRA_DATA_TERMINATOR
public static java.lang.String EXTRA_DATA_NAVIGATOR
protected static boolean INCLUDE_TIMESTAMP
protected static boolean EXCLUDE_TIMESTAMP
protected Action(java.lang.String subclassType, java.lang.String uid, Manifest manifest)
protected Action(java.lang.String subclassType, java.lang.String uid)
uid
- public void setTimestamp(long timestamp)
public long getTimestamp()
public void setManifestKey(java.lang.String key)
public java.lang.String getManifestKey()
public void setNavigator(java.lang.String navigator)
public java.lang.String getNavigator()
public void setTerminator(java.lang.String terminator)
public java.lang.String getTerminator()
public boolean isForMe(java.lang.String mKey)
mKey
- Manifest persistence key to match with the Action's Manifest
persistence key.isForMe(Manifest)
public boolean isForMe(Manifest m)
Manifest
's persistence key matches the Manifest
this Action is for. This is a convenience method for isForMe(String)
.m
- Manifest to match with the Action's Manifest.isForMe(String)
public void setContentKey(java.lang.String contentKey)
public java.lang.String getContentKey()
public boolean isScaffolding()
public void setScaffolding(boolean isScaffolding)
public NetworkState getNetworkState()
public void setNetworkState(NetworkState networkState)
public void setPath(java.lang.String pathInfo)
pathInfo
- Path of Problem Set IDsgetPath()
public java.lang.String getPath()
setPath(String)
public int getUserXId()
public void setUserXId(int userXId)
public java.lang.String getUserXRef()
public void setUserXRef(java.lang.String userXRef)
public int getAssignmentXId()
public void setAssignmentXId(int assignmentXId)
public java.lang.String getAssignmentXRef()
public void setAssignmentXRef(java.lang.String assignmentXRef)
public boolean shouldBePersisted()
public abstract java.lang.String getFingerPrint()
Subclasses must override this base implementation when if fact multiple instances of an Action are expected and acceptable. For example: While there should be one and only one user response with a correct answer, there can be multiple incorrect user responses.
The each subclass can choose to overwrite or modify the return finger print string to reflect its own semantics of uniqueness.
protected java.lang.String getBaseFingerPrint(boolean includeTimeStamp)
includeTimeStamp
- true to include the action's the timestamp;
false to exclude the action's the timestamp.getBaseFingerPrint()
protected java.lang.String getBaseFingerPrint()
getBaseFingerPrint(boolean)
public java.lang.String toString()
Persistable
toString
in interface IsPersistable
toString
in class Persistable
public void setExtraData(java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> map)
public void addExtraData(java.lang.String ownerName, java.util.HashMap<java.lang.String,java.lang.String> obj)
public void addElementToExtraData(java.lang.String ownerName, java.lang.String keyName, java.lang.String value)
public void modifyExtraDataElement(java.lang.String ownerName, java.lang.String keyName, java.lang.String value)
public void removeExtraDataEntry(java.lang.String ownerName)
public java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> getExtraData()
public java.util.Map<java.lang.String,java.lang.String> getExtraData(java.lang.String owner)