diff options
Diffstat (limited to 'jaxb/plugins/org.eclipse.jpt.jaxb.core/src')
9 files changed, 78 insertions, 30 deletions
diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/AbstractJaxbNode.java b/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/AbstractJaxbNode.java index 6a60f92856..b1e56f477e 100644 --- a/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/AbstractJaxbNode.java +++ b/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/AbstractJaxbNode.java @@ -192,7 +192,6 @@ public abstract class AbstractJaxbNode protected CollectionContainer() { super(); - this.initializeContextElements(); } /** @@ -217,7 +216,10 @@ public abstract class AbstractJaxbNode */ protected abstract String getContextElementsPropertyName(); - protected void initializeContextElements() { + /** + * clients needs to call initialize if necessary + */ + public void initialize() { for (R resourceElement : this.getResourceElements()) { this.contextElements.add(this.buildContextElement(resourceElement)); } diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/context/java/AbstractJavaPersistentType.java b/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/context/java/AbstractJavaPersistentType.java index 30906192bb..089f9b26ef 100644 --- a/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/context/java/AbstractJavaPersistentType.java +++ b/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/context/java/AbstractJavaPersistentType.java @@ -49,7 +49,7 @@ public abstract class AbstractJavaPersistentType protected String factoryMethod; - protected final PropOrderContainer propOrderContainer; + protected final ListContainer<String, String> propOrderContainer; protected XmlRootElement rootElement; @@ -59,7 +59,7 @@ public abstract class AbstractJavaPersistentType this.qName = buildQName(); this.factoryClass = this.getResourceFactoryClass(); this.factoryMethod = this.getResourceFactoryMethod(); - this.propOrderContainer = new PropOrderContainer(); + this.propOrderContainer = this.buildPropOrderContainer(); this.rootElement = this.buildRootElement(); } @@ -192,6 +192,12 @@ public abstract class AbstractJavaPersistentType protected ListIterable<String> getResourcePropOrder() { return this.getXmlTypeAnnotation().getPropOrder(); } + + protected ListContainer<String, String> buildPropOrderContainer() { + PropOrderContainer container = new PropOrderContainer(); + container.initialize(); + return container; + } // *************** root element ********************* diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/context/java/GenericJavaPackageInfo.java b/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/context/java/GenericJavaPackageInfo.java index cfb06f664f..c9cd81bd36 100644 --- a/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/context/java/GenericJavaPackageInfo.java +++ b/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/context/java/GenericJavaPackageInfo.java @@ -50,9 +50,9 @@ public class GenericJavaPackageInfo protected XmlAccessOrder specifiedAccessOrder; - protected final XmlSchemaTypeContainer xmlSchemaTypeContainer; + protected final ContextListContainer<XmlSchemaType, XmlSchemaTypeAnnotation> xmlSchemaTypeContainer; - protected final XmlJavaTypeAdapterContainer xmlJavaTypeAdapterContainer; + protected final ContextListContainer<XmlJavaTypeAdapter, XmlJavaTypeAdapterAnnotation> xmlJavaTypeAdapterContainer; public GenericJavaPackageInfo(JaxbPackage parent, JavaResourcePackage resourcePackage) { super(parent); @@ -60,8 +60,8 @@ public class GenericJavaPackageInfo this.xmlSchema = getFactory().buildJavaXmlSchema(this); this.specifiedAccessType = getResourceAccessType(); this.specifiedAccessOrder = getResourceAccessOrder(); - this.xmlSchemaTypeContainer = new XmlSchemaTypeContainer(); - this.xmlJavaTypeAdapterContainer = new XmlJavaTypeAdapterContainer(); + this.xmlSchemaTypeContainer = this.buildXmlSchemaTypeContainer(); + this.xmlJavaTypeAdapterContainer = this.buildXmlJavaTypeAdapterContainer(); } @Override @@ -229,6 +229,12 @@ public class GenericJavaPackageInfo this.resourcePackage.getAnnotations(JAXB.XML_SCHEMA_TYPE)); } + protected ContextListContainer<XmlSchemaType, XmlSchemaTypeAnnotation> buildXmlSchemaTypeContainer() { + XmlSchemaTypeContainer container = new XmlSchemaTypeContainer(); + container.initialize(); + return container; + } + // ********** xml java type adapters ********** @@ -276,6 +282,12 @@ public class GenericJavaPackageInfo this.resourcePackage.getAnnotations(JAXB.XML_JAVA_TYPE_ADAPTER)); } + protected ContextListContainer<XmlJavaTypeAdapter, XmlJavaTypeAdapterAnnotation> buildXmlJavaTypeAdapterContainer() { + XmlJavaTypeAdapterContainer container = new XmlJavaTypeAdapterContainer(); + container.initialize(); + return container; + } + // **************** misc ************************************************** diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/context/java/GenericJavaPersistentEnum.java b/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/context/java/GenericJavaPersistentEnum.java index 3148a73222..2579f5b9eb 100644 --- a/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/context/java/GenericJavaPersistentEnum.java +++ b/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/context/java/GenericJavaPersistentEnum.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2010 Oracle. All rights reserved. + * Copyright (c) 2010, 2011 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. @@ -23,12 +23,12 @@ public class GenericJavaPersistentEnum protected String enumType; - protected final EnumConstantContainer enumConstantContainer; + protected final ContextCollectionContainer<JaxbEnumConstant, JavaResourceEnumConstant> enumConstantContainer; public GenericJavaPersistentEnum(JaxbContextRoot parent, JavaResourceEnum resourceEnum) { super(parent, resourceEnum); this.enumType = this.getResourceEnumType(); - this.enumConstantContainer = new EnumConstantContainer(); + this.enumConstantContainer = this.buildEnumConstantContainer(); } @Override @@ -105,6 +105,12 @@ public class GenericJavaPersistentEnum return getFactory().buildJavaEnumConstant(this, resourceEnumConstant); } + protected ContextCollectionContainer<JaxbEnumConstant, JavaResourceEnumConstant> buildEnumConstantContainer() { + EnumConstantContainer container = new EnumConstantContainer(); + container.initialize(); + return container; + } + /** * enum constant container adapter */ diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/context/java/GenericJavaRegistry.java b/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/context/java/GenericJavaRegistry.java index 2210d0df66..3eb0b2d82d 100644 --- a/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/context/java/GenericJavaRegistry.java +++ b/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/context/java/GenericJavaRegistry.java @@ -41,12 +41,12 @@ public class GenericJavaRegistry extends AbstractJavaType implements JaxbRegistry { - protected final ElementFactoryMethodContainer elementFactoryMethodContainer; + protected final ContextCollectionContainer<JaxbElementFactoryMethod, JavaResourceMethod> elementFactoryMethodContainer; public GenericJavaRegistry(JaxbContextRoot parent, JavaResourceType resourceType) { super(parent, resourceType); - this.elementFactoryMethodContainer = new ElementFactoryMethodContainer(); + this.elementFactoryMethodContainer = this.buildElementFactoryMethodContainer(); } @@ -114,6 +114,12 @@ public class GenericJavaRegistry protected static boolean methodReturnTypeIsJAXBElement(JavaResourceMethod method) { return method.typeIsSubTypeOf(JAXB.XML_ELEMENT); } + + protected ContextCollectionContainer<JaxbElementFactoryMethod, JavaResourceMethod> buildElementFactoryMethodContainer() { + ElementFactoryMethodContainer container = new ElementFactoryMethodContainer(); + container.initialize(); + return container; + } // ***** content assist ***** diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/context/java/GenericJavaXmlElementRefs.java b/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/context/java/GenericJavaXmlElementRefs.java index 6f939771cb..631a5093ae 100644 --- a/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/context/java/GenericJavaXmlElementRefs.java +++ b/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/context/java/GenericJavaXmlElementRefs.java @@ -39,13 +39,13 @@ public class GenericJavaXmlElementRefs protected final Context context; - protected final XmlElementRefContainer xmlElementRefContainer; + protected final ContextListContainer<XmlElementRef, XmlElementRefAnnotation> xmlElementRefContainer; public GenericJavaXmlElementRefs(JavaContextNode parent, Context context) { super(parent); this.context = context; - this.xmlElementRefContainer = new XmlElementRefContainer(); + this.xmlElementRefContainer = this.buildXmlElementRefContainer(); } @@ -94,15 +94,17 @@ public class GenericJavaXmlElementRefs } protected XmlElementRef buildXmlElementRef(XmlElementRefAnnotation xmlElementRefAnnotation) { - return context.buildXmlElementRef(this, xmlElementRefAnnotation); + return this.context.buildXmlElementRef(this, xmlElementRefAnnotation); } protected ListIterable<XmlElementRefAnnotation> getXmlElementRefAnnotations() { return this.context.getXmlElementRefAnnotations(); } - - protected XmlElementRefAnnotation getXmlElementRefAnnotation(XmlElementRef xmlElementRef) { - return this.xmlElementRefContainer.getResourceElement(xmlElementRef); + + protected ContextListContainer<XmlElementRef, XmlElementRefAnnotation> buildXmlElementRefContainer() { + XmlElementRefContainer container = new XmlElementRefContainer(); + container.initialize(); + return container; } diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/context/java/GenericJavaXmlElementsMapping.java b/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/context/java/GenericJavaXmlElementsMapping.java index 77edcb25c9..c9b186f6ec 100644 --- a/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/context/java/GenericJavaXmlElementsMapping.java +++ b/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/context/java/GenericJavaXmlElementsMapping.java @@ -49,7 +49,7 @@ public class GenericJavaXmlElementsMapping extends AbstractJavaAttributeMapping<XmlElementsAnnotation> implements XmlElementsMapping { - protected final XmlElementContainer xmlElementContainer; + protected final ContextListContainer<XmlElement, XmlElementAnnotation> xmlElementContainer; protected final XmlAdaptable xmlAdaptable; @@ -60,7 +60,7 @@ public class GenericJavaXmlElementsMapping public GenericJavaXmlElementsMapping(JaxbPersistentAttribute parent) { super(parent); - this.xmlElementContainer = new XmlElementContainer(); + this.xmlElementContainer = this.buildXmlElementContainer(); this.xmlAdaptable = buildXmlAdaptable(); initializeXmlElementWrapper(); initializeXmlIDREF(); @@ -135,10 +135,6 @@ public class GenericJavaXmlElementsMapping return getAnnotation().getXmlElements(); } - protected XmlElementAnnotation getXmlElementAnnotation(XmlElement xmlElement) { - return this.xmlElementContainer.getResourceElement(xmlElement); - } - // ***** XmlJavaTypeAdapter ***** @@ -242,6 +238,12 @@ public class GenericJavaXmlElementsMapping this.xmlElementWrapper.update(); } } + + protected ContextListContainer<XmlElement, XmlElementAnnotation> buildXmlElementContainer() { + XmlElementContainer container = new XmlElementContainer(); + container.initialize(); + return container; + } // ***** XmlIDREF ***** diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/context/java/GenericJavaXmlSchema.java b/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/context/java/GenericJavaXmlSchema.java index 89af2ec802..9499e65b49 100644 --- a/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/context/java/GenericJavaXmlSchema.java +++ b/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/context/java/GenericJavaXmlSchema.java @@ -43,7 +43,7 @@ public class GenericJavaXmlSchema protected XmlNsForm specifiedElementFormDefault; - protected final XmlNsPrefixContainer xmlNsPrefixContainer; + protected final ContextListContainer<XmlNs, XmlNsAnnotation> xmlNsPrefixContainer; public GenericJavaXmlSchema(JaxbPackageInfo parent) { @@ -52,7 +52,7 @@ public class GenericJavaXmlSchema this.location = this.getResourceLocation(); this.specifiedAttributeFormDefault = getResourceAttributeFormDefault(); this.specifiedElementFormDefault = getResourceElementFormDefault(); - this.xmlNsPrefixContainer = new XmlNsPrefixContainer(); + this.xmlNsPrefixContainer = this.buildXmlNsPrefixContainer(); } @@ -97,7 +97,7 @@ public class GenericJavaXmlSchema // ********** namespace ********** public String getNamespace() { - return (this.specifiedNamespace == null) ? "" : this.specifiedNamespace; + return (this.specifiedNamespace == null) ? "" : this.specifiedNamespace; //$NON-NLS-1$ } public String getSpecifiedNamespace() { @@ -238,6 +238,12 @@ public class GenericJavaXmlSchema protected ListIterable<XmlNsAnnotation> getXmlNsAnnotations() { return getXmlSchemaAnnotation().getXmlns(); } + + protected ContextListContainer<XmlNs, XmlNsAnnotation> buildXmlNsPrefixContainer() { + XmlNsPrefixContainer container = new XmlNsPrefixContainer(); + container.initialize(); + return container; + } // **************** content assist **************************************** diff --git a/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/context/java/GenericJavaXmlSeeAlso.java b/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/context/java/GenericJavaXmlSeeAlso.java index 10bd71e06b..ba3c150501 100644 --- a/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/context/java/GenericJavaXmlSeeAlso.java +++ b/jaxb/plugins/org.eclipse.jpt.jaxb.core/src/org/eclipse/jpt/jaxb/core/internal/context/java/GenericJavaXmlSeeAlso.java @@ -22,13 +22,13 @@ public class GenericJavaXmlSeeAlso protected final XmlSeeAlsoAnnotation annotation; - protected final ValueContainer valueContainer; + protected final ListContainer<String, String> valueContainer; public GenericJavaXmlSeeAlso(JaxbPersistentClass parent, XmlSeeAlsoAnnotation annotation) { super(parent); this.annotation = annotation; - this.valueContainer = new ValueContainer(); + this.valueContainer = this.buildValueContainer(); } @@ -74,6 +74,12 @@ public class GenericJavaXmlSeeAlso return this.annotation.getTextRange(astRoot); } + protected ListContainer<String, String> buildValueContainer() { + ValueContainer container = new ValueContainer(); + container.initialize(); + return container; + } + protected class ValueContainer extends ListContainer<String, String> { |