diff options
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/mappings/DiscriminatorType.java')
-rw-r--r-- | jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/mappings/DiscriminatorType.java | 303 |
1 files changed, 303 insertions, 0 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/mappings/DiscriminatorType.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/mappings/DiscriminatorType.java new file mode 100644 index 0000000000..ef1b54227b --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/mappings/DiscriminatorType.java @@ -0,0 +1,303 @@ +/******************************************************************************* + * Copyright (c) 2005, 2007 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.core.internal.mappings; + +import static org.eclipse.jpt.core.internal.mappings.DiscriminatorType.CHAR_VALUE; +import static org.eclipse.jpt.core.internal.mappings.DiscriminatorType.DEFAULT_VALUE; +import static org.eclipse.jpt.core.internal.mappings.DiscriminatorType.INTEGER_VALUE; +import static org.eclipse.jpt.core.internal.mappings.DiscriminatorType.STRING_VALUE; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import org.eclipse.emf.common.util.Enumerator; +import org.eclipse.jpt.core.internal.content.java.mappings.JPA; + +/** + * <!-- begin-user-doc --> + * A representation of the literals of the enumeration '<em><b>Discriminator Type</b></em>', + * and utility methods for working with them. + * <!-- end-user-doc --> + * @see org.eclipse.jpt.core.internal.mappings.JpaCoreMappingsPackage#getDiscriminatorType() + * @model + * @generated + */ +public enum DiscriminatorType implements Enumerator { + /** + * The '<em><b>Default</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #DEFAULT_VALUE + * @generated + * @ordered + */ + DEFAULT(0, "Default", "Default (String)"), + /** + * The '<em><b>STRING</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #STRING_VALUE + * @generated + * @ordered + */ + STRING(1, "STRING", "String"), + /** + * The '<em><b>CHAR</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #CHAR_VALUE + * @generated + * @ordered + */ + CHAR(2, "CHAR", "Char"), + /** + * The '<em><b>INTEGER</b></em>' literal object. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #INTEGER_VALUE + * @generated + * @ordered + */ + INTEGER(3, "INTEGER", "Integer"); + /** + * The '<em><b>Default</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>Default</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #DEFAULT + * @model name="Default" literal="Default (String)" + * @generated + * @ordered + */ + public static final int DEFAULT_VALUE = 0; + + /** + * The '<em><b>STRING</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>String</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #STRING + * @model literal="String" + * @generated + * @ordered + */ + public static final int STRING_VALUE = 1; + + /** + * The '<em><b>CHAR</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>Char</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #CHAR + * @model literal="Char" + * @generated + * @ordered + */ + public static final int CHAR_VALUE = 2; + + /** + * The '<em><b>INTEGER</b></em>' literal value. + * <!-- begin-user-doc --> + * <p> + * If the meaning of '<em><b>Integer</b></em>' literal object isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @see #INTEGER + * @model literal="Integer" + * @generated + * @ordered + */ + public static final int INTEGER_VALUE = 3; + + /** + * An array of all the '<em><b>Discriminator Type</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static final DiscriminatorType[] VALUES_ARRAY = new DiscriminatorType[] { + DEFAULT, STRING, CHAR, INTEGER, + }; + + /** + * A public read-only list of all the '<em><b>Discriminator Type</b></em>' enumerators. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final List<DiscriminatorType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); + + /** + * Returns the '<em><b>Discriminator Type</b></em>' literal with the specified literal value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static DiscriminatorType get(String literal) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + DiscriminatorType result = VALUES_ARRAY[i]; + if (result.toString().equals(literal)) { + return result; + } + } + return null; + } + + /** + * Returns the '<em><b>Discriminator Type</b></em>' literal with the specified name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static DiscriminatorType getByName(String name) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + DiscriminatorType result = VALUES_ARRAY[i]; + if (result.getName().equals(name)) { + return result; + } + } + return null; + } + + /** + * Returns the '<em><b>Discriminator Type</b></em>' literal with the specified integer value. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static DiscriminatorType get(int value) { + switch (value) { + case DEFAULT_VALUE : + return DEFAULT; + case STRING_VALUE : + return STRING; + case CHAR_VALUE : + return CHAR; + case INTEGER_VALUE : + return INTEGER; + } + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final int value; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final String name; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private final String literal; + + /** + * Only this class can construct instances. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private DiscriminatorType(int value, String name, String literal) { + this.value = value; + this.name = name; + this.literal = literal; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public int getValue() { + return value; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getName() { + return name; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getLiteral() { + return literal; + } + + /** + * Returns the literal value of the enumerator, which is its string representation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() { + return literal; + } + + public static DiscriminatorType fromJavaAnnotationValue(Object javaAnnotationValue) { + if (javaAnnotationValue == null) { + return DEFAULT; + } + if (javaAnnotationValue.equals(JPA.DISCRIMINATOR_TYPE__CHAR)) { + return CHAR; + } + if (javaAnnotationValue.equals(JPA.DISCRIMINATOR_TYPE__INTEGER)) { + return INTEGER; + } + if (javaAnnotationValue.equals(JPA.DISCRIMINATOR_TYPE__STRING)) { + return STRING; + } + return DEFAULT; + } + + public String convertToJavaAnnotationValue() { + switch (this.getValue()) { + case DiscriminatorType.DEFAULT_VALUE : + return null; + case CHAR_VALUE : + return JPA.DISCRIMINATOR_TYPE__CHAR; + case INTEGER_VALUE : + return JPA.DISCRIMINATOR_TYPE__INTEGER; + case STRING_VALUE : + return JPA.DISCRIMINATOR_TYPE__STRING; + default : + throw new IllegalArgumentException("unknown discriminator type: " + this); + } + } + + public boolean isString() { + return (this.getValue() == DEFAULT_VALUE) || (this.getValue() == STRING_VALUE); + } +} //DiscriminatorType |