/******************************************************************************* * Copyright (c) 2011, 2013 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. * * Contributors: * Oracle - initial API and implementation ******************************************************************************/ package org.eclipse.jpt.jaxb.core.internal.context.java; import org.eclipse.jpt.common.utility.internal.iterable.IterableTools; import org.eclipse.jpt.jaxb.core.JaxbFactory; import org.eclipse.jpt.jaxb.core.MappingKeys; import org.eclipse.jpt.jaxb.core.context.JaxbAttributeMapping; import org.eclipse.jpt.jaxb.core.context.JaxbPersistentAttribute; import org.eclipse.jpt.jaxb.core.context.java.JavaAttributeMappingDefinition; import org.eclipse.jpt.jaxb.core.resource.java.JAXB; public class JavaXmlElementsMappingDefinition extends AbstractJavaAttributeMappingDefinition { // singleton private static final JavaAttributeMappingDefinition INSTANCE = new JavaXmlElementsMappingDefinition(); /** * Return the singleton. */ public static JavaAttributeMappingDefinition instance() { return INSTANCE; } /** * Enforce singleton usage */ protected JavaXmlElementsMappingDefinition() { super(); } public String getKey() { return MappingKeys.XML_ELEMENTS_ATTRIBUTE_MAPPING_KEY; } public String getAnnotationName() { return JAXB.XML_ELEMENTS; } public Iterable getSupportingAnnotationNames() { return IterableTools.listIterable( new String[] { JAXB.XML_ELEMENT_WRAPPER, JAXB.XML_IDREF, JAXB.XML_JAVA_TYPE_ADAPTER }); } public JaxbAttributeMapping buildMapping(JaxbPersistentAttribute parent, JaxbFactory factory) { return factory.buildJavaXmlElementsMapping(parent); } }