SaxEventInterpreter
is Joran's driving class for handling "low-level"
SAX events. It extends SAX DefaultHandler
which invokes various actions
according to
predefined patterns.
Patterns are kept in a RuleStore
which is programmed to store and
then later produce the applicable actions for a given pattern.
The pattern corresponding to a top level <a> element is the string "a".
The pattern corresponding to an element <b> embedded within a top level
<a> element is the string "a/b"
.
The pattern corresponding to an <b> and any level of nesting is "*/b. Thus, the * character placed at the beginning of a pattern serves as a wildcard for the level of nesting. Conceptually, this is very similar to the API of commons-digester. Joran offers several small advantages. First and foremost, it offers support for implicit actions which result in a significant leap in flexibility. Second, in our opinion better error reporting capability. Third, it is self-reliant. It does not depend on other APIs, in particular commons-logging which is too unreliable. Last but not least, Joran is quite tiny and is expected to remain so.
- Author:
- Ceki Gülcü
-
Constructor Summary
ConstructorDescriptionSaxEventInterpreter
(Context context, RuleStore rs, ElementPath initialElementPath, List<SaxEvent> saxEvents) -
Method Summary
Modifier and TypeMethodDescriptionvoid
characters
(BodyEvent be) void
endElement
(EndEvent endEvent) void
void
setImplicitActionSupplier
(Supplier<Action> actionSupplier) void
void
-
Constructor Details
-
SaxEventInterpreter
public SaxEventInterpreter(Context context, RuleStore rs, ElementPath initialElementPath, List<SaxEvent> saxEvents)
-
-
Method Details
-
getEventPlayer
-
getCopyOfElementPath
-
getSaxEventInterpretationContext
-
startDocument
-
startElement
-
characters
-
endElement
-
getLocator
-
setDocumentLocator
-
setImplicitActionSupplier
-
getRuleStore
-