|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectcom.github.fge.jsonschema.core.keyword.syntax.checkers.AbstractSyntaxChecker
public abstract class AbstractSyntaxChecker
Base abstract syntax checker
Apart from providing a convenient base to create a syntax checker of your
own, it also provides message templates with the appropriate information and
a customized exception provider (throwing a InvalidSchemaException
instead of the base ProcessingException.
| Field Summary | |
|---|---|
protected String |
keyword
The keyword name |
| Constructor Summary | |
|---|---|
protected |
AbstractSyntaxChecker(String keyword,
NodeType first,
NodeType... other)
Main constructor |
| Method Summary | |
|---|---|
void |
checkSyntax(Collection<JsonPointer> pointers,
MessageBundle bundle,
ProcessingReport report,
SchemaTree tree)
Main syntax checking function |
protected abstract void |
checkValue(Collection<JsonPointer> pointers,
MessageBundle bundle,
ProcessingReport report,
SchemaTree tree)
Method which all syntax checkers extending this class must implement |
protected JsonNode |
getNode(SchemaTree tree)
Convenience method to retrieve the keyword's value |
EnumSet<NodeType> |
getValidTypes()
|
protected ProcessingMessage |
newMsg(SchemaTree tree,
MessageBundle bundle,
String key)
Provide a new message for reporting purposes |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected final String keyword
| Constructor Detail |
|---|
protected AbstractSyntaxChecker(String keyword,
NodeType first,
NodeType... other)
keyword - the keyword namefirst - the first valid type for this keyword's valueother - other valid types for this keyword's value (if any)| Method Detail |
|---|
public final EnumSet<NodeType> getValidTypes()
getValidTypes in interface SyntaxChecker
public final void checkSyntax(Collection<JsonPointer> pointers,
MessageBundle bundle,
ProcessingReport report,
SchemaTree tree)
throws ProcessingException
This method only checks that the keyword's type is of the correct
type, and reports an error if it isn't; if it is, it handles the rest
of syntax checking to checkValue(Collection, MessageBundle,
ProcessingReport, SchemaTree).
checkSyntax in interface SyntaxCheckerpointers - the list of JSON Pointers to fill (see description)bundle - the message bundle to usereport - the processing report to usetree - the schema
InvalidSchemaException - keyword is invalid
ProcessingException - an error is detected, and the report is
configured to throw an exception on error.
protected abstract void checkValue(Collection<JsonPointer> pointers,
MessageBundle bundle,
ProcessingReport report,
SchemaTree tree)
throws ProcessingException
At this point, it is known that the keyword's value has at least the correct type.
pointers - the list of JSON Pointers to fill (see description)bundle - the message bundle to usereport - the processing report to usetree - the schema
InvalidSchemaException - keyword is invalid
ProcessingException
protected final ProcessingMessage newMsg(SchemaTree tree,
MessageBundle bundle,
String key)
tree - the schema treebundle - the message bundle to usekey - the message
ProcessingMessageProcessingMessage.setMessage(String)protected final JsonNode getNode(SchemaTree tree)
tree - the tree to extract the keyword's value from
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||