com.bretth.osmosis.core.pgsql.v0_6.impl
Class NodeBuilder

java.lang.Object
  extended by com.bretth.osmosis.core.pgsql.v0_6.impl.EntityBuilder<Node>
      extended by com.bretth.osmosis.core.pgsql.v0_6.impl.NodeBuilder

public class NodeBuilder
extends EntityBuilder<Node>

Reads and writes node attributes to jdbc classes.

Author:
Brett Henderson

Constructor Summary
NodeBuilder()
          Creates a new instance.
 
Method Summary
 Node buildEntity(java.sql.ResultSet resultSet)
          Creates a new entity based upon the current row in the result set.
 java.lang.Class<Node> getEntityClass()
          Returns the class for the entity type being supported.
 java.lang.String getEntityName()
          Returns the name of the entity to substitute into SQL statements.
 ActionDataType getEntityType()
          Returns the action data type of the entity.
protected  java.lang.String[] getTypeSpecificFieldNames()
          Produces an array of additional column names specific to this entity type to be returned by entity queries.
 int populateEntityParameters(java.sql.PreparedStatement statement, int initialIndex, Node node)
          Sets entity values as bind variable parameters to an entity insert query.
 
Methods inherited from class com.bretth.osmosis.core.pgsql.v0_6.impl.EntityBuilder
buildUser, getSqlDelete, getSqlInsert, getSqlSelect, getSqlSelectCount, getSqlUpdate, populateCommonEntityParameters
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NodeBuilder

public NodeBuilder()
Creates a new instance.

Method Detail

getEntityName

public java.lang.String getEntityName()
Returns the name of the entity to substitute into SQL statements. This is a low-tech way of making the queries type independent.

Specified by:
getEntityName in class EntityBuilder<Node>
Returns:
The entity name as defined in the database schema.

getEntityType

public ActionDataType getEntityType()
Returns the action data type of the entity.

Specified by:
getEntityType in class EntityBuilder<Node>
Returns:
The action type.

getEntityClass

public java.lang.Class<Node> getEntityClass()
Returns the class for the entity type being supported.

Specified by:
getEntityClass in class EntityBuilder<Node>
Returns:
The entity type class.

getTypeSpecificFieldNames

protected java.lang.String[] getTypeSpecificFieldNames()
Produces an array of additional column names specific to this entity type to be returned by entity queries.

Specified by:
getTypeSpecificFieldNames in class EntityBuilder<Node>
Returns:
The column names.

buildEntity

public Node buildEntity(java.sql.ResultSet resultSet)
Creates a new entity based upon the current row in the result set.

Specified by:
buildEntity in class EntityBuilder<Node>
Parameters:
resultSet - The result set to read from.
Returns:
The newly built entity object.

populateEntityParameters

public int populateEntityParameters(java.sql.PreparedStatement statement,
                                    int initialIndex,
                                    Node node)
Sets entity values as bind variable parameters to an entity insert query.

Specified by:
populateEntityParameters in class EntityBuilder<Node>
Parameters:
statement - The prepared statement to add the values to.
initialIndex - The offset index of the first variable to set.
node - The entity containing the data to be inserted.
Returns:
The current parameter offset.