| /* |
| * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved. |
| * |
| * This program and the accompanying materials are made available under the |
| * terms of the Eclipse Public License v. 2.0 which is available at |
| * http://www.eclipse.org/legal/epl-2.0, |
| * or the Eclipse Distribution License v. 1.0 which is available at |
| * http://www.eclipse.org/org/documents/edl-v10.php. |
| * |
| * SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause |
| */ |
| |
| // Contributors: |
| // Oracle - initial API and implementation from Oracle TopLink |
| package org.eclipse.persistence.testing.oxm.mappings.typeddirect; |
| |
| import org.eclipse.persistence.oxm.XMLDescriptor; |
| import org.eclipse.persistence.oxm.XMLField; |
| import org.eclipse.persistence.oxm.mappings.XMLDirectMapping; |
| import org.eclipse.persistence.oxm.mappings.XMLCompositeDirectCollectionMapping; |
| import org.eclipse.persistence.oxm.XMLConstants; |
| import org.eclipse.persistence.sessions.Project; |
| |
| public class TypedDirectMappingTestProject extends Project { |
| public TypedDirectMappingTestProject() { |
| addDescriptor(getTestObjectDescriptor()); |
| } |
| |
| public XMLDescriptor getTestObjectDescriptor() { |
| XMLDescriptor testObjectDescriptor = new XMLDescriptor(); |
| testObjectDescriptor.setJavaClass(org.eclipse.persistence.testing.oxm.mappings.typeddirect.TestObject.class); |
| testObjectDescriptor.setDefaultRootElement("test-object"); |
| |
| XMLDirectMapping base64Mapping = new XMLDirectMapping(); |
| base64Mapping.setAttributeName("base64"); |
| base64Mapping.setGetMethodName("getBase64"); |
| base64Mapping.setSetMethodName("setBase64"); |
| XMLField field = new XMLField("binary[1]/text()"); |
| field.setSchemaType(XMLConstants.BASE_64_BINARY_QNAME); |
| base64Mapping.setField(field); |
| testObjectDescriptor.addMapping(base64Mapping); |
| |
| XMLDirectMapping hexMapping = new XMLDirectMapping(); |
| hexMapping.setAttributeName("hex"); |
| hexMapping.setGetMethodName("getHex"); |
| hexMapping.setSetMethodName("setHex"); |
| XMLField hexfield = new XMLField("binary[2]/text()"); |
| hexfield.setSchemaType(XMLConstants.HEX_BINARY_QNAME); |
| hexMapping.setField(hexfield); |
| testObjectDescriptor.addMapping(hexMapping); |
| |
| XMLDirectMapping dateMapping = new XMLDirectMapping(); |
| dateMapping.setAttributeName("date"); |
| dateMapping.setGetMethodName("getDate"); |
| dateMapping.setSetMethodName("setDate"); |
| XMLField datefield = new XMLField("date/text()"); |
| datefield.setSchemaType(XMLConstants.DATE_QNAME); |
| dateMapping.setField(datefield); |
| testObjectDescriptor.addMapping(dateMapping); |
| |
| XMLDirectMapping timeMapping = new XMLDirectMapping(); |
| timeMapping.setAttributeName("time"); |
| timeMapping.setGetMethodName("getTime"); |
| timeMapping.setSetMethodName("setTime"); |
| XMLField timefield = new XMLField("time/text()"); |
| timefield.setSchemaType(XMLConstants.TIME_QNAME); |
| timeMapping.setField(timefield); |
| testObjectDescriptor.addMapping(timeMapping); |
| |
| XMLDirectMapping dateTimeMapping = new XMLDirectMapping(); |
| dateTimeMapping.setAttributeName("dateTime"); |
| dateTimeMapping.setGetMethodName("getDateTime"); |
| dateTimeMapping.setSetMethodName("setDateTime"); |
| XMLField dateTimefield = new XMLField("date-time/text()"); |
| dateTimefield.setSchemaType(XMLConstants.DATE_TIME_QNAME); |
| dateTimeMapping.setField(dateTimefield); |
| testObjectDescriptor.addMapping(dateTimeMapping); |
| |
| XMLCompositeDirectCollectionMapping dateVectorMapping = new XMLCompositeDirectCollectionMapping(); |
| dateVectorMapping.setAttributeName("dateVector"); |
| dateVectorMapping.setGetMethodName("getDateVector"); |
| dateVectorMapping.setSetMethodName("setDateVector"); |
| XMLField dateVectorfield = new XMLField("date-vector/date-element/text()"); |
| dateVectorfield.setSchemaType(XMLConstants.DATE_QNAME); |
| dateVectorMapping.setField(dateVectorfield); |
| dateVectorMapping.setAttributeElementClass(java.util.Calendar.class); |
| testObjectDescriptor.addMapping(dateVectorMapping); |
| |
| XMLCompositeDirectCollectionMapping timeVectorMapping = new XMLCompositeDirectCollectionMapping(); |
| timeVectorMapping.setAttributeName("timeVector"); |
| timeVectorMapping.setGetMethodName("getTimeVector"); |
| timeVectorMapping.setSetMethodName("setTimeVector"); |
| XMLField timeVectorfield = new XMLField("time-vector/time-element/text()"); |
| timeVectorfield.setSchemaType(XMLConstants.TIME_QNAME); |
| timeVectorMapping.setField(timeVectorfield); |
| timeVectorMapping.setAttributeElementClass(java.util.Calendar.class); |
| testObjectDescriptor.addMapping(timeVectorMapping); |
| |
| XMLCompositeDirectCollectionMapping dateTimeVectorMapping = new XMLCompositeDirectCollectionMapping(); |
| dateTimeVectorMapping.setAttributeName("dateTimeVector"); |
| dateTimeVectorMapping.setGetMethodName("getDateTimeVector"); |
| dateTimeVectorMapping.setSetMethodName("setDateTimeVector"); |
| XMLField dateTimeVectorfield = new XMLField("date-time-vector/date-time-element/text()"); |
| dateTimeVectorfield.setSchemaType(XMLConstants.DATE_TIME_QNAME); |
| dateTimeVectorMapping.setField(dateTimeVectorfield); |
| dateTimeVectorMapping.setAttributeElementClass(java.util.Calendar.class); |
| testObjectDescriptor.addMapping(dateTimeVectorMapping); |
| |
| XMLCompositeDirectCollectionMapping base64VectorMapping = new XMLCompositeDirectCollectionMapping(); |
| base64VectorMapping.setAttributeName("base64Vector"); |
| base64VectorMapping.setGetMethodName("getBase64Vector"); |
| base64VectorMapping.setSetMethodName("setBase64Vector"); |
| XMLField base64Vectorfield = new XMLField("base-64-vector/base-64-element/text()"); |
| base64Vectorfield.setSchemaType(XMLConstants.BASE_64_BINARY_QNAME); |
| base64VectorMapping.setField(base64Vectorfield); |
| base64VectorMapping.setAttributeElementClass(byte[].class); |
| testObjectDescriptor.addMapping(base64VectorMapping); |
| |
| XMLCompositeDirectCollectionMapping hexVectorMapping = new XMLCompositeDirectCollectionMapping(); |
| hexVectorMapping.setAttributeName("hexVector"); |
| hexVectorMapping.setGetMethodName("getHexVector"); |
| hexVectorMapping.setSetMethodName("setHexVector"); |
| XMLField hexVectorfield = new XMLField("hex-vector/hex-element/text()"); |
| hexVectorfield.setSchemaType(XMLConstants.HEX_BINARY_QNAME); |
| hexVectorMapping.setField(hexVectorfield); |
| hexVectorMapping.setAttributeElementClass(byte[].class); |
| testObjectDescriptor.addMapping(hexVectorMapping); |
| |
| XMLDirectMapping unTypedDateMapping = new XMLDirectMapping(); |
| unTypedDateMapping.setAttributeName("untypedDate"); |
| unTypedDateMapping.setGetMethodName("getUntypedDate"); |
| unTypedDateMapping.setSetMethodName("setUntypedDate"); |
| unTypedDateMapping.setXPath("untyped-date/text()"); |
| testObjectDescriptor.addMapping(unTypedDateMapping); |
| |
| XMLDirectMapping typedDateMapping = new XMLDirectMapping(); |
| typedDateMapping.setAttributeName("typedDate"); |
| typedDateMapping.setGetMethodName("getTypedDate"); |
| typedDateMapping.setSetMethodName("setTypedDate"); |
| XMLField typedDatefield = new XMLField("typed-date/text()"); |
| typedDatefield.setSchemaType(XMLConstants.DATE_QNAME); |
| typedDateMapping.setField(typedDatefield); |
| testObjectDescriptor.addMapping(typedDateMapping); |
| |
| XMLDirectMapping nextMapping; |
| XMLField typedField; |
| |
| nextMapping = new XMLDirectMapping(); |
| nextMapping.setAttributeName("untypedSqlDate"); |
| nextMapping.setGetMethodName("getUntypedSqlDate"); |
| nextMapping.setSetMethodName("setUntypedSqlDate"); |
| nextMapping.setXPath("untyped-sql-date/text()"); |
| testObjectDescriptor.addMapping(nextMapping); |
| |
| nextMapping = new XMLDirectMapping(); |
| nextMapping.setAttributeName("typedSqlDate"); |
| nextMapping.setGetMethodName("getTypedSqlDate"); |
| nextMapping.setSetMethodName("setTypedSqlDate"); |
| typedField = new XMLField("typed-sql-date/text()"); |
| typedField.setSchemaType(XMLConstants.DATE_QNAME); |
| nextMapping.setField(typedField); |
| testObjectDescriptor.addMapping(nextMapping); |
| |
| nextMapping = new XMLDirectMapping(); |
| nextMapping.setAttributeName("untypedTimestamp"); |
| nextMapping.setGetMethodName("getUntypedTimestamp"); |
| nextMapping.setSetMethodName("setUntypedTimestamp"); |
| nextMapping.setXPath("untyped-timestamp/text()"); |
| testObjectDescriptor.addMapping(nextMapping); |
| |
| nextMapping = new XMLDirectMapping(); |
| nextMapping.setAttributeName("typedTimestamp"); |
| nextMapping.setGetMethodName("getTypedTimestamp"); |
| nextMapping.setSetMethodName("setTypedTimestamp"); |
| typedField = new XMLField("typed-timestamp/text()"); |
| typedField.setSchemaType(XMLConstants.TIME_QNAME); |
| nextMapping.setField(typedField); |
| testObjectDescriptor.addMapping(nextMapping); |
| |
| |
| return testObjectDescriptor; |
| } |
| } |