public class ReflectiveMessageValidator extends java.lang.Object implements MessageConsumer
MessageIssueException
is thrown.Constructor and Description |
---|
ReflectiveMessageValidator()
When created with this constructor, the validator acts as a message sink.
|
ReflectiveMessageValidator(MessageConsumer delegate)
Forward messages to the given consumer unless an issue is found.
|
Modifier and Type | Method and Description |
---|---|
void |
consume(Message message)
Consume a single message.
|
protected java.lang.String |
createPathString(java.util.Deque<java.lang.Object> accessorStack) |
protected java.lang.String |
getPropertyName(java.lang.reflect.Method method) |
protected boolean |
isGetter(java.lang.reflect.Method method) |
boolean |
isValid(java.lang.Object object)
Check whether the given object is valid.
|
protected java.util.List<MessageIssue> |
validate(java.lang.Object object) |
protected void |
validate(java.lang.Object object,
java.util.List<MessageIssue> issues,
java.util.Deque<java.lang.Object> objectStack,
java.util.Deque<java.lang.Object> accessorStack)
Validate all fields of the given object.
|
public ReflectiveMessageValidator()
public ReflectiveMessageValidator(MessageConsumer delegate)
public void consume(Message message) throws MessageIssueException, JsonRpcException
MessageConsumer
consume
in interface MessageConsumer
MessageIssueException
- when an issue is found that prevents further processing of the messageJsonRpcException
- when accessing the JSON-RPC communication channel failspublic boolean isValid(java.lang.Object object)
protected java.util.List<MessageIssue> validate(java.lang.Object object)
protected void validate(java.lang.Object object, java.util.List<MessageIssue> issues, java.util.Deque<java.lang.Object> objectStack, java.util.Deque<java.lang.Object> accessorStack) throws java.lang.Exception
java.lang.Exception
protected java.lang.String createPathString(java.util.Deque<java.lang.Object> accessorStack)
protected boolean isGetter(java.lang.reflect.Method method)
protected java.lang.String getPropertyName(java.lang.reflect.Method method)