| 
Oracle Fusion Middleware Java API Reference for Oracle Extension SDK Reference 11g Release 1 (11.1.1.4.0) E13403-05  | 
|||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES | |||||||||
See:
          Description
| Interface Summary | |
|---|---|
| BinaryObject | Interface for an object from the db that has a binary representation (e.g. | 
| ChildDBObject | Interface that any DBObject should implement if it can exist as the child of another DBObject. | 
| ColumnConstraintReferenceID | Deprecated. | 
| Database | Provides a interface for accessing a database. | 
| DBObject | Base interface for Database Objects. | 
| DBObjectBuilder<T extends DBObject> | The DBObjectBuilder interface provides a mechanism
 for constructing new instances representing database objects. | 
| DBObjectFilter<T extends DBObject> | Interface to use when searching DBObjects for a particular object, or objects. | 
| DBObjectID | Interface representing an immutable object ID for a DBObject. | 
| DBObjectProvider | The DBObjectProvider interface provides clients with access to
 database objects. | 
| DBObjectProviderFactory.Listener | Listener interface that can be registered against this factory to be notified of provider create and uncache events. | 
| DBObjectProviderListener | Listener for attaching to a DBObjectProvider to be notified of changes to the provider. | 
| DBObjectValidator<T extends DBObject> | A DBObjectValidator is responsible for validating
 a specific type of DBObject instance. | 
| DBReferenceID | Deprecated. | 
| DDLGenerator | Deprecated. - replaced by DDLGenerator | 
| DeclarativePlSql | A DeclarativePlSql object is a pl/sql object in the database that can be resprented declaratively - for example the parameters, return type, etc of a method can be set as properties (instead of being simply a block of code). | 
| JdbcDatabase | Implementation of the Database interface for JDBC Databases. | 
| ProviderUsage | Should be implemented by any DBObject that requires a DBObjectProvider to be set in order to operate. | 
| SchemaObject | A SchemaObject represents a database object that can
 exist within the context of a schema. | 
| SchemaObjectExpander | A SchemaObjectExpander can be registered against a DBObjectProvider, and will then be called to "expand" any object created or updated in that provider. | 
| SchemaObjectListener | Deprecated. replaced by DBObjectListener | 
| SourceObject | Any object in the database that can contain a block of source code - for example java or PL/SQL. | 
| SystemObject | A system object is available at the DBObjectProvider level through the list and get methods, and can be created/updated/deleted. | 
| TemplateExpander.Initialiser | The template mechanism can be extended by Initialiser objects that can perform extra template work on newly templated objects before they're commited to the provider. | 
| Class Summary | |
|---|---|
| AbstractBuildableObject | Provides methods for lazy loading and building AbstractDBObjects. | 
| AbstractChildDBObject | Extension of DBObject used by child object in the API. | 
| AbstractDatabase | Base implementation of the Database interface. | 
| AbstractDBObject | Provides an abstract implementation of the DBObject
 interface. | 
| AbstractDBObjectBuilder<T extends AbstractBuildableObject> | Abstract implementation of DBObjectbuilder that provides core support for component building of objects. | 
| AbstractDBObjectID | Abstract implementation of DBObjectID for subclassing by DBObjectID implementations. | 
| AbstractDBObjectProvider | Provides a base implementation of the DBObjectProvider
 interface. | 
| AbstractSchemaObject | Provides a base implementation of the SchemaObject interface. | 
| AbstractSystemObject | Abstract superclass for all SystemObject implementations. | 
| AutoExtendProperties | |
| BaseObjectID | Base DBObjectID implementation that stores the object name and (optionally) schema name of the object. | 
| CascadeManager | Provides facilities for listing references between DBObjects in a DBObjectProvider, and provides cascade logic for cascading delete of an object. | 
| CheckConstraint | A CheckConstraint constrains a table or view based on a
 conditional expression. | 
| Column | Model of a database column. | 
| ColumnConstraint | Abstract model of a Constraint that constrains Columns in the database. | 
| Constraint | A Constraint represents a constraint on a table or view. | 
| ConstraintID | Deprecated. | 
| DatabaseDescriptor<T extends Database> | Interface used to describe the behaviour of a Database. | 
| DatabaseFactory | DatabaseFactory is a DBObjectProviderFactory.Creator implementation. | 
| DatabaseFactory.ConnectionCreator | A connection creator should be registered for each connection store that exists. | 
| DatabaseFactory.DatabaseCreator | Plugin to the DatabaseFactory for creating Databases and DatabaseDescriptors. | 
| DBCore | The DBCore serves two purposes: Allows registration of classes in db-api-impl to core api Provides a single point through which our singletons are registered | 
| DBLog | Log utilities for the core database functionality. | 
| DBObjectChange | A DBObjectChange is used to notify of changes to a DBObject. | 
| DBObjectCriteria<T extends SystemObject> | A DBObjectCriteria is used when listing objects from a DBObjectProvider to specify the criteria by which the list should be restricted. | 
| DBObjectFactory | Factory to control the creation of SchemaObjects and
 ChildDBObjects which may be based on templates and/or
 have the initial values of properties defined by
 PropertyInitializers. | 
| DBObjectFilter.IDFilter<T extends DBObject> | DBObjectFilter implementation that accepts objects with a given ID, optionally performing a strict comparison. | 
| DBObjectIterator | A class for iterating over owned object lists. | 
| DBObjectListener | A DBObjectListener can be registered against any ListenableObject to be identified about changes to that DBObject. | 
| DBObjectLister | Plugin to DBObjectProvider to allow objects to be listed. | 
| DBObjectLister.ObjectInfo | Encapsulates the information required about a listed object. | 
| DBObjectProviderAdapter | Adapter for a class to extend and implement DBObjectProviderListeners without implementing all the methods. | 
| DBObjectProviderFactory | Factory class for creating DBObjectProviders. | 
| DBObjectProviderFactory.Creator | Factory creator class used to create provider instances when there isn't one already in the cache. | 
| DBUtil | Utility class associated with the DB package. | 
| Ddl | Class for the DDL to create an object. | 
| FileSpecification | |
| FKConstraint | A FKConstraint represents a Foreign Key Constraint. | 
| Function | Model of a pl/sql function. | 
| GlobalSettings | Class for api settings that govern the behaviour of the api at a global level. | 
| IdentifierBasedID | The representation of an Object ID for an object in a provider that can be uniquely identified by an identifier (other than name). | 
| IDPolicy | When a DBObject is copied, the copy can optionally use an IDPolicy. | 
| IDPolicy.DefaultIDPolicy | IDPolicy that creates a TemporaryObjectID that does NOT point back to the original object for every object that has an ID. | 
| IDPolicy.SameIDPolicy | IDPolicy that simply copies the objects ID to the copy. | 
| IDPolicy.TemporaryIDPolicy | IDPolicy that creates a TemporaryObjectID for every object that has the original object set. | 
| Index | Model of a database index. | 
| Java | Abstract SchemaObject implementation for the different Java objects available in a database. | 
| JavaClass | Model of a Java Class. | 
| JavaResource | Model of a Java Resource object. | 
| JavaSource | Model of a Java Source object. | 
| NameBasedID | ID implementation that is name based. | 
| Package | Model of a PL/SQL package in the database. | 
| PKConstraint | A PKConstraint represents a Primary Key constraint. | 
| PlSql | Abstract implementation of SchemaObject for all PL/SQL objects that belong in a Schema to extend. | 
| PlSqlAttribute | Model of a PL/SQL attribute. | 
| PlSqlMethod | Model of a method in a PL/SQL object. | 
| PlSqlParameter | Model of a parameter to a PL/SQL subprogram like a function or the method of an object type. | 
| PlSqlSubprogram | Abstract implementation of PlSql for objects that are a simple subprogram (e.g. | 
| Procedure | Model of a pl/sql procedure. | 
| ReferenceID | ID implementation used for a reference property - i.e. | 
| Relation | A Relation represents the basic entity of a relational
 database. | 
| Schema | Model of a database schema. | 
| SchemaObjectIterator | An Iterator over all the SchemaObjects in a provider, or set of providers. | 
| SchemaObjectManager | This class is for internal use only. | 
| Sequence | Model of a database sequence. | 
| SpecPlSql | Extension of PlSql for objects that have a spec and body. | 
| Synonym | Model of a database synonym. | 
| Table | Model of a database table. | 
| Tablespace | Model of a tablespace in a database. | 
| TemplateExpander | An expander of schema objects that provides the Template support for a DBObjectProvider. | 
| TemporaryObjectID | Implementation of the DBObjectID interface for objects that only exist in memory. | 
| Trigger | Model of a database Trigger. | 
| UniqueConstraint | A UniqueConstraint prohibits multiple rows from having the
 same value in the same column or combination of columns but allows some
 values to be null. | 
| View | Represents a database View. | 
| ViewColumn | Custom Column for Views to use when they have a DeclarativeSQLQuery. | 
| Enum Summary | |
|---|---|
| DBCore.Mode | The mode for the API - either command line, headless or full ide. | 
| DBUtil.IDQuery | When querying for reference IDs of an object this enum is used to define whether to query for different kinds of reference. | 
| FileSpecification.FileStatus | |
| Index.IndexType | Index type | 
| PlSqlMethod.CallSpecLanguage | |
| PlSqlMethod.MethodType | |
| PlSqlParameter.Mode | |
| Table.TableType | Different types of Table supported in the API. | 
| Tablespace.FileType | |
| Tablespace.TablespaceType | Different types of Tablespace supported in the API. | 
| Trigger.BaseType | Base type for the Trigger (i.e. | 
| Trigger.Timing | Timing of a trigger - at what point relative to the trigger event the trigger's code will be executed. | 
| Exception Summary | |
|---|---|
| CancelledException | This exception is thrown if a query to the database is cancelled mid-execution by an action of the user/api. | 
| CascadeManager.NoCascadeRequiredException | Exception thrown when a cascade is requested for an object that has no referers. | 
| CascadeRequiredException | Subclass of DBException that is thrown when an attempt to delete or update an object is made when there are dependent objects in the given DBObjectProvider. | 
| DBException | An Exception that is thrown by a DB model operation. | 
| DBSQLException | DBException subclass that is thrown when a SQLException is encountered while talking to the database. | 
| InvalidNameException | ValidationException thrown when an object's name is invalid. | 
| MissingProviderException | Thrown if you attempt to resolve the ID when the provider has not been set. | 
| MissingValidatorException | Indicates that the validation of the database object failed because no DBObjectValidator was registered to handle the validation. | 
| NameInUseException | ValidationException thrown when a name is already in use. | 
| ValidationException | Indicates that the validation of the database object failed. | 
| Annotation Types Summary | |
|---|---|
| AbstractDBObjectBuilder.PropertyBuilder | Annotation to mark methods that build components (properties) of a given object within this builder. | 
Contains a metadata API for describing database objects, and retrieving them from a provider of database objects - for example a database. Facilities are provided for creating metadata objects from an existing database connection, as well as for generating SQL to create new objects based on in memory or offline-persisted metadata.
Schema mySchema = provider.getSchema( "MYSCHEMA" );
String[] tabNames = provider.listObjects( Table.TYPE, mySchema );
String[] tabNames = provider.listObjects( Table.TYPE, mySchema, 'A%' );
   SchemaObject[] tabsAndViews = provider.listObjects(
                                   new String[]{ Table.TYPE, View.TYPE },
                                   mySchema );
 
 Table fred = (Table)provider.getObject( Table.TYPE, mySchema, "EMP" );
Table fred = (Table)provider.getObject( Table.TYPE, mySchema, "FRED" ); // make a fresh copy of fred and setup temporary ids Table newFred = fred.copyTo( null, true ); // add a new column Column col = new Column( "NEW_COL" ); DataType dt = provider.getDataType( "NUMBER" ); col.setDataTypeUsage( dt.createDefaultUsage() ); col.setDefault( new Integer( 4 ) ); newFred.addColumn( col ); // update the provider provider.updateObject( fred, newFred );
The database API has its own event/listener model. This is used to
listen for new/deleted schemas, new/delete objects and changes to
existing objects. The message are all concerned with a SchemaObject
not a DBObject (the distinction being a SchemaObject
is a "top level" object such as a Table or View, a DBObject that
isn't a SchemaObject is a child object such as a Column.
Notifications of updates to a Column will come through listening to the owning
Table.)
Attach an oracle.javatools.db.DBObjectProviderListener to your provider.
Attach a oracle.javatools.db.SchemaObjectListener to the given object.
Table fred = (Table)provider.getObject( Table.TYPE, mySchema, "FRED" ); fred.addObjectListener( myListener );
then when a the new column is added to fred by the above code the listener's update method is called:
public void schemaObjectUpdated(DBObjectChange change)
{ DBObject changed = change.getDBObject(); if( change.hasNameChanged() ) { // the table has change named ... we must update our own information. } for( final obj : change.getOwnedObjectsAdded() ) { Object obj = newKids.next(); if( obj instanceof Column ) { String name = ( (Column)obj ).getName(); // name is "NEW_COL"!! } } }
  | 
Oracle Fusion Middleware Java API Reference for Oracle Extension SDK Reference 11g Release 1 (11.1.1.4.0) E13403-05  | 
|||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES | |||||||||