SMACS

smacs.load.mapping
Class DbMappingRecordField

java.lang.Object
  extended byorg.dom4j.tree.AbstractNode
      extended byorg.dom4j.tree.AbstractBranch
          extended byorg.dom4j.tree.AbstractElement
              extended byorg.dom4j.tree.DefaultElement
                  extended bysmacs.tree.ScriptNode
                      extended bysmacs.load.mapping.DbMappingScriptNode
                          extended bysmacs.load.mapping.DbMappingRecordField
All Implemented Interfaces:
Branch, Cloneable, CreateListener, DbMappingSimpleNode, Element, EventListener, FixNode, FixNodeListener, GetName, GetSimpleNode, HasNodeHandler, HasNodeReferenceAttribute, smacs.tree.HasNodeReferenceId, HasRecordBaseNameSpec, HasRecordField, HasRecordFieldName, HasRecordFieldType, HasRecordName, IsaNodeReferenceChildListener, IsaNodeReferenceListener, NewSimpleNode, Node, Node, Serializable, SimpleElement, SimpleNode, SimpleNodeChild, SmacsFixNode

public class DbMappingRecordField
extends DbMappingScriptNode
implements HasRecordField, HasRecordName

implementation of a record field. This is used by nodes that do convert their field descriptions to a DbMappingRecordFieldList. The presented implementation allows to store all information out of some SELECT subclause in the smacs input syntax. The implementation has been overloaded over time and should be refactored into making this type an interface with more specific implementation classes taylored for the usage in the nodes having a list of record fields. There is no hard need to do so since this implementation node has the HasRecordField and HasRecordName interface which can be used in other stages to access any record field information by means of an interface layer.

See Also:
Serialized Form

Field Summary
protected static Logger log
           
 
Fields inherited from class smacs.tree.ScriptNode
_NodeHandler, TokenValue
 
Fields inherited from class org.dom4j.tree.AbstractElement
EMPTY_ITERATOR, EMPTY_LIST, USE_STRINGVALUE_SEPARATOR, VERBOSE_TOSTRING
 
Fields inherited from class org.dom4j.tree.AbstractBranch
DEFAULT_CONTENT_LIST_SIZE, outputFormat
 
Fields inherited from class org.dom4j.tree.AbstractNode
NODE_TYPE_NAMES
 
Fields inherited from interface smacs.tree.SimpleNode
TokenValue
 
Fields inherited from interface org.dom4j.Node
ANY_NODE, ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_NODE, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_REFERENCE_NODE, MAX_NODE_TYPE, NAMESPACE_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE, UNKNOWN_NODE
 
Constructor Summary
DbMappingRecordField()
          constructor.
DbMappingRecordField(DbMappingRecordField orig, String name)
          constructor. a kind of copy constructor, the additional "name" allows for a renaming.
DbMappingRecordField(SqlSelectItemQ field)
          constructor. scan sql syntax and fill the internal properties.
 
Method Summary
 void addSqlOfExpression(SimpleNode expr)
          set ref to sql syntax for value computation.
 void addSqlSelectItem(SqlSelectItemQ field)
          set ref to sql syntax for field assignment.
 void checkRecordReference()
          resolve into name, table, schema options.
 TableQName getExprTableQName()
          check if table computaiton is a direct table reference.
 String getRecordBaseNameSpec()
          get schema prefix of the record field.
 String getRecordFieldName()
          get resolved name information of field.
 String getRecordFieldType()
          get resolved type information of field.
 String getRecordName()
          get rename of the record field.
 SimpleNode getSqlOfExpression()
          get ref to sql syntax for value computation.
 SimpleNode getSqlSelectItem()
          get ref to sql syntax for field assignment.
 NodeHandler getSqlSelectItemQ()
          get ref to sql syntax for field assignment.
 String hasTargetRecordFieldName()
          get rename of the record field.
 boolean setRecordBaseNameSpec(String name)
          set schema prefix of the record field.
 boolean setRecordFieldName(String name)
          set resolved name information of field.
 boolean setRecordFieldType(String type)
          set resolved type information of field.
 boolean setRecordName(String name)
          set rename of the record field.
 void setSqlOfExpression(SimpleNode expr)
          set ref to sql syntax for value computation.
 void setSqlSelectItem(SqlSelectItemQ field)
          get ref to sql syntax for field assignment.
 boolean setTargetRecordFieldName(String name)
          set rename of the record field.
 
