325N/A/*
325N/A * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
325N/A * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
325N/A *
325N/A * This code is free software; you can redistribute it and/or modify it
325N/A * under the terms of the GNU General Public License version 2 only, as
325N/A * published by the Free Software Foundation. Oracle designates this
325N/A * particular file as subject to the "Classpath" exception as provided
325N/A * by Oracle in the LICENSE file that accompanied this code.
325N/A *
325N/A * This code is distributed in the hope that it will be useful, but WITHOUT
325N/A * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
325N/A * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
325N/A * version 2 for more details (a copy is included in the LICENSE file that
325N/A * accompanied this code).
325N/A *
325N/A * You should have received a copy of the GNU General Public License version
325N/A * 2 along with this work; if not, write to the Free Software Foundation,
325N/A * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
325N/A *
325N/A * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
325N/A * or visit www.oracle.com if you need additional information or have any
325N/A * questions.
325N/A */
325N/A
325N/Apackage com.sun.tools.internal.ws.processor.model.jaxb;
325N/A
325N/Aimport com.sun.tools.internal.xjc.api.Mapping;
325N/Aimport com.sun.tools.internal.xjc.api.Property;
325N/Aimport com.sun.tools.internal.xjc.api.TypeAndAnnotation;
325N/A
325N/Aimport javax.xml.namespace.QName;
325N/Aimport java.util.ArrayList;
325N/Aimport java.util.List;
325N/A
325N/A/**
325N/A * @author Kohsuke Kawaguchi, Vivek Pandey
325N/A */
325N/Apublic class JAXBMapping {
325N/A
325N/A /**
325N/A * @see Mapping#getElement()
325N/A */
325N/A private QName elementName;
325N/A
325N/A /**
325N/A *
325N/A */
325N/A private JAXBTypeAndAnnotation type;
325N/A
325N/A /**
325N/A * @see Mapping#getWrapperStyleDrilldown()
325N/A */
325N/A private List<JAXBProperty> wrapperStyleDrilldown;
325N/A
325N/A /**
325N/A * Default constructor for the persistence.
325N/A */
325N/A public JAXBMapping() {}
325N/A
325N/A /**
325N/A * Constructor that fills in the values from the given raw model
325N/A */
325N/A JAXBMapping( com.sun.tools.internal.xjc.api.Mapping rawModel ) {
325N/A elementName = rawModel.getElement();
325N/A TypeAndAnnotation typeAndAnno = rawModel.getType();
325N/A type = new JAXBTypeAndAnnotation(typeAndAnno);
325N/A List<? extends Property> list = rawModel.getWrapperStyleDrilldown();
325N/A if(list==null)
325N/A wrapperStyleDrilldown = null;
325N/A else {
325N/A wrapperStyleDrilldown = new ArrayList<JAXBProperty>(list.size());
325N/A for( Property p : list )
325N/A wrapperStyleDrilldown.add(new JAXBProperty(p));
325N/A }
325N/A
325N/A }
325N/A
325N/A /**
325N/A * @see Mapping#getElement()
325N/A */
325N/A public QName getElementName() {
325N/A return elementName;
325N/A }
325N/A
325N/A public void setElementName(QName elementName) {
325N/A this.elementName = elementName;
325N/A }
325N/A
325N/A
325N/A public JAXBTypeAndAnnotation getType() {
325N/A return type;
325N/A }
325N/A
325N/A /**
325N/A * @see Mapping#getWrapperStyleDrilldown()
325N/A */
325N/A public List<JAXBProperty> getWrapperStyleDrilldown() {
325N/A return wrapperStyleDrilldown;
325N/A }
325N/A}