java.lang.Object
org.apache.taglibs.rdc.scxml.SCXMLDigester
- public class SCXMLDigester
- extends java.lang.Object
The SCXMLDigester can be used to:
a) Digest a SCXML file placed in a web application context
b) Obtain a Digester instance configured with rules for SCXML digestion
c) Serialize an SCXML object (primarily for debugging)
|
Nested Class Summary |
static class |
SCXMLDigester.DigestSrcAttributeRule
Custom digestion rule for external sources, that is, the src attribute of
the <state> element |
static class |
SCXMLDigester.SetExecutableParentRule
Custom digestion rule for setting Executable parent of Action elements |
static class |
SCXMLDigester.UpdateModelRule
Custom digestion rule for establishing necessary associations within the
SCXML object, which include:
1) Updation of the SCXML object's global targets Map
2) Obtaining a handle to the SCXML object's NotificationRegistry
|
|
Method Summary |
private static void |
addActionRules(java.lang.String xp,
org.apache.commons.digester.ExtendedBaseRules scxmlRules)
|
private static void |
addActionRulesTuple(java.lang.String xp,
org.apache.commons.digester.ExtendedBaseRules scxmlRules,
java.lang.Class klass)
|
private static void |
addHandlerRules(java.lang.String xp,
org.apache.commons.digester.ExtendedBaseRules scxmlRules)
|
private static void |
addHistoryRules(java.lang.String xp,
org.apache.commons.digester.ExtendedBaseRules scxmlRules,
PathResolver sc,
org.apache.taglibs.rdc.scxml.model.SCXML scxml)
|
private static void |
addIfRules(java.lang.String xp,
org.apache.commons.digester.ExtendedBaseRules scxmlRules)
|
private static void |
addInitialRule(java.lang.String xp,
org.apache.commons.digester.ExtendedBaseRules scxmlRules,
PathResolver sc,
org.apache.taglibs.rdc.scxml.model.SCXML scxml)
|
private static void |
addParallelRules(java.lang.String xp,
org.apache.commons.digester.ExtendedBaseRules scxmlRules,
org.apache.taglibs.rdc.scxml.model.SCXML scxml)
|
private static void |
addParentRule(java.lang.String xp,
org.apache.commons.digester.ExtendedBaseRules scxmlRules,
int parent)
|
private static void |
addPseudoStatePropertiesRules(java.lang.String xp,
org.apache.commons.digester.ExtendedBaseRules scxmlRules,
PathResolver sc)
|
private static void |
addSimpleRulesTuple(java.lang.String xp,
org.apache.commons.digester.ExtendedBaseRules scxmlRules,
java.lang.Class klass,
java.lang.String[] args,
java.lang.String[] props,
java.lang.String addMethod)
|
private static void |
addStatePropertiesRules(java.lang.String xp,
org.apache.commons.digester.ExtendedBaseRules scxmlRules,
PathResolver sc)
|
private static void |
addStateRules(java.lang.String xp,
org.apache.commons.digester.ExtendedBaseRules scxmlRules,
org.apache.taglibs.rdc.scxml.model.SCXML scxml,
PathResolver sc,
int parent)
|
private static void |
addTransitionRules(java.lang.String xp,
org.apache.commons.digester.ExtendedBaseRules scxmlRules,
java.lang.String setNextMethod)
|
static org.apache.taglibs.rdc.scxml.model.SCXML |
digest(javax.servlet.ServletContext sc,
java.lang.String file,
org.xml.sax.ErrorHandler errHandler,
Context evalCtx,
Evaluator evalEngine)
Convenience method for the RDC SCXML DM strategy impl |
static org.apache.taglibs.rdc.scxml.model.SCXML |
digest(java.net.URL scxmlURL,
org.xml.sax.ErrorHandler errHandler,
Context evalCtx,
Evaluator evalEngine)
API for standalone usage. |
private static org.apache.commons.digester.ExtendedBaseRules |
initRules(org.apache.taglibs.rdc.scxml.model.SCXML scxml,
PathResolver sc)
|
private static org.apache.commons.digester.Digester |
newInstance(org.apache.taglibs.rdc.scxml.model.SCXML scxml,
PathResolver sc)
|
private static boolean |
serializeActions(java.lang.StringBuffer b,
java.util.List l,
java.lang.String indent)
|
private static void |
serializeHistory(java.lang.StringBuffer b,
java.util.List l,
java.lang.String indent)
|
private static void |
serializeIf(java.lang.StringBuffer b,
org.apache.taglibs.rdc.scxml.model.If IF,
java.lang.String indent)
|
private static void |
serializeInitial(java.lang.StringBuffer b,
org.apache.taglibs.rdc.scxml.model.Initial i,
java.lang.String indent)
|
private static void |
serializeOnEntry(java.lang.StringBuffer b,
org.apache.taglibs.rdc.scxml.model.TransitionTarget t,
java.lang.String indent)
|
private static void |
serializeOnExit(java.lang.StringBuffer b,
org.apache.taglibs.rdc.scxml.model.TransitionTarget t,
java.lang.String indent)
|
private static void |
serializeParallel(java.lang.StringBuffer b,
org.apache.taglibs.rdc.scxml.model.Parallel p,
java.lang.String indent)
|
static java.lang.String |
serializeSCXML(org.apache.taglibs.rdc.scxml.model.SCXML scxml)
Serialize this SCXML object (primarily for debugging) |
private static void |
serializeState(java.lang.StringBuffer b,
org.apache.taglibs.rdc.scxml.model.State s,
java.lang.String indent)
|
private static void |
serializeTarget(java.lang.StringBuffer b,
org.apache.taglibs.rdc.scxml.model.Transition t,
java.lang.String indent)
|
private static void |
serializeTransition(java.lang.StringBuffer b,
org.apache.taglibs.rdc.scxml.model.Transition t,
java.lang.String indent)
|
private static void |
serializeTransitionTargetAttributes(java.lang.StringBuffer b,
org.apache.taglibs.rdc.scxml.model.TransitionTarget t)
|
private static void |
updateParallel(org.apache.taglibs.rdc.scxml.model.Parallel p,
java.util.Map targets,
Context evalCtx,
Evaluator evalEngine)
|
private static void |
updateSCXML(org.apache.taglibs.rdc.scxml.model.SCXML scxml,
Context evalCtx,
Evaluator evalEngine)
|
private static void |
updateState(org.apache.taglibs.rdc.scxml.model.State s,
java.util.Map targets,
Context evalCtx,
Evaluator evalEngine)
|
private static void |
updateTransition(org.apache.taglibs.rdc.scxml.model.Transition t,
java.util.Map targets)
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ERR_PARSE_FAIL
private static final java.lang.String ERR_PARSE_FAIL
- See Also:
- Constant Field Values
log
private static org.apache.commons.logging.Log log
XP_SM
private static final java.lang.String XP_SM
- See Also:
- Constant Field Values
XP_SM_ST
private static final java.lang.String XP_SM_ST
- See Also:
- Constant Field Values
XP_ST_ST
private static final java.lang.String XP_ST_ST
- See Also:
- Constant Field Values
XP_PAR_ST
private static final java.lang.String XP_PAR_ST
- See Also:
- Constant Field Values
XP_TR_TAR_ST
private static final java.lang.String XP_TR_TAR_ST
- See Also:
- Constant Field Values
XP_ST_PAR
private static final java.lang.String XP_ST_PAR
- See Also:
- Constant Field Values
XP_IF
private static final java.lang.String XP_IF
- See Also:
- Constant Field Values
XP_ONEN
private static final java.lang.String XP_ONEN
- See Also:
- Constant Field Values
XP_ONEX
private static final java.lang.String XP_ONEX
- See Also:
- Constant Field Values
XP_INI
private static final java.lang.String XP_INI
- See Also:
- Constant Field Values
XP_HIST
private static final java.lang.String XP_HIST
- See Also:
- Constant Field Values
XP_TR
private static final java.lang.String XP_TR
- See Also:
- Constant Field Values
XP_TAR
private static final java.lang.String XP_TAR
- See Also:
- Constant Field Values
XP_ST
private static final java.lang.String XP_ST
- See Also:
- Constant Field Values
XP_EXT
private static final java.lang.String XP_EXT
- See Also:
- Constant Field Values
XP_VAR
private static final java.lang.String XP_VAR
- See Also:
- Constant Field Values
XP_ASN
private static final java.lang.String XP_ASN
- See Also:
- Constant Field Values
XP_LOG
private static final java.lang.String XP_LOG
- See Also:
- Constant Field Values
XP_SND
private static final java.lang.String XP_SND
- See Also:
- Constant Field Values
XP_CAN
private static final java.lang.String XP_CAN
- See Also:
- Constant Field Values
XP_EIF
private static final java.lang.String XP_EIF
- See Also:
- Constant Field Values
XP_ELS
private static final java.lang.String XP_ELS
- See Also:
- Constant Field Values
INDENT
private static final java.lang.String INDENT
- See Also:
- Constant Field Values
SCXMLDigester
public SCXMLDigester()
digest
public static org.apache.taglibs.rdc.scxml.model.SCXML digest(javax.servlet.ServletContext sc,
java.lang.String file,
org.xml.sax.ErrorHandler errHandler,
Context evalCtx,
Evaluator evalEngine)
- Convenience method for the RDC SCXML DM strategy impl
digest
public static org.apache.taglibs.rdc.scxml.model.SCXML digest(java.net.URL scxmlURL,
org.xml.sax.ErrorHandler errHandler,
Context evalCtx,
Evaluator evalEngine)
- API for standalone usage.
serializeSCXML
public static java.lang.String serializeSCXML(org.apache.taglibs.rdc.scxml.model.SCXML scxml)
- Serialize this SCXML object (primarily for debugging)
newInstance
private static org.apache.commons.digester.Digester newInstance(org.apache.taglibs.rdc.scxml.model.SCXML scxml,
PathResolver sc)
initRules
private static org.apache.commons.digester.ExtendedBaseRules initRules(org.apache.taglibs.rdc.scxml.model.SCXML scxml,
PathResolver sc)
addStateRules
private static void addStateRules(java.lang.String xp,
org.apache.commons.digester.ExtendedBaseRules scxmlRules,
org.apache.taglibs.rdc.scxml.model.SCXML scxml,
PathResolver sc,
int parent)
addParallelRules
private static void addParallelRules(java.lang.String xp,
org.apache.commons.digester.ExtendedBaseRules scxmlRules,
org.apache.taglibs.rdc.scxml.model.SCXML scxml)
addStatePropertiesRules
private static void addStatePropertiesRules(java.lang.String xp,
org.apache.commons.digester.ExtendedBaseRules scxmlRules,
PathResolver sc)
addInitialRule
private static void addInitialRule(java.lang.String xp,
org.apache.commons.digester.ExtendedBaseRules scxmlRules,
PathResolver sc,
org.apache.taglibs.rdc.scxml.model.SCXML scxml)
addHistoryRules
private static void addHistoryRules(java.lang.String xp,
org.apache.commons.digester.ExtendedBaseRules scxmlRules,
PathResolver sc,
org.apache.taglibs.rdc.scxml.model.SCXML scxml)
addPseudoStatePropertiesRules
private static void addPseudoStatePropertiesRules(java.lang.String xp,
org.apache.commons.digester.ExtendedBaseRules scxmlRules,
PathResolver sc)
addParentRule
private static void addParentRule(java.lang.String xp,
org.apache.commons.digester.ExtendedBaseRules scxmlRules,
int parent)
addTransitionRules
private static void addTransitionRules(java.lang.String xp,
org.apache.commons.digester.ExtendedBaseRules scxmlRules,
java.lang.String setNextMethod)
addHandlerRules
private static void addHandlerRules(java.lang.String xp,
org.apache.commons.digester.ExtendedBaseRules scxmlRules)
addActionRules
private static void addActionRules(java.lang.String xp,
org.apache.commons.digester.ExtendedBaseRules scxmlRules)
addIfRules
private static void addIfRules(java.lang.String xp,
org.apache.commons.digester.ExtendedBaseRules scxmlRules)
addActionRulesTuple
private static void addActionRulesTuple(java.lang.String xp,
org.apache.commons.digester.ExtendedBaseRules scxmlRules,
java.lang.Class klass)
addSimpleRulesTuple
private static void addSimpleRulesTuple(java.lang.String xp,
org.apache.commons.digester.ExtendedBaseRules scxmlRules,
java.lang.Class klass,
java.lang.String[] args,
java.lang.String[] props,
java.lang.String addMethod)
updateSCXML
private static void updateSCXML(org.apache.taglibs.rdc.scxml.model.SCXML scxml,
Context evalCtx,
Evaluator evalEngine)
updateState
private static void updateState(org.apache.taglibs.rdc.scxml.model.State s,
java.util.Map targets,
Context evalCtx,
Evaluator evalEngine)
updateParallel
private static void updateParallel(org.apache.taglibs.rdc.scxml.model.Parallel p,
java.util.Map targets,
Context evalCtx,
Evaluator evalEngine)
updateTransition
private static void updateTransition(org.apache.taglibs.rdc.scxml.model.Transition t,
java.util.Map targets)
serializeState
private static void serializeState(java.lang.StringBuffer b,
org.apache.taglibs.rdc.scxml.model.State s,
java.lang.String indent)
serializeParallel
private static void serializeParallel(java.lang.StringBuffer b,
org.apache.taglibs.rdc.scxml.model.Parallel p,
java.lang.String indent)
serializeInitial
private static void serializeInitial(java.lang.StringBuffer b,
org.apache.taglibs.rdc.scxml.model.Initial i,
java.lang.String indent)
serializeHistory
private static void serializeHistory(java.lang.StringBuffer b,
java.util.List l,
java.lang.String indent)
serializeTransitionTargetAttributes
private static void serializeTransitionTargetAttributes(java.lang.StringBuffer b,
org.apache.taglibs.rdc.scxml.model.TransitionTarget t)
serializeTransition
private static void serializeTransition(java.lang.StringBuffer b,
org.apache.taglibs.rdc.scxml.model.Transition t,
java.lang.String indent)
serializeTarget
private static void serializeTarget(java.lang.StringBuffer b,
org.apache.taglibs.rdc.scxml.model.Transition t,
java.lang.String indent)
serializeOnEntry
private static void serializeOnEntry(java.lang.StringBuffer b,
org.apache.taglibs.rdc.scxml.model.TransitionTarget t,
java.lang.String indent)
serializeOnExit
private static void serializeOnExit(java.lang.StringBuffer b,
org.apache.taglibs.rdc.scxml.model.TransitionTarget t,
java.lang.String indent)
serializeActions
private static boolean serializeActions(java.lang.StringBuffer b,
java.util.List l,
java.lang.String indent)
serializeIf
private static void serializeIf(java.lang.StringBuffer b,
org.apache.taglibs.rdc.scxml.model.If IF,
java.lang.String indent)