Methods inherited from class smacs.load.mapping.DbMappingScriptNode
_expandDistinctHints, _expandForeignKeyFieldDeclarationQ, _expandSchemaForeignKeyFieldDeclaration, _expandSchemaUniqueKeyFieldDeclaration, _expandSourceRecordColumns, _expandSourceRecordReferences, _expandSourceTableColumns, _expandSourceTableReferences, _expandUniqueKeyFieldDeclarationQ, expandDistinctHints, expandForeignKeyFieldDeclarationQ, expandSchemaForeignKeyFieldDeclaration, expandSchemaUniqueKeyFieldDeclaration, expandSourceRecordColumns, expandSourceRecordReferences, expandSourceTableColumns, expandSourceTableReferences, expandUniqueKeyFieldDeclarationQ, newNode, newNode, newNode
 
Methods inherited from class smacs.tree.ScriptNode
_fixNodeTree, _getTokenValue, _getValueTokenValue, _hasTokenValue, _init, add, add, addAll, addAll, addChild, addChild, addNewNode, addNodeReference, addNodeReference, addNodeReference, addNodeReference, appendAttributes, appendText, clear, cloneFrom, contains, containsAll, countTokenName, dump, fireNodeReferenceChildHasChanged, fireNodeReferenceHasChanged, firstTokenName, firstTokenName, fixNode, fixNodeTree, get, getAttributeValue, getHandler, getId, getMember, getMember, getMember, getMember, getMemberChild, getMemberChild, getMemberChild, getMemberList, getMemberListChild, getMemberOption, getMemberOption, getMemberOption, getMemberValue, getMemberValue, getMemberValue, getNodeNameFromClassName, getNodeReferenceCount, getNodeReferenceCount, getNodeReferenceId, getNodeReferenceId, getOption, getOption, getOption, getParentNode, getParentNode, getParentNode, getParentNode, getSimpleNode, getSingleTextChild, getThisParentNode, getThisParentNode, getTokenName, getTokenValue, hasChildren, hasMember, hasMember, hasNodeHandler, hasNodeReference, hasNodeReferenceChildNodes, hasNodeReferenceChildNodes, hasNodeReferenceId, hasNodeReferenceId, hasSingleTextChild, hasTokenName, hasTokenValue, indexOf, isEmpty, iterator, jjtAccept, jjtAddChild, jjtClose, jjtGetChild, jjtGetNumChildren, jjtGetParent, jjtOpen, jjtSetParent, lastIndexOf, lastTokenName, lastTokenName, listIterator, listIterator, memberElement, newChildren, newNode, newNode, newNode, newNode, newNode, newNode, newNode, newNodeLike, newNodeReferenceAttribute, newNodeReferenceAttribute, newNodeReferenceId, newNodeReferenceId, onNodeReferenceChildHasChanged, onNodeReferenceHasChanged, printXML, printXML, removeAll, removeAttribute, removeChild, removeChild, removeNodeReference, replace, retainAll, set, setHandler, setMemberChild, setMemberChild, setMemberChild, setMemberList, setMemberListChild, setMemberOption, setMemberOption, setMemberOption, setMemberValue, setMemberValue, setMemberValue, setNodeReference, setNodeReference, setNodeReference, setOption, setOption, setOption, setOption, setTokenName, setTokenValue, size, strSingleTextChild, subList, toArray, toArray, toString, toString, toXML, toXML
 
Methods inherited from class org.dom4j.tree.DefaultElement
add, additionalNamespaces, additionalNamespaces, addNewNode, attribute, attribute, attribute, attribute, attributeCount, attributeIterator, attributeList, attributeList, attributes, clearContent, clone, contentList, declaredNamespaces, element, element, element, elementIterator, elementIterator, elementIterator, elementIterator, elements, elements, elements, elements, getDocument, getDocumentFactory, getNamespaceForPrefix, getNamespaceForURI, getParent, getQName, getStringValue, getText, indexOf, node, nodeCount, nodeIterator, processingInstruction, processingInstructions, processingInstructions, remove, removeNode, removeProcessingInstruction, setAttributeList, setAttributes, setContent, setDocument, setParent, setQName, supportsParent
 
