public abstract class ContainerModelAdapter extends ModelAdapter
ModelAdapter
which adapts an Element
which
contains elements.ModelAdapter
Modifier | Constructor and Description |
---|---|
protected |
ContainerModelAdapter(ModelFactory factory,
ModelType type,
ContainerModelAdapter workspace,
ContainerModelAdapter project,
ContainerModelAdapter directory,
ContentDirectory element,
java.net.URL url) |
protected |
ContainerModelAdapter(ModelFactory factory,
ModelType type,
ContainerModelAdapter workspace,
Project project,
java.net.URL url) |
protected |
ContainerModelAdapter(ModelFactory factory,
ModelType type,
Workspaces applications,
java.net.URL url) |
protected |
ContainerModelAdapter(ModelFactory factory,
ModelType type,
Workspace workspace,
java.net.URL url) |
Modifier and Type | Method and Description |
---|---|
protected void |
addContainedElement(Element element,
java.net.URL url)
Gets the models for an element contained by the root construct of this
model, and adds them to the models contained by this model.
|
boolean |
addContainedModel(ModelAdapter model)
Adds a model to the set contained by this model.
|
void |
addEmbeddedModel(ModelAdapter embeddedModel,
ModelAdapter baseModel)
Adds an embedded model to the set contained by this model.
|
protected abstract void |
collectContainedElements()
Collects the contained
Element s of the root construct. |
java.lang.Object |
getConstruct(Location location)
Gets the innermost construct containing a location in this model.
|
java.util.Iterator |
getContainedConstructs(java.lang.Object construct)
Gets the constructs contained by a construct in this model.
|
java.util.Iterator<Element> |
getContainedUnauditableElements()
Gets the unauditable elements contained by the root construct of this
model.
|
Location[] |
getElementLocations(Element element)
Gets the locations of the constructs in this model corresponding to an
IDE element.
|
Location |
getLocation(java.lang.Object construct)
Gets the location for a construct in this model, or null if the object
is not a construct in this model.
|
java.lang.Object |
getRootHook()
A subclass hook invoked by
ModelAdapter.getRoot() to get the root construct of
this model. |
java.net.URL |
getUrl(Location location)
Gets the URL of a construct in this model.
|
boolean |
isFile()
Gets whether this model represents a "file".
|
acquireReadLock, acquireReadLock, acquireReadLock, beginRead, beginRead, beginReadHook, cancelRead, compareSiblings, compareTo, contains, contains, contains, contains, contextDescription, createModelAccessError, createModelAccessError, createModelAccessError, edit, endRead, endRead, endReadHook, enter, equals, exit, getAttribute, getCharacter, getColumnOffset, getConstruct, getContainingAdapter, getDependency, getDirectory, getDirectoryAdapter, getElement, getEndLocation, getFactory, getFileAdapter, getFocusLocation, getFocusLocation, getIcon, getIcon, getIdeContext, getInitialLength, getLabel, getLabel, getLine, getLineOffset, getLocation, getLocation, getLock, getNavigationPoint, getNode, getPrimaryCollationKey, getProject, getProjectAdapter, getRoot, getSecondaryCollationKey, getSecondaryCollationString, getShortLabel, getSimpleName, getSummary, getSummary, getText, getType, getUrl, getURL, getWorkspace, getWorkspaceAdapter, hashCode, isAccessible, isModifiable, isModified, isModified, isNavigable, isReadLockHeld, isWriteLockHeld, release, releaseReadLock, releaseReadLock, setAttribute, toString, verifyModelAccess, verifyReadTransaction
protected ContainerModelAdapter(ModelFactory factory, ModelType type, Workspaces applications, java.net.URL url)
protected ContainerModelAdapter(ModelFactory factory, ModelType type, Workspace workspace, java.net.URL url)
protected ContainerModelAdapter(ModelFactory factory, ModelType type, ContainerModelAdapter workspace, Project project, java.net.URL url)
protected ContainerModelAdapter(ModelFactory factory, ModelType type, ContainerModelAdapter workspace, ContainerModelAdapter project, ContainerModelAdapter directory, ContentDirectory element, java.net.URL url)
public Location[] getElementLocations(Element element)
ModelAdapter
Implementations need only deal with IDE element types that are returned
by the getRootElementTypes
and
getContainedElementTypes
methods
of the model type for this model.
getElementLocations
in class ModelAdapter
element
- an IDE Element
of a type supported by this model.public java.lang.Object getRootHook()
ModelAdapter.getRoot()
to get the root construct of
this model. A read transaction must be active on this model.
If an implementation cannot access its content and can provide a useful
description of the cause, it should throw ModelAccessError
with
that localized description. Otherwise, it should return null, and ModelAdapter.getRoot()
will probe the file and construct and throw the exception based
on its findings.
The default ContainerModelAdapter
implementation returns the
Element
corresponding to this model.
getRootHook
in class ModelAdapter
public java.net.URL getUrl(Location location)
ModelAdapter
implementation returns the URL of the model.
The default ContainerModelAdapter
implementation returns the
Element
corresponding to this model.
getUrl
in class ModelAdapter
public boolean isFile()
The default ContainerModelAdapter
implementation returns false.
isFile
in class ModelAdapter
public boolean addContainedModel(ModelAdapter model)
model
- An adapter for a model contained by the root construct of
this model.public java.util.Iterator getContainedConstructs(java.lang.Object construct)
Implementations must return an iterator which iterates the constructs in document order.
The default ContainerModelAdapter
implementation requires that the
construct be the root construct of this model and returns an iterator
over the model adapters contained by this model adapter. On first
invocation, it invokes collectContainedElements()
unless the Audit
framework has already invoked addContainedModel at least once to configure
a subset.
Implementations must return an iterator which iterates the model adapters in their natural order.
getContainedConstructs
in class ModelAdapter
construct
- The root construct of this model.public Location getLocation(java.lang.Object construct)
ModelAdapter
If the construct is the root construct, implementations must return ModelAdapter.getLocation()
; otherwise implementations must extract offset and length
from the construct to create a Location
(typically with ModelAdapter.getLocation(int, int)
).
getLocation
in class ModelAdapter
construct
- a construct in this model, created by either ModelAdapter.getRoot()
or ModelAdapter.getContainedConstructs(java.lang.Object)
.public java.lang.Object getConstruct(Location location)
ModelAdapter
ModelAdapter
implementation traverses from the root using
ModelAdapter.getContainedConstructs(java.lang.Object)
and the Location.contains(oracle.jdeveloper.audit.model.Location)
method.getConstruct
in class ModelAdapter
location
- A location in this model.public java.util.Iterator<Element> getContainedUnauditableElements()
protected abstract void collectContainedElements()
Element
s of the root construct.
Implementations must call addContainedElement(oracle.ide.model.Element, java.net.URL)
for each contained
element. This method is invoked by the first invocation of
getContainedConstructs(java.lang.Object)
or
#getContainedUnauditableElements, unless {@link #addContainedModel}
has already been invoked.
The Audit framework invokes this method with a read transaction active on this model.
construct
- The root construct of this model.ModelAccessError
- if model content is inaccessible.protected void addContainedElement(Element element, java.net.URL url)
collectContainedElements()
methods.element
- An element contained by the root construct of this model.url
- The URL of the element, null to extract from element.public void addEmbeddedModel(ModelAdapter embeddedModel, ModelAdapter baseModel)
embeddedModel
- An adapter for an embedded model created from a model
already contained by this model.baseModel
- The base model for the embedded model, contained by
this model.