arlut.csd.ganymede
Interface SchemaEdit

All Superinterfaces:
java.rmi.Remote
All Known Implementing Classes:
DBSchemaEdit

public interface SchemaEdit
extends java.rmi.Remote

Primary remote interface for Ganymede schema editing. The Ganymede admin console calls the editSchema() method on a server-side GanymedeAdmin object to get access to the DBObjectBase objects which hold the type definitions for the objects held in the Ganymede server. The DBObjectBase objects in turn provide access to the definitions for the fields held in those object types.


Method Summary
 void commit()
          Commit this schema edit, instantiate the modified schema
 arlut.csd.ganymede.Base createNewBase(arlut.csd.ganymede.Category category, boolean embedded, boolean lowRange)
          This method creates a new DBObjectBase object and returns a remote handle to it so that the admin client can set fields on the base, set attributes, and generally make a nuisance of itself.
 arlut.csd.ganymede.NameSpace createNewNameSpace(java.lang.String name, boolean caseInsensitive)
          This method creates a new DBNameSpace object and returns a remote handle to it so that the admin client can set attributes on the DBNameSpace, and generally make a nuisance of itself.
 arlut.csd.ganymede.ReturnVal deleteBase(java.lang.String baseName)
          This method deletes a DBObjectBase, removing it from the Schema Editor's working set of bases.
 arlut.csd.ganymede.ReturnVal deleteNameSpace(java.lang.String name)
          This method deletes a DBNameSpace object, returning true if the deletion could be carried out, false otherwise.
 arlut.csd.ganymede.Base getBase(short id)
          Returns a Base reference to match the id, or null if no match.
 arlut.csd.ganymede.Base getBase(java.lang.String baseName)
          Returns a Base reference to match the baseName, or null if no match.
 arlut.csd.ganymede.Base[] getBases()
          Returns a list of bases from the current (non-committed) state of the system.
 arlut.csd.ganymede.Base[] getBases(boolean embedded)
          Returns a list of bases from the current (non-committed) state of the system.
 arlut.csd.ganymede.NameSpace getNameSpace(java.lang.String spaceName)
          This method returns a NameSpace by matching name, or null if no match is found.
 arlut.csd.ganymede.NameSpace[] getNameSpaces()
          This method returns an array of defined NameSpace objects.
 arlut.csd.ganymede.Category getRootCategory()
          Returns the root category node from the server
 void release()
          Abort this schema edit, return the schema to its prior state.
 

Method Detail

getRootCategory

public arlut.csd.ganymede.Category getRootCategory()
                                            throws java.rmi.RemoteException

Returns the root category node from the server

java.rmi.RemoteException

getBases

public arlut.csd.ganymede.Base[] getBases(boolean embedded)
                                   throws java.rmi.RemoteException

Returns a list of bases from the current (non-committed) state of the system.

Parameters:
embedded - If true, getBases() will only show bases that are intended for embedding in other objects. If false, getBases() will only show bases that are not to be embedded.
java.rmi.RemoteException

getBases

public arlut.csd.ganymede.Base[] getBases()
                                   throws java.rmi.RemoteException

Returns a list of bases from the current (non-committed) state of the system.

java.rmi.RemoteException

getBase

public arlut.csd.ganymede.Base getBase(short id)
                                throws java.rmi.RemoteException

Returns a Base reference to match the id, or null if no match.

java.rmi.RemoteException

getBase

public arlut.csd.ganymede.Base getBase(java.lang.String baseName)
                                throws java.rmi.RemoteException

Returns a Base reference to match the baseName, or null if no match.

java.rmi.RemoteException

createNewBase

public arlut.csd.ganymede.Base createNewBase(arlut.csd.ganymede.Category category,
                                             boolean embedded,
                                             boolean lowRange)
                                      throws java.rmi.RemoteException

This method creates a new DBObjectBase object and returns a remote handle to it so that the admin client can set fields on the base, set attributes, and generally make a nuisance of itself.

java.rmi.RemoteException

deleteBase

public arlut.csd.ganymede.ReturnVal deleteBase(java.lang.String baseName)
                                        throws java.rmi.RemoteException

This method deletes a DBObjectBase, removing it from the Schema Editor's working set of bases. The removal won't take place for real unless the SchemaEdit is committed.

java.rmi.RemoteException

getNameSpaces

public arlut.csd.ganymede.NameSpace[] getNameSpaces()
                                             throws java.rmi.RemoteException

This method returns an array of defined NameSpace objects.

java.rmi.RemoteException

getNameSpace

public arlut.csd.ganymede.NameSpace getNameSpace(java.lang.String spaceName)
                                          throws java.rmi.RemoteException

This method returns a NameSpace by matching name, or null if no match is found.

java.rmi.RemoteException

createNewNameSpace

public arlut.csd.ganymede.NameSpace createNewNameSpace(java.lang.String name,
                                                       boolean caseInsensitive)
                                                throws java.rmi.RemoteException

This method creates a new DBNameSpace object and returns a remote handle to it so that the admin client can set attributes on the DBNameSpace, and generally make a nuisance of itself.

java.rmi.RemoteException

deleteNameSpace

public arlut.csd.ganymede.ReturnVal deleteNameSpace(java.lang.String name)
                                             throws java.rmi.RemoteException

This method deletes a DBNameSpace object, returning true if the deletion could be carried out, false otherwise.

java.rmi.RemoteException

commit

public void commit()
            throws java.rmi.RemoteException

Commit this schema edit, instantiate the modified schema

It is an error to attempt any schema editing operations after this method has been called.

java.rmi.RemoteException

release

public void release()
             throws java.rmi.RemoteException

Abort this schema edit, return the schema to its prior state.

It is an error to attempt any schema editing operations after this method has been called.

java.rmi.RemoteException