Package org.silverpeas.components.mydb.model

# Class MyDBConnectionInfo

java.lang.Object
org.silverpeas.core.persistence.datasource.model.jpa.AbstractJpaEntity<E,I>
org.silverpeas.core.persistence.datasource.model.jpa.BasicJpaEntity<MyDBConnectionInfo,org.silverpeas.core.persistence.datasource.model.identifier.UniqueIntegerIdentifier>
org.silverpeas.components.mydb.model.MyDBConnectionInfo

All Implemented Interfaces:
  `Serializable`, `org.silverpeas.core.persistence.datasource.model.IdentifiableEntity`

@Entity public class MyDBConnectionInfo extends org.silverpeas.core.persistence.datasource.model.jpa.BasicJpaEntity<MyDBConnectionInfo,org.silverpeas.core.persistence.datasource.model.identifier.UniqueIntegerIdentifier>
Information about a connexion to a data source. Such information is the name of the data source and the credentials required to access that data source.

Author:
  mmoquillon
See Also:
  - Serialized Form

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `MyDBConnectionInfo()`
  ``
  `MyDBConnectionInfo(String dataSource, String instanceId)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `checkConnection()`
  Checks the connection with the remote data source referred in this `MyDBConnectionInfo` instance.
  `boolean`
  `equals(Object o)`
  `int`
  `getDataMaxNumber()`
  Gets the maximum number of data to return when requesting the data source.
  `String`
  `getDataSourceName()`
  Gets the JNDI name of the data source targeted by this connection information.
  `String`
  `getDefaultTableName()`
  Gets the name of the table to load with this connexion information.
  `static List<MyDBConnectionInfo>`
  `getFromComponentInstance(String instanceId)`
  `String`
  `getLogin()`
  Gets the user identifier used in the data source authentication.
  `String`
  `getPassword()`
  Gets the password associated with the login to connect the data source.
  `int`
  `hashCode()`
  `boolean`
  `isDefaultTableNameDefined()`
  Is the name of the default table to load is defined?
  `boolean`
  `isDefined()`
  Is this connection information defined?
  `Connection`
  `openConnection()`
  Opens a connection to the data source targeted by this connection information.
  `static void`
  `removeFromComponentInstance(String instanceId)`
  `void`
  `save()`
  Saves or updates this connection information into the persistence context in order to be able to retrieve it later.
  `void`
  `setDataMaxNumber(int maxNumber)`
  Sets the maximum number of data to select when requesting the data source.
  `void`
  `setDataSourceName(String dataSourceName)`
  Sets a new data source by its JNDI name to this connection info.
  `void`
  `setDefaultTableName(String tableName)`
  Sets the name of the default table to load with this connection information.
  `void`
  `setLoginAndPassword(String login, String password)`
  Sets the login and the password required to open a connection to the targeted data source.
  `MyDBConnectionInfo`
  `withDataMaxNumber(int maxNumber)`
  Sets the maximum number of data to select when requesting the data source and returns this connection information.
  `MyDBConnectionInfo`
  `withDataSourceName(String dataSourceName)`
  Sets a new data source by its JNDI name to this connection info.
  `MyDBConnectionInfo`
  `withDefaultTableName(String tableName)`
  Sets the default table to defaultTable from the database with this connection information and returns the latter.
  `MyDBConnectionInfo`
  `withLoginAndPassword(String login, String password)`
  `MyDBConnectionInfo`
  `withoutAnyDefaultTable()`

  ### Methods inherited from class org.silverpeas.core.persistence.datasource.model.jpa.BasicJpaEntity

  `performBeforePersist, performBeforeRemove, performBeforeUpdate`

  ### Methods inherited from class org.silverpeas.core.persistence.datasource.model.jpa.AbstractJpaEntity

  `getId, getNativeId, isPersisted, setId`

  ### Methods inherited from class java.lang.Object

  `clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### MyDBConnectionInfo

    protected MyDBConnectionInfo()

  - ### MyDBConnectionInfo

    public MyDBConnectionInfo(String dataSource, String instanceId)

