1 21 package oracle.toplink.essentials.internal.ejb.cmp3.xml.accessors; 23 24 import oracle.toplink.essentials.internal.ejb.cmp3.metadata.accessors.objects.MetadataAccessibleObject; 25 import oracle.toplink.essentials.internal.ejb.cmp3.metadata.accessors.OneToOneAccessor; 26 27 import oracle.toplink.essentials.internal.ejb.cmp3.metadata.columns.MetadataJoinColumns; 28 import oracle.toplink.essentials.internal.ejb.cmp3.metadata.columns.MetadataPrimaryKeyJoinColumns; 29 30 import oracle.toplink.essentials.internal.ejb.cmp3.xml.columns.XMLJoinColumns; 31 import oracle.toplink.essentials.internal.ejb.cmp3.xml.columns.XMLPrimaryKeyJoinColumns; 32 33 import oracle.toplink.essentials.internal.ejb.cmp3.xml.XMLHelper; 34 35 import org.w3c.dom.Node ; 36 37 43 public class XMLOneToOneAccessor extends OneToOneAccessor { 44 private Node m_node; 45 private XMLHelper m_helper; 46 47 50 public XMLOneToOneAccessor(MetadataAccessibleObject accessibleObject, Node node, XMLClassAccessor classAccessor) { 51 super(accessibleObject, classAccessor); 52 53 m_node = node; 54 m_helper = classAccessor.getHelper(); 55 56 XMLAccessorHelper.setRelationshipAccessorData(this, m_node, m_helper); 57 } 58 59 63 protected MetadataPrimaryKeyJoinColumns getPrimaryKeyJoinColumns(String sourceTableName, String targetTableName) { 64 if (m_helper.nodeHasPrimaryKeyJoinColumns(m_node)) { 65 return new XMLPrimaryKeyJoinColumns(m_node, m_helper, sourceTableName, targetTableName); 66 } else { 67 return super.getPrimaryKeyJoinColumns(sourceTableName, targetTableName); 68 } 69 } 70 71 75 public boolean hasPrimaryKeyJoinColumns() { 76 if (m_helper.nodeHasPrimaryKeyJoinColumns(m_node)) { 77 return true; 78 } else { 79 return super.hasPrimaryKeyJoinColumns(); 80 } 81 } 82 83 87 protected MetadataJoinColumns getJoinColumns() { 88 if (m_helper.nodeHasJoinColumns(m_node)) { 89 return new XMLJoinColumns(m_node, m_helper); 90 } else { 91 return super.getJoinColumns(); 92 } 93 } 94 } 95 | Popular Tags |