Package adams.flow.condition.bool
Class HasJsonValue
- java.lang.Object
-
- adams.core.logging.LoggingObject
-
- adams.core.logging.CustomLoggingLevelObject
-
- adams.core.option.AbstractOptionHandler
-
- adams.flow.condition.bool.AbstractBooleanCondition
-
- adams.flow.condition.bool.HasJsonValue
-
- All Implemented Interfaces:
Destroyable,GlobalInfoSupporter,LoggingLevelHandler,LoggingSupporter,OptionHandler,QuickInfoSupporter,ShallowCopySupporter<BooleanCondition>,SizeOfHandler,Stoppable,BooleanCondition,Serializable
public class HasJsonValue extends AbstractBooleanCondition
Checks whether the specified key is present in the JSON object.
Handles tokens that contain either a JSON string or net.minidev.json.JSONAware objects.
-logging-level <OFF|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST> (property: loggingLevel) The logging level for outputting errors and debugging output. default: WARNING min-user-mode: Expert
-path <adams.core.base.JsonPathExpression> (property: path) The path (or key if not starting with '$') of the value to look for. default: more: https://github.com/json-path/JsonPath
- Author:
- fracpete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected com.jayway.jsonpath.JsonPathm_ActualPaththe compiled path.protected JsonPathExpressionm_Paththe path of the value(s) to obtain.protected booleanm_PathCompiledwhether path has been compiled.-
Fields inherited from class adams.core.option.AbstractOptionHandler
m_OptionManager
-
Fields inherited from class adams.core.logging.LoggingObject
m_Logger, m_LoggingIsEnabled, m_LoggingLevel
-
-
Constructor Summary
Constructors Constructor Description HasJsonValue()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Class[]accepts()Returns the class that the consumer accepts.voiddefineOptions()Adds options to the internal list of options.protected booleandoEvaluate(Actor owner, Token token)Performs the actual evaluation.JsonPathExpressiongetPath()Returns the path (or simple key if not starting with $) of the value(s).StringgetQuickInfo()Returns the quick info string to be displayed in the flow editor.StringglobalInfo()Returns a string describing the object.StringpathTipText()Returns the tip text for this property.protected voidreset()Resets the scheme.voidsetPath(JsonPathExpression value)Sets the path (or simple key if not starting with $) of the value(s).-
Methods inherited from class adams.flow.condition.bool.AbstractBooleanCondition
evaluate, preEvaluate, setUp, shallowCopy, shallowCopy, stopExecution
-
Methods inherited from class adams.core.option.AbstractOptionHandler
cleanUpOptions, destroy, finishInit, getDefaultLoggingLevel, getOptionManager, initialize, loggingLevelTipText, newOptionManager, setLoggingLevel, toCommandLine, toString
-
Methods inherited from class adams.core.logging.LoggingObject
configureLogger, getLogger, getLoggingLevel, initializeLogging, isLoggingEnabled, sizeOf
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface adams.core.logging.LoggingLevelHandler
getLoggingLevel
-
-
-
-
Field Detail
-
m_Path
protected JsonPathExpression m_Path
the path of the value(s) to obtain.
-
m_ActualPath
protected transient com.jayway.jsonpath.JsonPath m_ActualPath
the compiled path.
-
m_PathCompiled
protected transient boolean m_PathCompiled
whether path has been compiled.
-
-
Method Detail
-
globalInfo
public String globalInfo()
Returns a string describing the object.- Specified by:
globalInfoin interfaceGlobalInfoSupporter- Specified by:
globalInfoin classAbstractOptionHandler- Returns:
- a description suitable for displaying in the gui
-
defineOptions
public void defineOptions()
Adds options to the internal list of options.- Specified by:
defineOptionsin interfaceOptionHandler- Overrides:
defineOptionsin classAbstractOptionHandler
-
reset
protected void reset()
Resets the scheme.- Overrides:
resetin classAbstractOptionHandler
-
setPath
public void setPath(JsonPathExpression value)
Sets the path (or simple key if not starting with $) of the value(s).- Parameters:
value- the path or key
-
getPath
public JsonPathExpression getPath()
Returns the path (or simple key if not starting with $) of the value(s).- Returns:
- the path or key
-
pathTipText
public String pathTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
getQuickInfo
public String getQuickInfo()
Returns the quick info string to be displayed in the flow editor.- Specified by:
getQuickInfoin interfaceBooleanCondition- Specified by:
getQuickInfoin interfaceQuickInfoSupporter- Specified by:
getQuickInfoin classAbstractBooleanCondition- Returns:
- the info or null if no info to be displayed
-
accepts
public Class[] accepts()
Returns the class that the consumer accepts.- Specified by:
acceptsin interfaceBooleanCondition- Specified by:
acceptsin classAbstractBooleanCondition- Returns:
- adams.flow.core.Unknown.class
-
doEvaluate
protected boolean doEvaluate(Actor owner, Token token)
Performs the actual evaluation.- Specified by:
doEvaluatein classAbstractBooleanCondition- Parameters:
owner- the owning actortoken- the current token passing through- Returns:
- the result of the evaluation
-
-