Interface Login

  • All Superinterfaces:
    CoreLogin<org.eclipse.persistence.internal.databaseaccess.Platform>
    All Known Implementing Classes:
    DatabaseLogin, DatasourceLogin, EISLogin, XMLLogin

    public interface Login
    extends CoreLogin<org.eclipse.persistence.internal.databaseaccess.Platform>

    Purpose: Define the information required to connect to an EclipseLink session.

    Description: This interface represents a generic concept of a login to be used when connecting to a data-store. It is independent of JDBC so that the EclipseLink session interface can be used for JCA, XML, non-relational or three-tiered frameworks.

    See Also:
    DatabaseLogin
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      org.eclipse.persistence.internal.databaseaccess.Accessor buildAccessor()
      INTERNAL: Build the correct datasource Accessor for this login instance.
      Login clone()
      INTERNAL: Clone the login.
      java.lang.Object connectToDatasource​(org.eclipse.persistence.internal.databaseaccess.Accessor accessor, Session session)
      INTERNAL: Connect to the datasource, and return the driver level connection object.
      org.eclipse.persistence.internal.databaseaccess.Platform getDatasourcePlatform()
      PUBLIC: Return the datasource platform specific information.
      java.lang.String getPassword()
      PUBLIC: All logins must take a user name and password.
      DatabasePlatform getPlatform()
      INTERNAL: Return the database platform specific information.
      java.lang.Object getProperty​(java.lang.String name)
      PUBLIC: The properties are additional, driver-specific, connection information to be passed to the driver.
      java.lang.String getTableQualifier()
      PUBLIC: Return the qualifier for the all of the tables.
      java.lang.String getUserName()
      PUBLIC: All logins must take a user name and password.
      boolean isConnectionHealthValidatedOnError()
      PUBLIC: This value defaults to false when not on a DatabaseLogin as the functionality has not been implemented for other datasource type.
      void setDatasourcePlatform​(org.eclipse.persistence.internal.databaseaccess.Platform platform)
      PUBLIC: Set the database platform specific information.
      void setPassword​(java.lang.String password)
      PUBLIC: All logins must take a user name and password.
      void setPlatform​(org.eclipse.persistence.internal.databaseaccess.Platform platform)
      INTERNAL: Set the database platform specific information.
      void setProperties​(java.util.Properties properties)
      PUBLIC: The properties are additional, driver-specific, connection information to be passed to the JDBC driver.
      void setProperty​(java.lang.String propertyName, java.lang.Object propertyValue)
      PUBLIC: Some JDBC drivers require additional, driver-specific, properties.
      void setUserName​(java.lang.String userName)
      PUBLIC: All logins must take a user name and password.
      boolean shouldAllowConcurrentReadWrite()
      INTERNAL: Used for cache isolation.
      boolean shouldSynchronizedReadOnWrite()
      INTERNAL: Used for cache isolation.
      boolean shouldSynchronizeObjectLevelReadWrite()
      INTERNAL: Used for Cache Isolation.
      boolean shouldSynchronizeObjectLevelReadWriteDatabase()
      INTERNAL: Used for Cache Isolation.
      boolean shouldSynchronizeWrites()
      INTERNAL: Used for Cache Isolation.
      boolean shouldUseExternalConnectionPooling()
      PUBLIC: Return whether EclipseLink uses some externally managed connection pooling.
      boolean shouldUseExternalTransactionController()
      PUBLIC: Return whether EclipseLink uses some externally managed transaction service such as JTS.
    • Method Detail

      • getPassword

        java.lang.String getPassword()
        PUBLIC: All logins must take a user name and password.
      • getUserName

        java.lang.String getUserName()
        PUBLIC: All logins must take a user name and password.
      • isConnectionHealthValidatedOnError

        boolean isConnectionHealthValidatedOnError()
        PUBLIC: This value defaults to false when not on a DatabaseLogin as the functionality has not been implemented for other datasource type. On an SQL Exception EclipseLink will ping the database to determine if the connection used can continue to be used for queries. This should have no impact on applications unless the user is using pessimistic locking queries with 'no wait' or are using a query timeout feature. If that is the case and the application is experiencing a performance impact from the health check then this feature can be turned off. Turning this feature off will prevent EclipseLink from being able to retry queries in the case of database failure.
      • setPassword

        void setPassword​(java.lang.String password)
        PUBLIC: All logins must take a user name and password.
      • setUserName

        void setUserName​(java.lang.String userName)
        PUBLIC: All logins must take a user name and password.
      • shouldUseExternalConnectionPooling

        boolean shouldUseExternalConnectionPooling()
        PUBLIC: Return whether EclipseLink uses some externally managed connection pooling.
      • shouldUseExternalTransactionController

        boolean shouldUseExternalTransactionController()
        PUBLIC: Return whether EclipseLink uses some externally managed transaction service such as JTS.
      • getPlatform

        DatabasePlatform getPlatform()
        INTERNAL: Return the database platform specific information. This allows EclipseLink to configure certain advanced features for the database desired. The platform also allows configuration of sequence information. NOTE: this must only be used for relational specific usage and will not work for non-relational datasources.
      • getDatasourcePlatform

        org.eclipse.persistence.internal.databaseaccess.Platform getDatasourcePlatform()
        PUBLIC: Return the datasource platform specific information. This allows EclipseLink to configure certain advanced features for the datasource desired. The platform also allows configuration of sequence information.
        Specified by:
        getDatasourcePlatform in interface CoreLogin<org.eclipse.persistence.internal.databaseaccess.Platform>
      • setPlatform

        void setPlatform​(org.eclipse.persistence.internal.databaseaccess.Platform platform)
        INTERNAL: Set the database platform specific information. This allows EclipseLink to configure certain advanced features for the database desired. The platform also allows configuration of sequence information.
      • setDatasourcePlatform

        void setDatasourcePlatform​(org.eclipse.persistence.internal.databaseaccess.Platform platform)
        PUBLIC: Set the database platform specific information. This allows EclipseLink to configure certain advanced features for the database desired. The platform also allows configuration of sequence information.
      • connectToDatasource

        java.lang.Object connectToDatasource​(org.eclipse.persistence.internal.databaseaccess.Accessor accessor,
                                             Session session)
                                      throws DatabaseException
        INTERNAL: Connect to the datasource, and return the driver level connection object.
        Throws:
        DatabaseException
      • buildAccessor

        org.eclipse.persistence.internal.databaseaccess.Accessor buildAccessor()
        INTERNAL: Build the correct datasource Accessor for this login instance.
      • clone

        Login clone()
        INTERNAL: Clone the login.
      • getTableQualifier

        java.lang.String getTableQualifier()
        PUBLIC: Return the qualifier for the all of the tables.
      • shouldAllowConcurrentReadWrite

        boolean shouldAllowConcurrentReadWrite()
        INTERNAL: Used for cache isolation.
      • shouldSynchronizeWrites

        boolean shouldSynchronizeWrites()
        INTERNAL: Used for Cache Isolation. Causes EclipseLink to lock at the class level on cache updates.
      • shouldSynchronizeObjectLevelReadWrite

        boolean shouldSynchronizeObjectLevelReadWrite()
        INTERNAL: Used for Cache Isolation. Causes EclipseLink to lock at the object level on cache updates and cache access.
      • shouldSynchronizeObjectLevelReadWriteDatabase

        boolean shouldSynchronizeObjectLevelReadWriteDatabase()
        INTERNAL: Used for Cache Isolation. Causes EclipseLink to lock at the object level on cache updates and cache access, based on database transaction.
      • shouldSynchronizedReadOnWrite

        boolean shouldSynchronizedReadOnWrite()
        INTERNAL: Used for cache isolation.
      • getProperty

        java.lang.Object getProperty​(java.lang.String name)
        PUBLIC: The properties are additional, driver-specific, connection information to be passed to the driver.

        NOTE: Do not set the password directly by getting the properties and setting the "password" property directly. Use the method DatabaseLogin.setPassword(String).

      • setProperties

        void setProperties​(java.util.Properties properties)
        PUBLIC: The properties are additional, driver-specific, connection information to be passed to the JDBC driver.
      • setProperty

        void setProperty​(java.lang.String propertyName,
                         java.lang.Object propertyValue)
        PUBLIC: Some JDBC drivers require additional, driver-specific, properties. Add the specified property to those to be passed to the JDBC driver.