diff options
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/persistence/translators/PropertyTranslator.java')
-rw-r--r-- | jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/persistence/translators/PropertyTranslator.java | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/persistence/translators/PropertyTranslator.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/persistence/translators/PropertyTranslator.java new file mode 100644 index 0000000000..17d72d1c45 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/resource/persistence/translators/PropertyTranslator.java @@ -0,0 +1,40 @@ +package org.eclipse.jpt.core.internal.resource.persistence.translators; + +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.wst.common.internal.emf.resource.IDTranslator; +import org.eclipse.wst.common.internal.emf.resource.Translator; + +public class PropertyTranslator extends Translator + implements PersistenceXmlMapper +{ + private Translator[] children; + + + public PropertyTranslator(String domNameAndPath, EStructuralFeature aFeature) { + super(domNameAndPath, aFeature, END_TAG_NO_INDENT); + } + + + public Translator[] getChildren(Object target, int versionID) { + if (children == null) { + children = createChildren(); + } + return children; + } + + protected Translator[] createChildren() { + return new Translator[] { + IDTranslator.INSTANCE, + createNameTranslator(), + createValueTranslator() + }; + } + + private Translator createNameTranslator() { + return new Translator(NAME, PERSISTENCE_PKG.getXmlProperty_Name(), DOM_ATTRIBUTE); + } + + private Translator createValueTranslator() { + return new Translator(VALUE, PERSISTENCE_PKG.getXmlProperty_Value(), DOM_ATTRIBUTE); + } +} |