diff options
author | kmoore | 2012-01-20 19:34:35 +0000 |
---|---|---|
committer | kmoore | 2012-01-20 19:34:35 +0000 |
commit | 2258fbd13be54d5fccdbb1d24970472f993b57c5 (patch) | |
tree | 16f51029f718adc444206e778263c866cdb4cb3f /jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/context | |
parent | 2906afe6464d3be54b3d0455f1b3dd71603f7efd (diff) | |
download | webtools.dali-2258fbd13be54d5fccdbb1d24970472f993b57c5.tar.gz webtools.dali-2258fbd13be54d5fccdbb1d24970472f993b57c5.tar.xz webtools.dali-2258fbd13be54d5fccdbb1d24970472f993b57c5.zip |
added preliminary support for EclipseLink access-methods and VIRTUAL access type
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/context')
3 files changed, 32 insertions, 27 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/context/AccessHolder.java b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/context/AccessHolder.java index 441e633b01..6f9d148890 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/context/AccessHolder.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/context/AccessHolder.java @@ -41,7 +41,7 @@ public interface AccessHolder String SPECIFIED_ACCESS_PROPERTY = "specifiedAccess"; //$NON-NLS-1$ /** - * Return the default access type, never null + * Return the default access type */ AccessType getDefaultAccess(); diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/context/AccessType.java b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/context/AccessType.java index c495c77c85..470aff4b37 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/context/AccessType.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/context/AccessType.java @@ -9,6 +9,9 @@ ******************************************************************************/ package org.eclipse.jpt.jpa.core.context; +import org.eclipse.jpt.common.core.JptResourceType; +import org.eclipse.jpt.jpa.core.JpaPlatform; + /** * Context model corresponding to:<ul> * <li>the XML resource model @@ -24,33 +27,34 @@ package org.eclipse.jpt.jpa.core.context; * pioneering adopters on the understanding that any code that uses this API * will almost certainly be broken (repeatedly) as the API evolves. * - * @version 2.2 + * @version 3.2 * @since 2.0 */ -public enum AccessType { +public class AccessType { - FIELD( + public static final AccessType FIELD = new AccessType( org.eclipse.jpt.jpa.core.resource.java.AccessType.FIELD, - org.eclipse.jpt.jpa.core.resource.orm.AccessType.FIELD - ), - PROPERTY( + org.eclipse.jpt.jpa.core.resource.orm.AccessType.FIELD, + "Field" //$NON-NLS-1$ + ); + public static final AccessType PROPERTY = new AccessType( org.eclipse.jpt.jpa.core.resource.java.AccessType.PROPERTY, - org.eclipse.jpt.jpa.core.resource.orm.AccessType.PROPERTY + org.eclipse.jpt.jpa.core.resource.orm.AccessType.PROPERTY, + "Property" //$NON-NLS-1$ ); - private org.eclipse.jpt.jpa.core.resource.java.AccessType javaAccessType; - private String ormAccessType; + protected final org.eclipse.jpt.jpa.core.resource.java.AccessType javaAccessType; + protected final String ormAccessType; + protected final String displayString; - AccessType(org.eclipse.jpt.jpa.core.resource.java.AccessType javaAccessType, String ormAccessType) { - if (javaAccessType == null) { - throw new NullPointerException(); - } + public AccessType(org.eclipse.jpt.jpa.core.resource.java.AccessType javaAccessType, String ormAccessType, String displayString) { if (ormAccessType == null) { throw new NullPointerException(); } this.javaAccessType = javaAccessType; this.ormAccessType = ormAccessType; + this.displayString = displayString; } public org.eclipse.jpt.jpa.core.resource.java.AccessType getJavaAccessType() { @@ -61,15 +65,18 @@ public enum AccessType { return this.ormAccessType; } + public String getDisplayString() { + return this.displayString; + } // ********** static methods ********** - public static AccessType fromJavaResourceModel(org.eclipse.jpt.jpa.core.resource.java.AccessType javaAccessType) { - return (javaAccessType == null) ? null : fromJavaResourceModel_(javaAccessType); + public static AccessType fromJavaResourceModel(org.eclipse.jpt.jpa.core.resource.java.AccessType javaAccessType, JpaPlatform jpaPlatform, JptResourceType resourceType) { + return (javaAccessType == null) ? null : fromJavaResourceModel_(javaAccessType, jpaPlatform, resourceType); } - private static AccessType fromJavaResourceModel_(org.eclipse.jpt.jpa.core.resource.java.AccessType javaAccessType) { - for (AccessType accessType : AccessType.values()) { + private static AccessType fromJavaResourceModel_(org.eclipse.jpt.jpa.core.resource.java.AccessType javaAccessType, JpaPlatform jpaPlatform, JptResourceType resourceType) { + for (AccessType accessType : jpaPlatform.getJpaVariation().getSupportedAccessTypes(resourceType)) { if (accessType.getJavaAccessType() == javaAccessType) { return accessType; } @@ -81,12 +88,12 @@ public enum AccessType { return (accessType == null) ? null : accessType.getJavaAccessType(); } - public static AccessType fromOrmResourceModel(String ormAccessType) { - return (ormAccessType == null) ? null : fromOrmResourceModel_(ormAccessType); + public static AccessType fromOrmResourceModel(String ormAccessType, JpaPlatform jpaPlatform, JptResourceType resourceType) { + return (ormAccessType == null) ? null : fromOrmResourceModel_(ormAccessType, jpaPlatform, resourceType); } - private static AccessType fromOrmResourceModel_(String ormAccessType) { - for (AccessType accessType : AccessType.values()) { + private static AccessType fromOrmResourceModel_(String ormAccessType, JpaPlatform jpaPlatform, JptResourceType resourceType) { + for (AccessType accessType : jpaPlatform.getJpaVariation().getSupportedAccessTypes(resourceType)) { if (accessType.getOrmAccessType().equals(ormAccessType)) { return accessType; } diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/context/ReadOnlyAccessHolder.java b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/context/ReadOnlyAccessHolder.java index 3cc216ecad..1165f759c8 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/context/ReadOnlyAccessHolder.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/context/ReadOnlyAccessHolder.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2010 Oracle. All rights reserved. + * Copyright (c) 2010, 2012 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. @@ -9,8 +9,6 @@ ******************************************************************************/ package org.eclipse.jpt.jpa.core.context; -import org.eclipse.jpt.common.utility.model.Model; - /** * Common interface that can be used by clients interested only in a type * or attribute's access setting (e.g. a UI composite). @@ -21,11 +19,11 @@ import org.eclipse.jpt.common.utility.model.Model; * pioneering adopters on the understanding that any code that uses this API * will almost certainly be broken (repeatedly) as the API evolves. * - * @version 2.2 + * @version 3.2 * @since 2.2 */ public interface ReadOnlyAccessHolder - extends Model + extends JpaContextNode { /** * Return the access type, whether specified or defaulted. |