org.raml.parser.rule
Class DefaultTupleRule<K extends org.yaml.snakeyaml.nodes.Node,V extends org.yaml.snakeyaml.nodes.Node>

java.lang.Object
  extended by org.raml.parser.rule.DefaultTupleRule<K,V>
All Implemented Interfaces:
NodeRule<org.yaml.snakeyaml.nodes.Node>, TupleRule<K,org.yaml.snakeyaml.nodes.Node>
Direct Known Subclasses:
ImplicitMapEntryRule, MapTupleRule, MapWithListValueTupleRule, PojoTupleRule, SequenceTupleRule, SimpleRule, UnknownTupleRule, UriParametersRule

public class DefaultTupleRule<K extends org.yaml.snakeyaml.nodes.Node,V extends org.yaml.snakeyaml.nodes.Node>
extends Object
implements TupleRule<K,org.yaml.snakeyaml.nodes.Node>


Field Summary
protected  Map<String,TupleRule<?,?>> rules
           
 
Constructor Summary
DefaultTupleRule()
           
DefaultTupleRule(String name, TupleHandler handler)
           
DefaultTupleRule(String name, TupleHandler handler, NodeRuleFactory nodeRuleFactory)
           
 
Method Summary
 void addRulesFor(Class<?> pojoClass)
           
 List<ValidationResult> doValidateValue(V value)
           
 TupleHandler getHandler()
           
 K getKey()
           
 String getName()
           
 NodeRuleFactory getNodeRuleFactory()
           
 TupleRule<?,?> getParentTupleRule()
           
 TupleRule<?,?> getRootTupleRule()
           
 TupleRule<?,?> getRuleByFieldName(String fieldName)
           
 TupleRule<?,?> getRuleForTuple(org.yaml.snakeyaml.nodes.NodeTuple nodeTuple)
           
 Class<?>[] getValueNodeType()
           
 boolean isRequired()
           
protected  boolean isValidValueNodeType(Class valueNodeClass)
           
 List<ValidationResult> onRuleEnd()
          Called when the ruled was ended to verify all mandatory fields are present
 void setHandler(TupleHandler tupleHandler)
           
 void setName(String name)
           
 void setNestedRules(Map<String,TupleRule<?,?>> rules)
           
 void setNodeRuleFactory(NodeRuleFactory nodeRuleFactory)
           
 void setParentTupleRule(TupleRule<?,?> parent)
           
 void setRequired(boolean required)
           
 void setValueType(Type valueType)
           
 List<ValidationResult> validateKey(K key)
           
 List<ValidationResult> validateValue(org.yaml.snakeyaml.nodes.Node value)
          Validates the given value
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

rules

protected Map<String,TupleRule<?,?>> rules
Constructor Detail

DefaultTupleRule

public DefaultTupleRule()

DefaultTupleRule

public DefaultTupleRule(String name,
                        TupleHandler handler,
                        NodeRuleFactory nodeRuleFactory)

DefaultTupleRule

public DefaultTupleRule(String name,
                        TupleHandler handler)
Method Detail

isRequired

public boolean isRequired()

setRequired

public void setRequired(boolean required)
Specified by:
setRequired in interface TupleRule<K extends org.yaml.snakeyaml.nodes.Node,org.yaml.snakeyaml.nodes.Node>

setNodeRuleFactory

public void setNodeRuleFactory(NodeRuleFactory nodeRuleFactory)
Specified by:
setNodeRuleFactory in interface TupleRule<K extends org.yaml.snakeyaml.nodes.Node,org.yaml.snakeyaml.nodes.Node>

setNestedRules

public void setNestedRules(Map<String,TupleRule<?,?>> rules)
Specified by:
setNestedRules in interface TupleRule<K extends org.yaml.snakeyaml.nodes.Node,org.yaml.snakeyaml.nodes.Node>

setHandler

public void setHandler(TupleHandler tupleHandler)
Specified by:
setHandler in interface TupleRule<K extends org.yaml.snakeyaml.nodes.Node,org.yaml.snakeyaml.nodes.Node>

getHandler

public TupleHandler getHandler()
Specified by:
getHandler in interface TupleRule<K extends org.yaml.snakeyaml.nodes.Node,org.yaml.snakeyaml.nodes.Node>

validateKey

public List<ValidationResult> validateKey(K key)
Specified by:
validateKey in interface TupleRule<K extends org.yaml.snakeyaml.nodes.Node,org.yaml.snakeyaml.nodes.Node>

validateValue

public final List<ValidationResult> validateValue(org.yaml.snakeyaml.nodes.Node value)
Description copied from interface: NodeRule
Validates the given value

Specified by:
validateValue in interface NodeRule<org.yaml.snakeyaml.nodes.Node>
Parameters:
value - The value to validate
Returns:

doValidateValue

public List<ValidationResult> doValidateValue(V value)

isValidValueNodeType

protected boolean isValidValueNodeType(Class valueNodeClass)

getValueNodeType

public Class<?>[] getValueNodeType()

onRuleEnd

public List<ValidationResult> onRuleEnd()
Description copied from interface: NodeRule
Called when the ruled was ended to verify all mandatory fields are present

Specified by:
onRuleEnd in interface NodeRule<org.yaml.snakeyaml.nodes.Node>
Returns:

getKey

public K getKey()
Specified by:
getKey in interface TupleRule<K extends org.yaml.snakeyaml.nodes.Node,org.yaml.snakeyaml.nodes.Node>

setName

public void setName(String name)
Specified by:
setName in interface TupleRule<K extends org.yaml.snakeyaml.nodes.Node,org.yaml.snakeyaml.nodes.Node>

setValueType

public void setValueType(Type valueType)
Specified by:
setValueType in interface TupleRule<K extends org.yaml.snakeyaml.nodes.Node,org.yaml.snakeyaml.nodes.Node>

addRulesFor

public void addRulesFor(Class<?> pojoClass)

getNodeRuleFactory

public NodeRuleFactory getNodeRuleFactory()

getRuleForTuple

public TupleRule<?,?> getRuleForTuple(org.yaml.snakeyaml.nodes.NodeTuple nodeTuple)
Specified by:
getRuleForTuple in interface TupleRule<K extends org.yaml.snakeyaml.nodes.Node,org.yaml.snakeyaml.nodes.Node>

setParentTupleRule

public void setParentTupleRule(TupleRule<?,?> parent)
Specified by:
setParentTupleRule in interface TupleRule<K extends org.yaml.snakeyaml.nodes.Node,org.yaml.snakeyaml.nodes.Node>

getName

public String getName()
Specified by:
getName in interface TupleRule<K extends org.yaml.snakeyaml.nodes.Node,org.yaml.snakeyaml.nodes.Node>

getRuleByFieldName

public TupleRule<?,?> getRuleByFieldName(String fieldName)
Specified by:
getRuleByFieldName in interface TupleRule<K extends org.yaml.snakeyaml.nodes.Node,org.yaml.snakeyaml.nodes.Node>

getParentTupleRule

public TupleRule<?,?> getParentTupleRule()
Specified by:
getParentTupleRule in interface TupleRule<K extends org.yaml.snakeyaml.nodes.Node,org.yaml.snakeyaml.nodes.Node>

getRootTupleRule

public TupleRule<?,?> getRootTupleRule()
Specified by:
getRootTupleRule in interface TupleRule<K extends org.yaml.snakeyaml.nodes.Node,org.yaml.snakeyaml.nodes.Node>


Copyright © 2013. All rights reserved.