Skip navigation links

Oracle Fusion Middleware Java API Reference for Oracle Extension SDK
11g Release 2 (


Package oracle.ide.model

Contains interfaces and classes implementing JDeveloper's data model.


Interface Summary
AutoExpandable This interface is intended to be implemented by classes that also implement Element to indicate whether a particular Element should be auto-expanded in the navigator upon creation.
ContentFilterCustomizer Callback interface for a View that customizes the behavior of a ContentFilter.
Dependable Dependable interface.
Dirtyable Objects that implement the Dirtyable interface indicate that they are able to track their own dirty state.
Displayable The Displayable interface defines methods that an object must implement in order to be displayed in the various controls used by the IDE.
Element The Element interface defines the protocol used by the IDE to communicate with data objects in order to display the objects in the UI.
Folder The Folder interface extends Element by adding methods for managing child Elements contained by the Folder.
LazyLoadable Elements that should be lazily loaded need to be implement this interface to avoid forcing their loading.
LazyLoadListener A listener for traversable-loaded events designed to be used with LazyTraversable.
LazyTraversable Traversables that act as proxies for traversables that should be lazily loaded need to be implement this interface so the proxy can appropriately handle when the real object is available or not.
LocatableItem The LocatableItem interface specifies the methods an object needs to support so it can act as a LocatableItem Examples of LocatableItems are bookmarks and to do items.
NodeInfo An instance of NodeInfo is used to configure a generic node class such as XMLDataNode or XMLDataContainer.
NodeUtil.NodeFilter Deprecated. replaced by NodeFilter.
NonAutoSelectable A marker interface that is to be implemented by oracle.ide.model.Node classes that do not wish to be auto expanded during auto selection.
Observer Observe interface defines the notification API through which interested observers are notified of subject changes.
PseudoTechnologyCallback The PseudoTechnologyCallback interface allows clients to register "pseudo-technologies" with the TechnologyRegistry.
RelativeDirectoryElement An interface which represents directories containing source in the navigator.
SubDirtyable Objects that implement the SubDirtyable interface indicate that they are to be saved as content of the document that owns them.
Subject Subject interface defines the API to register observers interested in receiving notifications of subject changes.
SupportsInspection Deprecated. Clients need to provide their own Inspectables and PropertyModels.
TechnologyScopeDetector Given a project within a workspace, this API detects the relevant set of technology scopes of a project.
TextElement An Element subtype which also defines specific offsets describing the location of the element
VetoableSubject VetoableSubject interface defines the API to register observers interested in receiving notifications of pending subject changes.
VetoObserver VetoObserver interface defines the notification API through which interested observers are notified of pending subject changes.
WorkspaceChangeListener Listens for changes to workspaces.


Class Summary
AsynchronousContentLevelFilter Extends ContentLevelFilter by defining asynchronous semantics.
Connections Top level IDE level Connections Node.
ContentLevelFilter This class is responsible for filtering the breadth-first traversal implemented by the ContentLevel class to provide a virtual representation of each level that differs from its physical representation.
ContentLevelFolder Although this class is package-private, it extends the public abstract class RelativeDirectoryContextFolder.
ContentSet The ContentSet is the fundamental data structure that describes the contents of a Project.
ContentSetFilter The ChildFilterHelper that implements ContentSet support.
ContentSetFolder Although this class is package-private, it extends the public abstract class RelativeDirectoryContextFolder.
ContentSetHelper The ContentSetHelper handles adding, restoring content, and removing content from a content set.
ContentSetProvider Callback class used to configure a Project with a ContentSet.
ContentSetProviderReference Wrapper for a ContentSetProvider.
ContentType Type-safe enumeration class for document content types related to file extensions, associated by the DefaultRecognizer.
DefaultAttributes This class encapsulates the notion of attributes, which is a collection of boolean flags.
DefaultContainer The DefaultContainer class is a default implementation of a Node that implements the Folder interface.
DefaultDirtyable Default implementation of the Dirtyable interface.
DefaultDisplayable Default implementation of the Displayable interface.
DefaultElement DefaultElement is a complete, default implementation of the Element interface.
DefaultFilter The DefaultFilter class.
DefaultFolder DefaultFolder is a complete, default implementation of the Folder interface.
DefaultSubDirtyable Objects that implement the SubDirtyable interface indicate that they want to be saved as content of the document that owns them.
DependableFactory A factory to discover and create Dependencies to Elements.
DependableRecognizer DependableFactory's SPI.
DependableRecognizer.Params Parameters passed in to the DependableRecognizer.
DeployableTextNode Trivial subclass of TextNode that has the ElementAttributes.DEPLOYABLE attribute set.
DiscoveredDependable Represents a node UI that can be the end-point of a dependency, and/or that can contain other DiscoveredDependables nested within it.
DocumentInfo DocumentInfo class.
ElementAttributes Extends Attributes to focus on the notion of Element attributes.
ElementFactory The ElementFactory class is responsible for creating intances of Elements.
ElementRecognizer The ElementRecognizer interface provides the API for recognizing data types from specific object identifiers.
HashStructureNode Node implementation for an object that stores properties in a HashStructure and persists those properties to XML via HashStructureIO.
HeadlessAwareMetaClassWrapper HeadlessAwareMetaClassWrapper wraps a MetaClass so that it can be provided or not based on whether it's intended to be available when running in "headless" mode.
IdeSubject The IdeSubject class defines the API to register Observers that are interested in receiving notifications of Subject changes.
IdeSystem This class is for internal use, and should not be used by extension developers.
IdeTechnologies The IdeTechnologies class defines the technology keys for the core IDE.
IdeVetoableSubject The IdeVetoableSubject class is a default implementation of the VetoableSubject interface.
ImageNode Node subclass for GIF, JPEG, and PNG image files.
LazyLoadEvent An event object that describes when a LazyTraversable object is loaded and no longer lazy.
Node The base class for all document types that need to interact with the IDE framework.
NodeEvent Event object for the NodeListener callback.
NodeFactory The NodeFactory class is responsible for creating instances of Node.
NodeIdentityUtils Suffixs are defined as including the preceeding dot in this class.
NodeListener Callback interface for Node events.
NodeMigrationTracker A HashStructureAdapter class used to track the status of node migration for Project and Workspace nodes.
NodeUtil Utilities involving Nodes.
ObservableFolder ObservableFolder is a complete, default implementation of the Folder and Subject interfaces.
OwnerMap Deprecated.
Preferences Deprecated. since 11.1.1.
Project This class represents a user project in the IDE.
ProjectMigrator Project migrator.
ProjectVersion This class provides a standardized means of storing and retrieving version history information in the project file.
Recognizer The Recognizer class is the IDE mechanism by which URLs are mapped to Node types.
Reference The Reference class is used to reference data nodes such as workspaces and projects from their containers.
RelativeDirectoryContextFolder Folder representing a directory displayed in a navigator.
ResourcePaths This class holds the Resources content set data.
TechId The TechId class is a unique identifier for representing a technology in the system.
TechnologyRegistry The TechnologyRegistry is used to create and look up technologies in the system.
TechnologyScope The TechnologyScope class is used to group a set of technologies.
TextBufferTracker A tracker of changes to the TextBuffer of a TextNode.
TextNode A base class for Nodes representing text files.
TextNodeHistorian TextNodeHistorian is a subclass of Historian which has been optimized for working with the TextBuffer storage of a TextNode while taking into account the expected save encoding.
UnrecognizedTextNode The UnrecognizedTextNode is used for files that are not recognized by the node recognizer system.
UpdateMessage An UpdateMessage represents the message from a Subject to an Observer about a change that has already happened or, in the case of vetoable updates, a change that is about to happen.
UserPropertiesMigrator Migrates the Project user properties.
Workspace Workspace represents an Application.
WorkspaceChangeEvent Event indicating that a workspace has changed.
WorkspaceMigrator Workspace migrator.
Workspaces This class holds all Workspace objects currently available to the user in the IDE.
XMLDataContainer The XMLDataContainer is the Node wrapper for a Folder-implementing JavaBean that can be persisted to XML using the XML marshalling framework in oracle.ide.marshal.xml.
XMLDataNode The XMLDataNode class is the Node wrapper for a JavaBean class that can be persisted to XML using the XML marshalling framework Object2Dom.
XMLDataNode.DataCastPacket The DataCastPacket class is a data class that is helpful for reducing the number of type-cast operations that need to occur.


Enum Summary
NodeUtil.ReloadMode Tailors the level of user interaction while reloading a Node.


Exception Summary
RecognizerException This is an Exception class that is thrown by a Recognizer when validation fails.


Package oracle.ide.model Description

Contains interfaces and classes implementing JDeveloper's data model. In JDeveloper persistent data, such as projects and java files, are encapsulated by objects implementing the Node or oracle.ide.model.Container interface. Other objects, such as the structure of an xml file, are encapsulated by implementations of the Element or Folder interface. Generally, these structural elements are transient objects that are constantly re-created as the content of the xml file is updated by the user.

Data model classes are oracle.ide.addin.Subjects that can be observed by objects that implement the oracle.ide.addin.Observer interface. In general, changes to the data model should be undoable and delegated from a oracle.ide.addin.View to that view's oracle.ide.addin.Controller. It is the responsability of the Controller to use the oracle.ide.CommandProcessor to execute a oracle.ide.addin.Command implementation that changes the data model, notifies model observers of the change, and has the ability to undo the changes done to the model.

Note from the description above it is the responsability of the object that modifies data to send oracle.ide.addin.UpdateMessage notifications when the data model is changed. This allows batching up data model changes avoiding thus the proliferation of change notification messages. In the framework, the data model is only responsible for maintaining data.

Related Documentation

See Extending JDeveloper Using the Addin API for detailed information.

Skip navigation links

Oracle Fusion Middleware Java API Reference for Oracle Extension SDK
11g Release 2 (


Copyright © 1997, 2012, Oracle. All rights reserved.