public final class Keyword extends Object
The process is as follows:
SyntaxChecker for this keyword;KeywordValidator;Sample code:
final SyntaxChecker checker = ...;
final Class<? extends KeywordValidator> validatorClass = ...;
final Keyword myKeyword = Keyword.Builder.forKeyword("mykeyword")
.withSyntaxChecker(checker).withValidatorClass(validatorClass)
.build();
// register it into a KeywordBundle, see link below
bundle.registerKeyword(myKeyword);
It is perfectly legal to register a keyword with only a syntax checker, or
only a keyword validator. An example is $schema, which must be a
valid URI (therefore it has a syntax checker) but does not play any role
in instance validation (therefore it has no keyword validator).
This class is thread safe and immutable.
Keyword.Builder,
SyntaxChecker,
KeywordValidator,
KeywordBundle| Modifier and Type | Class and Description |
|---|---|
static class |
Keyword.Builder
Builder class for a new keyword
|
| Modifier and Type | Field and Description |
|---|---|
private String |
name |
private SyntaxChecker |
syntaxChecker |
private Class<? extends KeywordValidator> |
validatorClass |
| Modifier | Constructor and Description |
|---|---|
private |
Keyword(Keyword.Builder builder) |
| Modifier and Type | Method and Description |
|---|---|
String |
getName() |
SyntaxChecker |
getSyntaxChecker() |
Class<? extends KeywordValidator> |
getValidatorClass() |
private final String name
private final SyntaxChecker syntaxChecker
private final Class<? extends KeywordValidator> validatorClass
private Keyword(Keyword.Builder builder)
public String getName()
public SyntaxChecker getSyntaxChecker()
public Class<? extends KeywordValidator> getValidatorClass()
Copyright © 2012. All Rights Reserved.