Methods inherited from class org.dom4j.tree.AbstractElement
accept, add, add, add, add, add, add, add, add, addAttribute, addAttribute, addCDATA, addComment, addElement, addEntity, addNamespace, addNode, addProcessingInstruction, addProcessingInstruction, addText, asXML, attributeValue, attributeValue, attributeValue, attributeValue, childAdded, childRemoved, createAttributeList, createAttributeList, createCopy, createCopy, createCopy, createElement, createElement, createSingleIterator, elementText, elementText, elementTextTrim, elementTextTrim, ensureAttributesCapacity, getData, getName, getNamespace, getNamespacePrefix, getNamespaceURI, getNodeType, getPath, getQName, getQualifiedName, getUniquePath, getXPathNameStep, getXPathResult, hasMixedContent, isRootElement, isTextOnly, normalize, remove, remove, remove, remove, remove, remove, remove, remove, setAttributes, setAttributeValue, setAttributeValue, setData, setName, setNamespace, setText, write
 
Methods inherited from class org.dom4j.tree.AbstractBranch
addElement, addElement, addElement, appendContent, content, contentRemoved, createContentList, createContentList, createEmptyList, createResultList, createSingleResultList, elementByID, elementID, getContentAsStringValue, getContentAsText, getTextTrim, hasContent, invalidNodeTypeAddException, isReadOnly, setProcessingInstructions
 
Methods inherited from class org.dom4j.tree.AbstractNode
asXPathResult, createPattern, createXPath, createXPathFilter, createXPathResult, detach, getNodeTypeName, getPath, getUniquePath, matches, numberValueOf, selectNodes, selectNodes, selectNodes, selectObject, selectSingleNode, valueOf
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface smacs.tree.SimpleNode
add, add, addAll, addAll, addChild, addChild, addNewNode, addNodeReference, addNodeReference, addNodeReference, addNodeReference, appendAttributes, appendText, clear, cloneFrom, contains, containsAll, countTokenName, dump, fireNodeReferenceChildHasChanged, fireNodeReferenceHasChanged, firstTokenName, firstTokenName, fixNode, fixNodeTree, get, getAttributeValue, getHandler, getId, getMember, getMember, getMember, getMember, getMemberChild, getMemberChild, getMemberChild, getMemberList, getMemberListChild, getMemberOption, getMemberOption, getMemberOption, getMemberValue, getMemberValue, getMemberValue, getNodeReferenceCount, getNodeReferenceCount, getNodeReferenceId, getNodeReferenceId, getOption, getOption, getOption, getParentNode, getParentNode, getParentNode, getParentNode, getSimpleNode, getSingleTextChild, getThisParentNode, getThisParentNode, getTokenName, getTokenValue, hasChildren, hasMember, hasMember, hasNodeHandler, hasNodeReference, hasNodeReferenceChildNodes, hasNodeReferenceChildNodes, hasNodeReferenceId, hasNodeReferenceId, hasSingleTextChild, hasTokenName, hasTokenValue, indexOf, isEmpty, iterator, jjtAccept, jjtAddChild, jjtClose, jjtGetChild, jjtGetNumChildren, jjtGetParent, jjtOpen, jjtSetParent, lastIndexOf, lastTokenName, lastTokenName, listIterator, listIterator, memberElement, newChildren, newNode, newNode, newNode, newNode, newNode, newNode, newNode, newNodeReferenceAttribute, onNodeReferenceChildHasChanged, onNodeReferenceHasChanged, printXML, printXML, removeAll, removeAttribute, removeChild, removeChild, removeNodeReference, replace, retainAll, set, setHandler, setMemberChild, setMemberChild, setMemberChild, setMemberList, setMemberListChild, setMemberOption, setMemberOption, setMemberOption, setMemberValue, setMemberValue, setMemberValue, setNodeReference, setNodeReference, setNodeReference, setOption, setOption, setOption, setOption, setTokenName, setTokenValue, size, strSingleTextChild, subList, toArray, toArray, toString, toString, toXML, toXML
 
