/** * @return true if a new default root element field was created, else false. */ private boolean setDefaultRootElementField(String newDefaultRootElement) { if (null == newDefaultRootElement || 0 == newDefaultRootElement.length()) { setDefaultRootElementField((XMLField) null); return false; } if(getDefaultRootElementField() != null && newDefaultRootElement.equals(getDefaultRootElementField().getName())){ return false; } // create the root element xml field based on default root element name setDefaultRootElementField(new XMLField(newDefaultRootElement)); return true; }
/** * @return true if a new default root element field was created, else false. */ private boolean setDefaultRootElementField(String newDefaultRootElement) { if (null == newDefaultRootElement || 0 == newDefaultRootElement.length()) { setDefaultRootElementField((XMLField) null); return false; } if(getDefaultRootElementField() != null && newDefaultRootElement.equals(getDefaultRootElementField().getName())){ return false; } // create the root element xml field based on default root element name setDefaultRootElementField(new XMLField(newDefaultRootElement)); return true; }
return true; XMLField defaultRootField = getDefaultRootElementField();
public boolean shouldWrapObject(Object object, String elementNamespaceUri, String elementLocalName, String elementPrefix) { if(resultAlwaysXMLRoot){ return true; } XMLField defaultRootField = getDefaultRootElementField(); // if the descriptor's default root element is null, we want to // create/return an XMLRoot - otherwise, we need to compare the // default root element vs. the root element in the instance doc. if (defaultRootField != null) { // resolve namespace prefix if one exists String defaultRootName = defaultRootField.getXPathFragment().getLocalName(); String defaultRootNamespaceUri = defaultRootField.getXPathFragment().getNamespaceURI(); // if the DOMRecord element == descriptor's default // root element, return the object as per usual if ((((defaultRootNamespaceUri == null) && (elementNamespaceUri == null)) || ((defaultRootNamespaceUri == null) && (elementNamespaceUri.length() == 0)) || ((elementNamespaceUri == null) && (defaultRootNamespaceUri.length() == 0)) || (((defaultRootNamespaceUri != null) && (elementNamespaceUri != null)) && (defaultRootNamespaceUri .equals(elementNamespaceUri)))) && (defaultRootName.equals(elementLocalName))) { return false; } } return true; }
return true; XMLField defaultRootField = getDefaultRootElementField();
/** * Override to control order of uniqueTables, child tablenames should be first since * getDefaultRootElement on an XMLDescriptor will return the first table. */ protected void updateTables(){ // Unique is required because the builder can add the same table many times. Vector<DatabaseTable> childTables = getDescriptor().getTables(); Vector<DatabaseTable> parentTables = getParentDescriptor().getTables(); Vector<DatabaseTable> uniqueTables = Helper.concatenateUniqueVectors(childTables, parentTables); getDescriptor().setTables(uniqueTables); if(getDescriptor().isXMLDescriptor() && getParentDescriptor().isXMLDescriptor()){ if(((XMLDescriptor)getDescriptor()).getDefaultRootElementField() == null){ ((XMLDescriptor)getDescriptor()).setDefaultRootElementField(((XMLDescriptor)getParentDescriptor()).getDefaultRootElementField()); } } // After filtering out any duplicate tables, set the default table // if one is not already set. This must be done now before any other // initialization occurs. In a joined strategy case, the default // table will be at an index greater than 0. Which is where // setDefaultTable() assumes it is. Therefore, we need to send the // actual default table instead. if (childTables.isEmpty()) { getDescriptor().setInternalDefaultTable(); } else { getDescriptor().setInternalDefaultTable(uniqueTables.get(uniqueTables.indexOf(childTables.get(0)))); } }
/** * Override to control order of uniqueTables, child tablenames should be first since * getDefaultRootElement on an XMLDescriptor will return the first table. */ protected void updateTables(){ // Unique is required because the builder can add the same table many times. Vector<DatabaseTable> childTables = getDescriptor().getTables(); Vector<DatabaseTable> parentTables = getParentDescriptor().getTables(); Vector<DatabaseTable> uniqueTables = Helper.concatenateUniqueVectors(childTables, parentTables); getDescriptor().setTables(uniqueTables); if(getDescriptor().isXMLDescriptor() && getParentDescriptor().isXMLDescriptor()){ if(((XMLDescriptor)getDescriptor()).getDefaultRootElementField() == null){ ((XMLDescriptor)getDescriptor()).setDefaultRootElementField(((XMLDescriptor)getParentDescriptor()).getDefaultRootElementField()); } } // After filtering out any duplicate tables, set the default table // if one is not already set. This must be done now before any other // initialization occurs. In a joined strategy case, the default // table will be at an index greater than 0. Which is where // setDefaultTable() assumes it is. Therefore, we need to send the // actual default table instead. if (childTables.isEmpty()) { getDescriptor().setInternalDefaultTable(); } else { getDescriptor().setInternalDefaultTable(uniqueTables.get(uniqueTables.indexOf(childTables.get(0)))); } }
XMLField defaultRootField = descriptor.getDefaultRootElementField(); if(defaultRootField != null){ rootFragment = defaultRootField.getXPathFragment();
XMLField field = descriptor.getDefaultRootElementField(); if(field != null) { rootProperty = new Property();
XMLField field = descriptor.getDefaultRootElementField(); if(field != null) { rootProperty = new Property();
XMLField parentField = ((XMLDescriptor)getInheritancePolicy().getParentDescriptor()).getDefaultRootElementField();
XMLField parentField = ((XMLDescriptor)getInheritancePolicy().getParentDescriptor()).getDefaultRootElementField();