SMACS

smacs.load.schema
Class DbSchemaFieldMappingNode

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.schema.DbSchemaScriptNode
                          extended bysmacs.load.schema.DbSchemaFieldMappingNode
All Implemented Interfaces:
Branch, Cloneable, CreateListener, DbSchemaFieldMapping, DbSchemaSimpleNode, Element, EventListener, FixNode, FixNodeListener, GetName, GetSimpleNode, HasNodeHandler, HasNodeReferenceAttribute, smacs.tree.HasNodeReferenceId, IsaNodeReferenceChildListener, IsaNodeReferenceListener, NewSimpleNode, Node, Node, Serializable, SimpleElement, SimpleNode, SimpleNodeChild, SmacsFixNode

public class DbSchemaFieldMappingNode
extends DbSchemaScriptNode
implements DbSchemaFieldMapping

used for a DbSchemaForeignKeyField.

See Also:
DbSchemaForeignKeyField, 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
DbSchemaFieldMappingNode(SmacsFixNodeLater later)
           
DbSchemaFieldMappingNode(String field, DbSchemaTableNode table)
           
DbSchemaFieldMappingNode(String field, DbSchemaTableNode table, String side)
           
DbSchemaFieldMappingNode(String field, SqlTableReferenceQ table)
           
DbSchemaFieldMappingNode(String field, SqlTableReferenceQ table, String side)
           
 
Method Summary
 void addDbSchemaTableNode(DbSchemaTableNode table)
           
 void addSqlTableReferenceQ(SqlTableReferenceQ table)
           
 void addTableQNameNode(DbSchemaTableQNameNode node)
           
 int expandForeignKeyColumns()
           
 int expandForeignKeyReferences()
          resolving Table references.
static DbSchemaTableList findParentDbSchemaTableList(DbSchemaSimpleNode node)
           
 DbSchemaColumn getDbSchemaColumn()
          resolve field name into schema column node.
 String getFieldName()
          field name.
 String getSideName()
          side name.
 DbSchemaTableQName getTableQName()
          table reference name
 DbSchemaTableQNameNode getTableQNameNode()
           
 DbSchemaTable hasDbSchemaTable()
          table reference node
 DbSchemaTableNode hasDbSchemaTableNode()
           
 SqlTableReferenceQ hasSqlTableReferenceQ()
           
 void setDbSchemaColumnNode(DbSchemaColumn node)
           
 void setDbSchemaTableNode(DbSchemaTableNode table)
           
 void setFieldName(String field)
           
 void setSideName(String side)
           
 void setSqlTableReferenceQ(SqlTableReferenceQ table)
           
 void setTableQNameNode(DbSchemaTableQNameNode node)
           
 
Methods inherited from class smacs.load.schema.DbSchemaScriptNode
_expandForeignKeyColumns, _expandForeignKeyReferences, 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

DbSchemaFieldMappingNode

public DbSchemaFieldMappingNode(String field,
                                DbSchemaTableNode table)

DbSchemaFieldMappingNode

public DbSchemaFieldMappingNode(String field,
                                DbSchemaTableNode table,
                                String side)

DbSchemaFieldMappingNode

public DbSchemaFieldMappingNode(String field,
                                SqlTableReferenceQ table)

DbSchemaFieldMappingNode

public DbSchemaFieldMappingNode(String field,
                                SqlTableReferenceQ table,
                                String side)

DbSchemaFieldMappingNode

public DbSchemaFieldMappingNode(SmacsFixNodeLater later)
Method Detail

setSideName

public void setSideName(String side)

getSideName

public String getSideName()
Description copied from interface: DbSchemaFieldMapping
side name. @return "local" or "foreign"

Specified by:
getSideName in interface DbSchemaFieldMapping

setFieldName

public void setFieldName(String field)

getFieldName

public String getFieldName()
Description copied from interface: DbSchemaFieldMapping
field name.

Specified by:
getFieldName in interface DbSchemaFieldMapping

addDbSchemaTableNode

public void addDbSchemaTableNode(DbSchemaTableNode table)

addSqlTableReferenceQ

public void addSqlTableReferenceQ(SqlTableReferenceQ table)

setDbSchemaTableNode

public void setDbSchemaTableNode(DbSchemaTableNode table)

setSqlTableReferenceQ

public void setSqlTableReferenceQ(SqlTableReferenceQ table)

hasDbSchemaTable

public DbSchemaTable hasDbSchemaTable()
Description copied from interface: DbSchemaFieldMapping
table reference node

Specified by:
hasDbSchemaTable in interface DbSchemaFieldMapping

hasDbSchemaTableNode

public DbSchemaTableNode hasDbSchemaTableNode()

hasSqlTableReferenceQ

public SqlTableReferenceQ hasSqlTableReferenceQ()

getTableQName

public DbSchemaTableQName getTableQName()
Description copied from interface: DbSchemaFieldMapping
table reference name

Specified by:
getTableQName in interface DbSchemaFieldMapping

getTableQNameNode

public DbSchemaTableQNameNode getTableQNameNode()

setTableQNameNode

public void setTableQNameNode(DbSchemaTableQNameNode node)

addTableQNameNode

public void addTableQNameNode(DbSchemaTableQNameNode node)

setDbSchemaColumnNode

public void setDbSchemaColumnNode(DbSchemaColumn node)

getDbSchemaColumn

public DbSchemaColumn getDbSchemaColumn()
Description copied from interface: DbSchemaFieldMapping
resolve field name into schema column node.

Specified by:
getDbSchemaColumn in interface DbSchemaFieldMapping

expandForeignKeyReferences

public int expandForeignKeyReferences()
resolving Table references. It merily means that each DbSchemaFieldMappingNode has a reference to the single only DbSchemaTable that the field is actually a part of. That allows you to get back a field mapping from a search which can be converted to the schema table for further checks including identity checks.

Specified by:
expandForeignKeyReferences in interface DbSchemaSimpleNode
Overrides:
expandForeignKeyReferences in class DbSchemaScriptNode

findParentDbSchemaTableList

public static DbSchemaTableList findParentDbSchemaTableList(DbSchemaSimpleNode node)

expandForeignKeyColumns

public int expandForeignKeyColumns()
Specified by:
expandForeignKeyColumns in interface DbSchemaSimpleNode
Overrides:
expandForeignKeyColumns in class DbSchemaScriptNode

SMACS