|
ozone API | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.ozoneDB.AbstractDatabase
org.ozoneDB.Database
This class represents the database for OzoneObjects within the server.
Note: The method parameters of type OzoneRemote
are supposed to by
proxy objects (of type OzoneProxy
). However, since we are inside the
server it's possible to pass an database object (of type OzoneCompatible
) as a parameter. In this case the parameter should be
substituted. Currently this is done by the invoke() method only.
OzoneInterface
Field Summary | |
static int |
DefaultAccessRight
|
Fields inherited from interface org.ozoneDB.OzoneInterface |
AllLock, AllRead, GroupLock, GroupRead, Private, Public |
Constructor Summary | |
Database(org.ozoneDB.core.Env _env)
|
Method Summary | |
OzoneProxy |
copyObject(OzoneRemote rObj)
Copy an object. |
OzoneProxy |
createObject(java.lang.Class type)
Creates a database object of the specified class without a name and with default permissions. |
OzoneProxy |
createObject(java.lang.Class type,
java.lang.Class[] sig,
java.lang.Object[] args)
Creates an object by calling the constructor with the specified signature with the specified parameters and default permissions. |
OzoneProxy |
createObject(java.lang.Class type,
int access)
Creates a database object of the specified class without a name and with the specified access rights. |
OzoneProxy |
createObject(java.lang.Class type,
int access,
java.lang.String objName)
Creates a database object of the specified class with the specified name and the specified access rights. |
OzoneProxy |
createObject(java.lang.Class type,
int access,
java.lang.String objName,
java.lang.Class[] sig,
java.lang.Object[] args)
Creates an object by calling the constructor with the specified signature with the specified parameters. |
OzoneProxy |
createObject(java.lang.String className)
Creates a database object of the specified class without a name and with default permissions. |
OzoneProxy |
createObject(java.lang.String className,
int access)
Creates a database object of the specified class without a name and with the specified access rights. |
OzoneProxy |
createObject(java.lang.String className,
int access,
java.lang.String objName)
Creates a database object of the specified class with the specified name and the specified access rights. |
OzoneProxy |
createObject(java.lang.String className,
int access,
java.lang.String objName,
java.lang.String sig,
java.lang.Object[] args)
Creates an object by calling the constructor with the specified signature with the specified parameters. |
OzoneProxy |
createObject(java.lang.String className,
java.lang.String sig,
java.lang.Object[] args)
Creates an object by calling the constructor with the specified signature with the specified parameters and default permissions. |
org.ozoneDB.core.User |
currentOwner()
|
void |
deleteObject(OzoneRemote rObj)
Deletes the specified database object. |
OzoneCompatible |
fetch(OzoneProxy rObj,
int lockLevel)
Returns the actual target of the given proxy if the actual implementation is able to do so. |
org.ozoneDB.core.Transaction |
getCurrentTransaction()
For internal use. |
org.ozoneDB.core.Env |
getEnv()
For internal use. |
java.lang.Object |
invoke(OzoneProxy rObj,
int methodIndex,
java.lang.Object[] args,
int lockLevel)
|
java.lang.Object |
invoke(OzoneProxy rObj,
java.lang.String methodName,
java.lang.String sig,
java.lang.Object[] args,
int lockLevel)
Invokes a method on the specified object. |
void |
nameObject(OzoneRemote rObj,
java.lang.String name)
Assigns the specified object with the specified name. |
void |
notifyProxyDeath(OzoneProxy proxy)
Internal method. |
OzoneProxy |
objectForHandle(java.lang.String handle)
Returns the object for the specified handle or null if there is no such object. |
OzoneProxy |
objectForName(java.lang.String name)
Returns the object for the specifies name or null if there is no such object. |
java.lang.String[] |
objectNames()
fetch an array of all named objects |
void |
reloadClasses()
Force the database server to reload all classes which extend OzoneObject. |
void |
xmlForObject(OzoneRemote rObj,
org.xml.sax.ContentHandler ch)
Converts the specified object into XML. |
org.w3c.dom.Node |
xmlForObject(OzoneRemote rObj,
org.w3c.dom.Document domFactory)
Convert the specified object into XML. |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final int DefaultAccessRight
Constructor Detail |
public Database(org.ozoneDB.core.Env _env)
Method Detail |
public void reloadClasses() throws java.lang.Exception
OzoneInterface
java.lang.Exception
- To signal an implementation specific problem,
such as IOException
public org.ozoneDB.core.User currentOwner()
public OzoneProxy createObject(java.lang.String className, int access, java.lang.String objName, java.lang.String sig, java.lang.Object[] args) throws java.lang.RuntimeException, OzoneObjectException
OzoneInterface
className
- fully qualified name of the classaccess
- access right (ORed)objName
- name of the object (optionalsig
- The signature string of the constructor.args
- The parameter that are passed to the constructor.
java.lang.RuntimeException
- To signal an implementation specific problem,
such as IOException
OzoneObjectException
public OzoneProxy copyObject(OzoneRemote rObj) throws java.lang.Exception
OzoneInterface
rObj
-
java.lang.Exception
- To signal an implementation specific problem,
such as IOException
public void deleteObject(OzoneRemote rObj) throws java.lang.RuntimeException, OzoneObjectException
OzoneInterface
rObj
-
java.lang.RuntimeException
- To signal an implementation specific problem,
such as IOException
OzoneObjectException
public void nameObject(OzoneRemote rObj, java.lang.String name) throws java.lang.Exception
OzoneInterface
rObj
- name
-
java.lang.Exception
- To signal an implementation specific problem,
such as IOException
public java.lang.String[] objectNames() throws java.lang.Exception
OzoneInterface
java.lang.Exception
- To signal an implementation specific problem,
such as IOException
public OzoneProxy objectForName(java.lang.String name) throws java.lang.Exception
OzoneInterface
name
- The name name of the object.
java.lang.Exception
- To signal an implementation specific problem,
such as IOException
public OzoneProxy objectForHandle(java.lang.String handle) throws java.lang.Exception
OzoneInterface
handle
- The handle of the object.
java.lang.Exception
- To signal an implementation specific problem,
such as IOException
public java.lang.Object invoke(OzoneProxy rObj, java.lang.String methodName, java.lang.String sig, java.lang.Object[] args, int lockLevel) throws java.lang.Exception
OzoneInterface
rObj
- OzoneProxy on which to call the methodmethodName
- sig
- signature of the method as Stringargs
- array of argumentslockLevel
- specifies wether this method changes the state of the object
java.lang.Exception
- To signal an implementation specific problem,
such as IOException
public java.lang.Object invoke(OzoneProxy rObj, int methodIndex, java.lang.Object[] args, int lockLevel) throws java.lang.Exception
java.lang.Exception
public OzoneCompatible fetch(OzoneProxy rObj, int lockLevel) throws ObjectNotFoundException, java.io.IOException, java.lang.ClassNotFoundException, TransactionException, org.ozoneDB.core.TransactionError
OzoneInterface
ObjectNotFoundException
java.io.IOException
java.lang.ClassNotFoundException
TransactionException
org.ozoneDB.core.TransactionError
public org.w3c.dom.Node xmlForObject(OzoneRemote rObj, org.w3c.dom.Document domFactory) throws java.lang.Exception
OzoneInterface
OzoneInterface.xmlForObject(OzoneRemote, ContentHandler)
, which
returns SAX events, instead of DOM.
See the doc directory of ozone for a detailed description (XML Schema)
of the XML output of this method.
rObj
- The database object to be converted.domFactory
- The factory for creating DOM nodes.
java.lang.Exception
public void xmlForObject(OzoneRemote rObj, org.xml.sax.ContentHandler ch) throws java.lang.Exception
OzoneInterface
rObj
- The database object to be converted.ch
- The SAX ContentHandler to which the result is sent.
java.lang.Exception
public void notifyProxyDeath(OzoneProxy proxy)
OzoneProxy
s when they are dying (during finalize()). This
is required, as the database may track the references the database client has to objects within the database
in order to properly support garbage collection. If this method is called from anyone else than from the
OzoneProxy.finalize()
-Method, data loss may occur!
proxy
- the OzoneProxy object which is dying. It may call this method exaclty once.public org.ozoneDB.core.Env getEnv()
public org.ozoneDB.core.Transaction getCurrentTransaction()
public OzoneProxy createObject(java.lang.String className) throws java.lang.RuntimeException, OzoneRemoteException
OzoneInterface
createObject
in interface OzoneInterface
className
- The fully qualified name of the class.
java.lang.RuntimeException
- To signal an implementation specific problem,
such as IOException
OzoneRemoteException
- (or one of its sub-classes) to signal a
ozone related problem.public OzoneProxy createObject(java.lang.String className, int access) throws java.lang.RuntimeException, OzoneRemoteException
OzoneInterface
createObject
in interface OzoneInterface
className
- The fully qualified name of the class.access
- The access rights (ORed).
OzoneRemoteException
- (or one of its sub-classes) to signal a
ozone related problem.
java.lang.RuntimeException
- To signal an implementation specific problem,
such as IOException
public OzoneProxy createObject(java.lang.String className, int access, java.lang.String objName) throws java.lang.RuntimeException, OzoneRemoteException
OzoneInterface
createObject
in interface OzoneInterface
className
- The fully qualified name of the class.access
- The access right. (ORed)objName
- The name of the object. (optional)
OzoneRemoteException
- (or one of its sub-classes) to signal a
ozone related problem.
java.lang.RuntimeException
- To signal an implementation specific problem,
such as IOException
public OzoneProxy createObject(java.lang.String className, java.lang.String sig, java.lang.Object[] args) throws java.lang.RuntimeException, OzoneRemoteException
OzoneInterface
createObject
in interface OzoneInterface
className
- fully qualified name of the classsig
- The signature string of the constructor.args
- The parameter that are passed to the constructor.
java.lang.RuntimeException
- To signal an implementation specific problem,
such as IOException
OzoneRemoteException
- (or one of its sub-classes) to signal a
ozone related problem.public OzoneProxy createObject(java.lang.Class type) throws java.lang.RuntimeException, OzoneRemoteException
OzoneInterface
createObject
in interface OzoneInterface
type
- the type of the object to be created
OzoneRemoteException
- (or one of its sub-classes) to signal a
ozone related problem.
java.lang.RuntimeException
- To signal an implementation specific problem,
such as IOException
public OzoneProxy createObject(java.lang.Class type, int access) throws java.lang.RuntimeException, OzoneRemoteException
OzoneInterface
createObject
in interface OzoneInterface
type
- the type of the object to be createdaccess
- The access rights (ORed).
java.lang.RuntimeException
- To signal an implementation specific problem,
such as IOException
OzoneRemoteException
- (or one of its sub-classes) to signal a
ozone related problem.public OzoneProxy createObject(java.lang.Class type, int access, java.lang.String objName) throws java.lang.RuntimeException, OzoneRemoteException
OzoneInterface
createObject
in interface OzoneInterface
type
- the type of the object to be createdaccess
- The access right. (ORed)objName
- The name of the object. (optional)
java.lang.RuntimeException
- To signal an implementation specific problem,
such as IOException
OzoneRemoteException
- (or one of its sub-classes) to signal a
ozone related problem.public OzoneProxy createObject(java.lang.Class type, int access, java.lang.String objName, java.lang.Class[] sig, java.lang.Object[] args) throws java.lang.RuntimeException, OzoneRemoteException
OzoneInterface
createObject
in interface OzoneInterface
type
- the type of the object to be createdaccess
- access right (ORed)objName
- name of the object (optionalsig
- An array of signature params for the constructor in question.args
- The parameter that are passed to the constructor.
java.lang.RuntimeException
- To signal an implementation specific problem,
such as IOException
OzoneRemoteException
- (or one of its sub-classes) to signal a
ozone related problem.public OzoneProxy createObject(java.lang.Class type, java.lang.Class[] sig, java.lang.Object[] args) throws java.lang.RuntimeException, OzoneRemoteException
OzoneInterface
createObject
in interface OzoneInterface
type
- the type of the object to be createdsig
- An array of signature params for the constructor in question.args
- The parameter that are passed to the constructor.
OzoneRemoteException
- (or one of its sub-classes) to signal a
ozone related problem.
java.lang.RuntimeException
- To signal an implementation specific problem,
such as IOException
|
ozone API | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |