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:
  • Method Details

    • getPassword

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

      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(String password)
      PUBLIC: All logins must take a user name and password.
    • setUserName

      void setUserName(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

      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

      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

      Object getProperty(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(Properties properties)
      PUBLIC: The properties are additional, driver-specific, connection information to be passed to the JDBC driver.
    • setProperty

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