Methods inherited from interface org.dom4j.Element
add, add, add, add, add, addAttribute, addAttribute, addCDATA, addComment, addEntity, additionalNamespaces, addNamespace, addProcessingInstruction, addProcessingInstruction, addText, attribute, attribute, attribute, attributeCount, attributeIterator, attributes, attributeValue, attributeValue, attributeValue, attributeValue, createCopy, createCopy, createCopy, declaredNamespaces, element, element, elementIterator, elementIterator, elementIterator, elements, elements, elements, elementText, elementText, elementTextTrim, elementTextTrim, getData, getNamespace, getNamespaceForPrefix, getNamespaceForURI, getNamespacePrefix, getNamespaceURI, getQName, getQName, getQualifiedName, getStringValue, getText, getTextTrim, getXPathResult, hasMixedContent, isRootElement, isTextOnly, remove, remove, remove, remove, remove, setAttributes, setAttributeValue, setAttributeValue, setData, setQName
 
Methods inherited from interface org.dom4j.Branch
add, add, add, add, addElement, addElement, addElement, appendContent, clearContent, content, elementByID, indexOf, node, nodeCount, nodeIterator, normalize, processingInstruction, processingInstructions, processingInstructions, remove, remove, remove, remove, removeProcessingInstruction, setContent, setProcessingInstructions
 
Methods inherited from interface org.dom4j.Node
accept, asXML, asXPathResult, clone, createXPath, detach, getDocument, getName, getNodeType, getNodeTypeName, getParent, getPath, getPath, getUniquePath, getUniquePath, hasContent, isReadOnly, matches, numberValueOf, selectNodes, selectNodes, selectNodes, selectObject, selectSingleNode, setDocument, setName, setParent, setText, supportsParent, valueOf, write
 
Methods inherited from interface smacs.util.listen.GetName
getName
 

Field Detail

log

protected static final Logger log
Constructor Detail

DbMappingRecordField

public DbMappingRecordField(SqlSelectItemQ field)
constructor. scan sql syntax and fill the internal properties.


DbMappingRecordField

public DbMappingRecordField()
constructor. Models a select list as if "SELECT *" was given.


DbMappingRecordField

public DbMappingRecordField(DbMappingRecordField orig,
                            String name)
constructor. a kind of copy constructor, the additional "name" allows for a renaming.

Method Detail

addSqlSelectItem

public void addSqlSelectItem(SqlSelectItemQ field)
set ref to sql syntax for field assignment.


setSqlSelectItem

public void setSqlSelectItem(SqlSelectItemQ field)
get ref to sql syntax for field assignment.


getSqlSelectItem

public SimpleNode getSqlSelectItem()
get ref to sql syntax for field assignment.


getSqlSelectItemQ

public NodeHandler getSqlSelectItemQ()
get ref to sql syntax for field assignment.


addSqlOfExpression

public void addSqlOfExpression(SimpleNode expr)
set ref to sql syntax for value computation.


setSqlOfExpression

public void setSqlOfExpression(SimpleNode expr)
set ref to sql syntax for value computation.


getSqlOfExpression

public SimpleNode getSqlOfExpression()
get ref to sql syntax for value computation.


setRecordFieldType

public boolean setRecordFieldType(String type)
set resolved type information of field.

Specified by:
setRecordFieldType in interface HasRecordField

getRecordFieldType

public String getRecordFieldType()
get resolved type information of field.

Specified by:
getRecordFieldType in interface HasRecordFieldType

setRecordFieldName

public boolean setRecordFieldName(String name)
set resolved name information of field.

Specified by:
setRecordFieldName in interface HasRecordField

getRecordFieldName

public String getRecordFieldName()
get resolved name information of field.

Specified by:
getRecordFieldName in interface HasRecordFieldName

setTargetRecordFieldName

public boolean setTargetRecordFieldName(String name)
set rename of the record field.


hasTargetRecordFieldName

public String hasTargetRecordFieldName()
get rename of the record field.


setRecordName

public boolean setRecordName(String name)
set rename of the record field.


getRecordName

public String getRecordName()
get rename of the record field.

Specified by:
getRecordName in interface HasRecordName

setRecordBaseNameSpec

public boolean setRecordBaseNameSpec(String name)
set schema prefix of the record field.


getRecordBaseNameSpec

public String getRecordBaseNameSpec()
get schema prefix of the record field.

Specified by:
getRecordBaseNameSpec in interface HasRecordBaseNameSpec

checkRecordReference

public void checkRecordReference()
resolve into name, table, schema options.


getExprTableQName

public TableQName getExprTableQName()
check if table computaiton is a direct table reference.


SMACS