org.raml.parser.builder
Class DefaultTupleBuilder<K extends org.yaml.snakeyaml.nodes.Node,V extends org.yaml.snakeyaml.nodes.Node>

java.lang.Object
  extended by org.raml.parser.builder.DefaultTupleBuilder<K,V>
All Implemented Interfaces:
NodeBuilder<V>, TupleBuilder<K,V>
Direct Known Subclasses:
ImplicitMapEntryBuilder, MapTupleBuilder, PojoTupleBuilder, ScalarTupleBuilder, SequenceTupleBuilder

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


Field Summary
protected  Map<String,TupleBuilder<?,?>> builders
           
protected  org.slf4j.Logger logger
           
 
Constructor Summary
DefaultTupleBuilder(TupleHandler tupleHandler)
           
 
Method Summary
 void addBuildersFor(Class<?> documentClass)
           
 void buildKey(Object parent, K tuple)
           
 Object buildValue(Object parent, V node)
          Builds the java model for the given node and set it to the parent object
 NodeBuilder getBuilderForTuple(org.yaml.snakeyaml.nodes.NodeTuple tuple)
          Returns the
 TupleHandler getHandler()
           
 NodeBuilder getParent()
           
protected  void processPojoAnnotations(Object pojo, Object keyFieldName, Object parent)
           
 void setHandler(TupleHandler handler)
           
 void setNestedBuilders(Map<String,TupleBuilder<?,?>> nestedBuilders)
           
 void setParentNodeBuilder(NodeBuilder parentBuilder)
          Sets the parent builder
protected  String unalias(Object pojo, String fieldName)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

builders

protected Map<String,TupleBuilder<?,?>> builders

logger

protected final org.slf4j.Logger logger
Constructor Detail

DefaultTupleBuilder

public DefaultTupleBuilder(TupleHandler tupleHandler)
Method Detail

getBuilderForTuple

public NodeBuilder getBuilderForTuple(org.yaml.snakeyaml.nodes.NodeTuple tuple)
Description copied from interface: TupleBuilder
Returns the

Specified by:
getBuilderForTuple in interface TupleBuilder<K extends org.yaml.snakeyaml.nodes.Node,V extends org.yaml.snakeyaml.nodes.Node>
Returns:

buildValue

public Object buildValue(Object parent,
                         V node)
Description copied from interface: NodeBuilder
Builds the java model for the given node and set it to the parent object

Specified by:
buildValue in interface NodeBuilder<V extends org.yaml.snakeyaml.nodes.Node>
Parameters:
parent - The parent object
node - The node to build the model from
Returns:
The model

setHandler

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

getHandler

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

buildKey

public void buildKey(Object parent,
                     K tuple)
Specified by:
buildKey in interface TupleBuilder<K extends org.yaml.snakeyaml.nodes.Node,V extends org.yaml.snakeyaml.nodes.Node>

setParentNodeBuilder

public void setParentNodeBuilder(NodeBuilder parentBuilder)
Description copied from interface: NodeBuilder
Sets the parent builder

Specified by:
setParentNodeBuilder in interface NodeBuilder<V extends org.yaml.snakeyaml.nodes.Node>

setNestedBuilders

public void setNestedBuilders(Map<String,TupleBuilder<?,?>> nestedBuilders)
Specified by:
setNestedBuilders in interface TupleBuilder<K extends org.yaml.snakeyaml.nodes.Node,V extends org.yaml.snakeyaml.nodes.Node>

addBuildersFor

public void addBuildersFor(Class<?> documentClass)

getParent

public NodeBuilder getParent()

unalias

protected String unalias(Object pojo,
                         String fieldName)

processPojoAnnotations

protected void processPojoAnnotations(Object pojo,
                                      Object keyFieldName,
                                      Object parent)


Copyright © 2013. All rights reserved.