Purpose:Provide a mapping that can map a single attribute to a number of different elements in an XML Document. This will be used to map to Choices or Substitution Groups in an XML Schema
Responsibilities:
The XMLChoiceCollectionMapping is the collection version of the XMLChoiceMapping. This mapping allows the user to specify a number of different xpaths, and types associated with those xpaths. When any of these elements are encountered in the XML Document, they are read in as the correct type and added to the collection.
Setting up XPath mappings:Unlike other OXM Mappings, instead of setting a single xpath,
the addChoiceElement method is used to specify an xpath and the type associated with this xpath.
xmlChoiceCollectionMapping.addChoiceElement("mystring/text()", String.class);
xmlChoiceCollectionMapping.addChoiceElement("myaddress", Address.class);
| Modifier and Type | Field and Description |
|---|---|
| private XMLAnyCollectionMapping | |
| private Map | |
| private Map | |
| private Map | |
| private Map | |
| private Map | |
| private Map | |
| private Map | |
| private ContainerPolicy | |
| private Converter | |
| private static final String | |
| private Map | |
| private Map | |
| private Map | |
| private static final String | |
| private boolean | |
| private boolean | |
| private boolean | |
| private boolean | |
| private static final String | |
| private XMLCompositeDirectCollectionMapping | |
| private String | |
| private boolean | |
| private static final AttributeAccessor | |
| private AbstractNullPolicy |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| public void | |
| public void | |
| public void | |
| public void | |
| public void | addChoiceElement(List<XMLField> srcFields, String elementTypeName, List<XMLField> tgtFields)
Implements org. |
| public void | |
| public void | addChoiceElement(String srcXpath, String elementTypeName, String tgtXpath)
Implements org. |
| public void | |
| public void | addChoiceElement(XMLField field, String elementTypeName)
Implements org. |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| public void | addConverter(XMLField field, Converter converter)
Implements org. |
| public void | buildBackupClone(Object
TODO clone, Object TODO backup, UnitOfWorkImpl TODO unitOfWork)Implements abstract org. |
| public void | buildClone(Object
TODO original, CacheKey TODO cacheKey, Object TODO clone, Integer TODO refreshCascade, AbstractSession TODO cloningSession)Implements abstract org. |
| public void | buildCloneFromRow(AbstractRecord
TODO databaseRow, JoinedAttributeManager TODO joinManager, Object TODO clone, CacheKey TODO sharedCacheKey, ObjectBuildingQuery TODO sourceQuery, UnitOfWorkImpl TODO unitOfWork, AbstractSession TODO executionSession)Implements abstract org. |
| public void | cascadePerformRemoveIfRequired(Object
TODO object, UnitOfWorkImpl TODO uow, Map<K, V> TODO visitedObjects)Implements abstract org. |
| public void | cascadeRegisterNewIfRequired(Object
TODO object, UnitOfWorkImpl TODO uow, Map<K, V> TODO visitedObjects)Implements abstract org. |
| protected Vector | collectFields()
Overrides org. |
| public ChangeRecord | Returns: prototype.changeset.ChangeRecordTODO clone, Object TODO backup, ObjectChangeSet TODO owner, AbstractSession TODO session)Implements abstract org. |
| public boolean | compareObjects(Object
TODO firstObject, Object TODO secondObject, AbstractSession TODO session)Implements abstract org. |
| public void | convertClassNamesToClasses(ClassLoader
TODO classLoader)Overrides org. Implements org. |
| public Object | convertDataValueToObjectValue(Object fieldValue, Session session, XMLUnmarshaller unmarshaller)
Implements org. |
| public Object | convertObjectValueToDataValue(Object value, Session session, XMLMarshaller marshaller)
Implements org. |
| public void | fixObjectReferences(Object
TODO object, Map<Object, ObjectDescriptor> TODO objectDescriptors, Map<Object, Object> TODO processedObjects, ObjectLevelReadQuery TODO query, DistributedSession TODO session)Implements abstract org. |
| public XMLAnyCollectionMapping | |
| public Map | |
| public Map | |
| public ArrayList | |
| public Map | |
| private Map | |
| public Map | |
| public Map | |
| public ContainerPolicy | getContainerPolicy()
Overrides org. Implements org. |
| public Converter | getConverter()
Implements org. |
| public Converter | |
| private XMLField | |
| public Vector | getFields()
Overrides org. |
| public Map | |
| public XMLCompositeDirectCollectionMapping | |
| public boolean | getReuseContainer()
Implements org. |
| public AbstractNullPolicy | getWrapperNullPolicy()
Implements org. |
| public void | initialize(AbstractSession session)
Overrides org. |
| public boolean | |
| private boolean | |
| private boolean | |
| public boolean | isDefaultEmptyContainer()
Implements org. |
| public boolean | |
| public boolean | isWriteOnly()
Overrides org. Implements org. |
| public boolean | isXMLMapping()
Overrides org. |
| public void | iterate(DescriptorIterator iterator)
Implements abstract org. |
| public void | mergeChangesIntoObject(Object target, ChangeRecord changeRecord, Object source, MergeManager mergeManager, AbstractSession targetSession)
Implements abstract org. |
| public void | mergeIntoObject(Object target, boolean isTargetUninitialized, Object source, MergeManager mergeManager, AbstractSession targetSession)
Implements abstract org. |
| public void | preInitialize(AbstractSession session)
Overrides org. |
| public void | setAttributeValueInObject(Object
TODO object, Object TODO value)Overrides org. Implements org. |
| public void | |
| public void | |
| public void | |
| public void | setConverter(Converter converter)
Implements org. |
| public void | setDefaultEmptyContainer(boolean defaultEmptyContainer)
Implements org. |
| public void | |
| public void | |
| public void | setMixedContent(String groupingElement)
Implements org. |
| public void | setMixedContent(boolean mixed)
Implements org. |
| public void | setReuseContainer(boolean reuseContainer)
Implements org. |
| public void | setWrapperNullPolicy(AbstractNullPolicy policy)
Implements org. |
| public void | |
| public void | useCollectionClassName(String concreteContainerClassName)
Implements org. |
| public Object | valueFromRow(AbstractRecord row, JoinedAttributeManager joinManager, ObjectBuildingQuery sourceQuery, CacheKey cacheKey, AbstractSession executionSession, boolean isTargetProtected, Boolean[] wasCacheUsed)
Overrides org. |
| public void | writeFromObjectIntoRow(Object object, AbstractRecord row, AbstractSession session, DatabaseMapping.
Overrides org. |
| public void | writeSingleValue(Object
- The value to be marshalled value, Object parent, XMLRecord - The Record the value is being marshalled too. row, AbstractSession session)Implements org. |