- ## Method Details

  - ### getFromComponentInstance

    public static List<MyDBConnectionInfo> getFromComponentInstance(String instanceId)

  - ### removeFromComponentInstance

    public static void removeFromComponentInstance(String instanceId)

  - ### isDefined

    public boolean isDefined()
    Is this connection information defined? Information about a connection to a data source is defined if both it is related to a myDB application instance and the name of the data source is defined.
    Returns:
      true if the connection is defined. False otherwise.

  - ### withDefaultTableName

    public MyDBConnectionInfo withDefaultTableName(String tableName)
    Sets the default table to defaultTable from the database with this connection information and returns the latter.
    Parameters:
      `tableName` - the name of the table to load by default.
    Returns:
      itself.

  - ### withoutAnyDefaultTable

    public MyDBConnectionInfo withoutAnyDefaultTable()

  - ### withDataMaxNumber

    public MyDBConnectionInfo withDataMaxNumber(int maxNumber)
    Sets the maximum number of data to select when requesting the data source and returns this connection information.
    Parameters:
      `maxNumber` - the maximum number of data to return. 0 means all.
    Returns:
      itself.

  - ### withLoginAndPassword

    public MyDBConnectionInfo withLoginAndPassword(String login, String password)

  - ### withDataSourceName

    public MyDBConnectionInfo withDataSourceName(String dataSourceName)
    Sets a new data source by its JNDI name to this connection info.
    Parameters:
      `dataSourceName` - the JNDI name of the data source to connect to.
    Returns:
      itself.

  - ### getDataSourceName

    public String getDataSourceName()
    Gets the JNDI name of the data source targeted by this connection information.
    Returns:
      the JNDI name of the data source.

  - ### getLogin

    public String getLogin()
    Gets the user identifier used in the data source authentication.
    Returns:
      the login.

  - ### getPassword

    public String getPassword()
    Gets the password associated with the login to connect the data source.
    Returns:
      the password.

  - ### getDefaultTableName

    public String getDefaultTableName()
    Gets the name of the table to load with this connexion information.
    Returns:
      the name of the default table.

  - ### getDataMaxNumber

    public int getDataMaxNumber()
    Gets the maximum number of data to return when requesting the data source.
    Returns:
      the maximum number of data to consider. 0 means all.

  - ### isDefaultTableNameDefined

    public boolean isDefaultTableNameDefined()
    Is the name of the default table to load is defined?
    Returns:
      true if the name of a default table is set, false otherwise.

  - ### setDataSourceName

    public void setDataSourceName(String dataSourceName)
    Sets a new data source by its JNDI name to this connection info.
    Parameters:
      `dataSourceName` - the JNDI name of the data source to connect to.

  - ### setLoginAndPassword

    public void setLoginAndPassword(String login, String password)
    Sets the login and the password required to open a connection to the targeted data source.
    Parameters:
      `login` - a login.
      `password` - the password associated with the login.

  - ### setDefaultTableName

    public void setDefaultTableName(String tableName)
    Sets the name of the default table to load with this connection information.
    Parameters:
      `tableName` - the name of a table in the database.

  - ### setDataMaxNumber

    public void setDataMaxNumber(int maxNumber)
    Sets the maximum number of data to select when requesting the data source.
    Parameters:
      `maxNumber` - the maximum number of data to return. 0 means all.

  - ### save

    public void save()
    Saves or updates this connection information into the persistence context in order to be able to retrieve it later.

  - ### openConnection

    public Connection openConnection() throws MyDBException
    Opens a connection to the data source targeted by this connection information.
    Returns:
      a connection against the data source referred by this object.
    Throws:
      `MyDBException`

  - ### equals

    public boolean equals(Object o)
    Overrides:
      `equals` in class `org.silverpeas.core.persistence.datasource.model.jpa.AbstractJpaEntity<MyDBConnectionInfo,org.silverpeas.core.persistence.datasource.model.identifier.UniqueIntegerIdentifier>`

  - ### hashCode

    public int hashCode()
    Overrides:
      `hashCode` in class `org.silverpeas.core.persistence.datasource.model.jpa.AbstractJpaEntity<MyDBConnectionInfo,org.silverpeas.core.persistence.datasource.model.identifier.UniqueIntegerIdentifier>`

  - ### checkConnection

    public void checkConnection() throws MyDBException
    Checks the connection with the remote data source referred in this `MyDBConnectionInfo` instance.

    If the connection cannot be established with the data source, a `MyDBException` exception is thrown. This occurs when:

    - no connection information is set for the underlying component instance,
    - the connection information isn't correct,
    - the connection information is correct but the connection with the data source fails at this time.
    Throws:
      `MyDBException` - if the connection cannot be established with the data source referred by this `MyDBConnectionInfo` instance.