gov.lanl.Database
Interface DatabaseMgr

All Known Implementing Classes:
JNDIDatabaseMgr, OJBDatabaseMgr, sODatabaseMgr

public interface DatabaseMgr

Interface to abstract the datbase access for persistent storage The intent is to implement this for different technologies for storing the requisit data, be it memory, a file system, LDAP or a database

 

Field Summary
static int DEEP
           
static int SHALLOW
           
 
Method Summary
 java.util.Vector accessElements(gov.lanl.Database.PersistentObject obj, java.lang.String element, java.lang.String subelement)
          obtain a Vector of elements from the Object obj already obtained (via shallow copy)
 void deleteElement(gov.lanl.Database.PersistentObject obj)
          Delete object in depth
 long getNextSeq(java.lang.Class clazz, java.lang.String fieldName)
          Get next number in a persistent sequence
 gov.lanl.Database.PersistentObjectFactory getObjectFactory()
          Get the persistent object Factory this method returns the PersistentObjectFactory
 void init(java.lang.String dbname)
          Initialize the DatabaseMgr
 void insertElement(gov.lanl.Database.PersistentObject obj, java.lang.String name)
          input an object into database
 gov.lanl.Database.PersistentObject retrieveElement(java.lang.Object obj, java.lang.String elementName, java.lang.String value)
          get single element (DEEP) with simple query returns the first element (if there is one)
 gov.lanl.Database.PersistentObject retrieveElement(java.lang.Object obj, java.lang.String elementName, java.lang.String value, int deep)
          get a single element (SHALLOW) with simple query
 java.util.Vector retrieveElements(java.lang.Object obj, gov.lanl.Database.SearchFilter query, int deep)
          retrieve elements of type Object with SearchFilter
 java.util.Vector retrieveElements(java.lang.Object obj, java.lang.String[] elements, java.lang.String[] name)
          retrieve elements with multiple constraints Objects to be retrieved elements String array of elements to be filtered on name String array of values of the elements desired
 java.util.Vector retrieveElements(java.lang.Object obj, java.lang.String operator, java.lang.String element, int[] values, int deep)
          retrieve elements with complext query
 java.util.Vector retrieveElements(java.lang.Object obj, java.lang.String operator, java.lang.String element, java.lang.String[] values, int deep)
          retrieve elements with complext query
 void setDebug(boolean flag)
          Turns the debug mode on/off (default is off)
 void setObjectFactory(java.lang.String PersistentPackage)
          Create the persistent object Factory
 void txn_abort()
          Cancel transaction
 void txn_begin()
          begin Transaction context
 void txn_commit()
          complete transaction
 void updateElement(gov.lanl.Database.PersistentObject obj)
          Replace the object specified in the database
 void updateElement(gov.lanl.Database.PersistentObject obj, int deep)
          Replace the object specified in the database
 

Field Detail

SHALLOW

public static final int SHALLOW
See Also:
Constant Field Values

DEEP

public static final int DEEP
See Also:
Constant Field Values
Method Detail

setDebug

public void setDebug(boolean flag)
Turns the debug mode on/off (default is off)

Parameters:
flag -

init

public void init(java.lang.String dbname)
Initialize the DatabaseMgr

Parameters:
dbname - string describing the database

txn_begin

public void txn_begin()
               throws DBException
begin Transaction context

Throws:
DBException

txn_commit

public void txn_commit()
                throws DBException
complete transaction

Throws:
DBException

retrieveElement

public gov.lanl.Database.PersistentObject retrieveElement(java.lang.Object obj,
                                                          java.lang.String elementName,
                                                          java.lang.String value)
                                                   throws DBException
get single element (DEEP) with simple query returns the first element (if there is one)

Throws:
DBException
Parameters:
obj - is the input object being requested
elementName - is the element desired
value -
Returns:

retrieveElement

public gov.lanl.Database.PersistentObject retrieveElement(java.lang.Object obj,
                                                          java.lang.String elementName,
                                                          java.lang.String value,
                                                          int deep)
                                                   throws DBException
get a single element (SHALLOW) with simple query

Throws:
DBException
Parameters:
obj - is the input object type being requested
elementName - is the element desired
value - is the value of the element requested
deep -
Returns:

updateElement

public void updateElement(gov.lanl.Database.PersistentObject obj)
                   throws DBException
Replace the object specified in the database

Throws:
DBException
Parameters:
obj -

updateElement

public void updateElement(gov.lanl.Database.PersistentObject obj,
                          int deep)
                   throws DBException
Replace the object specified in the database

Throws:
DBException
Parameters:
obj -
deep -

deleteElement

public void deleteElement(gov.lanl.Database.PersistentObject obj)
                   throws DBException
Delete object in depth

Throws:
DBException
Parameters:
obj -

insertElement

public void insertElement(gov.lanl.Database.PersistentObject obj,
                          java.lang.String name)
                   throws DBException
input an object into database

DBException
Parameters:
obj - is the input object
name - is the name of the object

accessElements

public java.util.Vector accessElements(gov.lanl.Database.PersistentObject obj,
                                       java.lang.String element,
                                       java.lang.String subelement)
                                throws DBException
obtain a Vector of elements from the Object obj already obtained (via shallow copy)

Throws:
DBException
Parameters:
obj - is the input Object
element - is the name of the element to be returned
subelement -
Returns:

retrieveElements

public java.util.Vector retrieveElements(java.lang.Object obj,
                                         gov.lanl.Database.SearchFilter query,
                                         int deep)
                                  throws DBException
retrieve elements of type Object with SearchFilter

Throws:
DBException
Parameters:
obj -
query -
deep -
Returns:

retrieveElements

public java.util.Vector retrieveElements(java.lang.Object obj,
                                         java.lang.String[] elements,
                                         java.lang.String[] name)
                                  throws DBException
retrieve elements with multiple constraints Objects to be retrieved elements String array of elements to be filtered on name String array of values of the elements desired

Throws:
DBException
Parameters:
obj -
elements -
name -
Returns:

retrieveElements

public java.util.Vector retrieveElements(java.lang.Object obj,
                                         java.lang.String operator,
                                         java.lang.String element,
                                         java.lang.String[] values,
                                         int deep)
                                  throws DBException
retrieve elements with complext query

Throws:
DBException
Parameters:
obj - object to be retrieved
operator - operator in query
element - element in query
values - array of elements in query
deep -
Returns:

retrieveElements

public java.util.Vector retrieveElements(java.lang.Object obj,
                                         java.lang.String operator,
                                         java.lang.String element,
                                         int[] values,
                                         int deep)
                                  throws DBException
retrieve elements with complext query

Throws:
DBException
Parameters:
obj - object to be retrieved
operator - operator in query
element - element in query
values - array of ints in query
deep -
Returns:

txn_abort

public void txn_abort()
Cancel transaction


getNextSeq

public long getNextSeq(java.lang.Class clazz,
                       java.lang.String fieldName)
Get next number in a persistent sequence

Parameters:
clazz -
fieldName -

setObjectFactory

public void setObjectFactory(java.lang.String PersistentPackage)
Create the persistent object Factory


getObjectFactory

public gov.lanl.Database.PersistentObjectFactory getObjectFactory()
Get the persistent object Factory this method returns the PersistentObjectFactory