Class AbstractNameMapper

java.lang.Object
com.sun.jdo.api.persistence.mapping.ejb.AbstractNameMapper

public abstract class AbstractNameMapper extends Object
This is a class which helps translate between the various names of the CMP (ejb name, abstract schema, abstract bean, concrete bean, local interface, remote interface) and the persistence-capable class name. It also has methods for translation of field names. The basic entry point is ejb name or persistence-capable class name.
Author:
Rochelle Raccah
  • Field Details

    • USER_DEFINED_KEY_CLASS

      public static final int USER_DEFINED_KEY_CLASS
      See Also:
    • PRIMARY_KEY_FIELD

      public static final int PRIMARY_KEY_FIELD
      See Also:
    • UNKNOWN_KEY_CLASS

      public static final int UNKNOWN_KEY_CLASS
      See Also:
    • GENERATED_KEY_FIELD_NAME

      public static final String GENERATED_KEY_FIELD_NAME
      Defines key field name for unknown primary key
      See Also:
    • GENERATED_VERSION_FIELD_PREFIX

      public static final String GENERATED_VERSION_FIELD_PREFIX
      Defines version field name prefix for version consistency
      See Also:
    • GENERATED_CMR_FIELD_PREFIX

      protected static final String GENERATED_CMR_FIELD_PREFIX
      See Also:
  • Constructor Details

    • AbstractNameMapper

      public AbstractNameMapper()
  • Method Details

    • getGeneratedFieldsMap

      protected abstract Map getGeneratedFieldsMap()
    • getInverseFieldsMap

      protected abstract Map getInverseFieldsMap()
    • isEjbName

      public abstract boolean isEjbName(String name)
      Determines if the specified name represents an ejb.
      Parameters:
      name - the fully qualified name to be checked
      Returns:
      true if this name represents an ejb; false otherwise.
    • getAbstractBeanClassForEjbName

      public abstract String getAbstractBeanClassForEjbName(String name)
      Gets the name of the abstract bean class which corresponds to the specified ejb name.
      Parameters:
      name - the name of the ejb
      Returns:
      the name of the abstract bean for the specified ejb
    • getKeyClassForEjbName

      public abstract String getKeyClassForEjbName(String name)
      Gets the name of the key class which corresponds to the specified ejb name.
      Parameters:
      name - the name of the ejb
      Returns:
      the name of the key class for the ejb
    • getKeyClassForPersistenceKeyClass

      public String getKeyClassForPersistenceKeyClass(String className)
      Gets the name of the key class which corresponds to the specified persistence-capable key class name. Returns null if the supplied className is not a persistence-capable key class name.
      Parameters:
      className - the name of the persistence-capable key class
      Returns:
      the name of the key class for the ejb
    • getEjbNameForPersistenceKeyClass

      public String getEjbNameForPersistenceKeyClass(String className)
      Gets the name of the ejb name which corresponds to the specified persistence-capable key class name. Returns null if the supplied className is not a persistence-capable key class name.
      Parameters:
      className - the name of the persistence-capable key class
      Returns:
      the name of the ejb for the specified persistence-capable key class
    • getKeyClassTypeForEjbName

      public abstract int getKeyClassTypeForEjbName(String name)
      Get the type of key class of this ejb.
      Returns:
      the key class type, one of USER_DEFINED_KEY_CLASS, PRIMARY_KEY_FIELD, or UNKNOWN_KEY_CLASS
    • getAbstractSchemaForEjbName

      public abstract String getAbstractSchemaForEjbName(String name)
      Gets the name of the abstract schema which corresponds to the specified ejb.
      Parameters:
      name - the name of the ejb
      Returns:
      the name of the abstract schema for the specified ejb
    • getEjbNameForPersistenceClass

      public abstract String getEjbNameForPersistenceClass(String className)
      Gets the name of the ejb name which corresponds to the specified persistence-capable class name.
      Parameters:
      className - the name of the persistence-capable
      Returns:
      the name of the ejb for the specified persistence-capable
    • getPersistenceClassForEjbName

      public abstract String getPersistenceClassForEjbName(String name)
      Gets the name of the persistence-capable class which corresponds to the specified ejb name.
      Parameters:
      name - the name of the ejb
      Returns:
      the name of the persistence-capable for the specified ejb
    • isLocalInterface

      public abstract boolean isLocalInterface(String name)
      Determines if the specified name represents a local interface.
      Parameters:
      name - the fully qualified name to be checked
      Returns:
      true if this name represents a local interface; false otherwise.
    • getPersistenceClassForLocalInterface

      public String getPersistenceClassForLocalInterface(String className, String fieldName, String interfaceName)
      Gets the name of the persistence-capable class which corresponds to the specified local interface name.
      Parameters:
      className - the name of the persistence-capable class which contains fieldName from which to find relationship and therefore the local interface
      fieldName - the name of the field in the persistence-capable class
      interfaceName - the name of the local interface
      Returns:
      the name of the persistence-capable for the specified local interface which is related to the specified class name, field name pair
    • getEjbNameForLocalInterface

      public abstract String getEjbNameForLocalInterface(String ejbName, String fieldName, String interfaceName)
      Gets the name of the ejb which corresponds to the specified local interface name.
      Parameters:
      ejbName - the name of the ejb which contains fieldName from which to find relationship and therefore the local interface
      fieldName - the name of the field in the ejb
      interfaceName - the name of the local interface
      Returns:
      the name of the ejb for the specified local interface
    • getLocalInterfaceForEjbName

      public abstract String getLocalInterfaceForEjbName(String name)
      Gets the name of the local interface which corresponds to the specified ejb name.
      Parameters:
      name - the name of the ejb
      Returns:
      the name of the local interface for the specified ejb
    • isRemoteInterface

      public abstract boolean isRemoteInterface(String name)
      Determines if the specified name represents a remote interface.
      Parameters:
      name - the fully qualified name to be checked
      Returns:
      true if this name represents a remote interface; false otherwise.
    • getPersistenceClassForRemoteInterface

      public String getPersistenceClassForRemoteInterface(String className, String fieldName, String interfaceName)
      Gets the name of the persistence-capable class which corresponds to the specified remote interface name.
      Parameters:
      className - the name of the persistence-capable class which contains fieldName from which to find relationship and therefore the remote interface
      fieldName - the name of the field in the persistence-capable class
      interfaceName - the name of the remote interface
      Returns:
      the name of the persistence-capable for the specified remote interface which is related to the specified class name, field name pair
    • getEjbNameForRemoteInterface

      public abstract String getEjbNameForRemoteInterface(String ejbName, String fieldName, String interfaceName)
      Gets the name of the ejb which corresponds to the specified remote interface name.
      Parameters:
      ejbName - the name of the ejb which contains fieldName from which to find relationship and therefore the remote interface
      fieldName - the name of the field in the ejb
      interfaceName - the name of the remote interface
      Returns:
      the name of the ejb for the specified remote interface
    • getRemoteInterfaceForEjbName

      public abstract String getRemoteInterfaceForEjbName(String name)
      Gets the name of the remote interface which corresponds to the specified ejb name.
      Parameters:
      name - the name of the ejb
      Returns:
      the name of the remote interface for the specified ejb
    • getEjbFieldForPersistenceField

      public abstract String getEjbFieldForPersistenceField(String className, String fieldName)
      Gets the name of the field in the ejb which corresponds to the specified persistence-capable class name and field name pair.
      Parameters:
      className - the name of the persistence-capable
      fieldName - the name of the field in the persistence-capable
      Returns:
      the name of the field in the ejb for the specified persistence-capable field
    • getPersistenceFieldForEjbField

      public abstract String getPersistenceFieldForEjbField(String name, String fieldName)
      Gets the name of the field in the persistence-capable class which corresponds to the specified ejb name and field name pair.
      Parameters:
      name - the name of the ejb
      fieldName - the name of the field in the ejb
      Returns:
      the name of the field in the persistence-capable for the specified ejb field
    • isGeneratedField

      public boolean isGeneratedField(String name, String fieldName)
      Returns true if the field is a generated field. That includes: relationships generated for 2 way managed relationships, key fields generated for use with UNKNOWN_KEY_CLASS, or version fields generated to hold a version consistency column.
      Parameters:
      name - the name of the ejb
      fieldName - the name of the field in the ejb
      Returns:
      true if the field is generated;false otherwise
    • isGeneratedEjbRelationship

      public boolean isGeneratedEjbRelationship(String name, String fieldName)
      Returns true if the field in the persistence-capable class which corresponds to the specified ejb name and field name pair is one which was generated automatically for 2 way managed relationships in the case that the ejb specifies one way relationships.
      Parameters:
      name - the name of the ejb
      fieldName - the name of the field in the ejb
      Returns:
      true if the field is generated;false otherwise
    • getGeneratedRelationshipsForEjbName

      public List getGeneratedRelationshipsForEjbName(String name)
      The list contains generated relationship field names.
      Parameters:
      name - the name of the ejb
      Returns:
      a List of generated relationship names
    • getGeneratedFieldForEjbField

      public String[] getGeneratedFieldForEjbField(String name, String fieldName)
      Gets the name of the generated field in the ejb which corresponds to the specified ejb name and field name pair.
      Parameters:
      name - the name of the ejb
      fieldName - the name of the field in the ejb
      Returns:
      a String array of the form {, } which represents the generated field for the ejb field
    • getEjbFieldForGeneratedField

      public String[] getEjbFieldForGeneratedField(String name, String fieldName)
      Gets the name of the ejb field which corresponds to the specified generated ejb name and field name pair.
      Parameters:
      name - the name of the ejb
      fieldName - the name of the field in the ejb
      Returns:
      a String array of the form {, } which represents the inverse field for the generated field