|
Oracle Fusion Middleware Java API Reference for Oracle Extension SDK Reference 11g Release 1 (11.1.1.7.2) E13403-10 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object
oracle.jdeveloper.audit.model.ModelAdapter
oracle.jdeveloper.audit.model.FileModelAdapter
oracle.jdeveloper.audit.model.TextFileModelAdapter
public abstract class TextFileModelAdapter
An abstract ModelAdapter
adapter which adapts a text file node.
When the node is open, this adapter tracks changes to the text buffer associated with the node and maps offsets across edits to the node. When the node is opened, this adapter attaches an observer to the text buffer.
ModelAdapter
Field Summary |
---|
Fields inherited from class oracle.jdeveloper.audit.model.ModelAdapter |
---|
index, log |
Constructor Summary | |
---|---|
TextFileModelAdapter(ModelFactory factory, ModelType type, ContainerModelAdapter workspace, ContainerModelAdapter project, ContainerModelAdapter directory, Node node, java.net.URL url) |
|
TextFileModelAdapter(ModelFactory factory, ModelType type, ContainerModelAdapter workspace, ContainerModelAdapter project, ContainerModelAdapter directory, Node node, java.net.URL url, java.lang.String primaryCollationString) |
Method Summary | |
---|---|
protected boolean |
acquireReadLock(WriteLockRequestListener listener) Acquires a read lock for this model. |
protected void |
beginReadHook() A subclass hook invoked by ModelAdapter.beginRead() after it invokes ModelAdapter.acquireReadLock(oracle.javatools.buffer.WriteLockRequestListener) . |
java.lang.String |
contextDescription(Location location) Gets a description of a location of this model. |
boolean |
edit(Location location) Edits a location in this model using an editor suitable for the model and location. |
protected void |
endReadHook() A subclass hook invoked by ModelAdapter.endRead() before it invokes ModelAdapter.releaseReadLock(oracle.javatools.buffer.WriteLockRequestListener) . |
char |
getCharacter(int offset) Gets a character from this model, or 0 if no text is available. |
int |
getColumnOffset(int offset) Gets the zero-based column offset of a character offset in this model, or the character offset if this model does not have lines and columns. |
protected int |
getDeltaLength(int offset, int length, int version) |
protected int |
getDeltaOffset(int offset, int version) |
Location |
getFocusLocation(Location location) Gets the focus location for a location in this model. |
int |
getInitialLength() Gets the initial length of this model. |
java.lang.String |
getLine(int offset) Gets a line of text from this model, or null if no text is available. |
int |
getLineOffset(int offset) Gets the zero-based line offset of a character offset in this model, or 0 if this model does not have lines and columns. |
Location |
getLocation(int offset, int length) Gets a location in this model. |
java.lang.Object |
getRoot() Gets the root construct of this model. |
abstract java.lang.Object |
getRootImplementation() |
java.lang.String |
getText(int offset, int length) Gets text from this model, or null if no text is available. |
TextBuffer |
getTextBuffer() Gets the text buffer for this model. |
TextNode |
getTextNode() Gets the IDE {@link TextNode) containing this model. |
boolean |
isEditable(Location location) Gets whether a location in this model is editable. |
boolean |
isModifiable() Gets whether this model is modifiable. |
boolean |
isModified() Gets whether this model has been modified since this model adapter was created. |
boolean |
isModified(Location location) Gets whether a region of this model has been modified since this model adapter was created. |
void |
release() Releases resources used by this model. |
protected void |
releaseReadLock(WriteLockRequestListener listener) Releases a read lock for this model. |
Methods inherited from class oracle.jdeveloper.audit.model.FileModelAdapter |
---|
compareTo, contains, getContainingAdapter, getDependency, getFileAdapter, getUrl, isFile |
Methods inherited from class oracle.jdeveloper.audit.model.ModelAdapter |
---|
beginRead, beginRead, cancelRead, compareSiblings, contains, contains, endRead, endRead, enter, equals, exit, getAttribute, getConstruct, getConstruct, getContainedConstructs, getDirectory, getDirectoryAdapter, getElement, getElementLocations, getEndLocation, getFactory, getFocusLocation, getIdeContext, getLocation, getLocation, getLock, getNode, getPrimaryCollationKey, getProject, getProjectAdapter, getSecondaryCollationKey, getSecondaryCollationString, getShortLabel, getType, getURL, getWorkspace, getWorkspaceAdapter, icon, icon, label, label, setAttribute, summary, summary, toString, verifyReadTransaction |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public TextFileModelAdapter(ModelFactory factory, ModelType type, ContainerModelAdapter workspace, ContainerModelAdapter project, ContainerModelAdapter directory, Node node, java.net.URL url)
public TextFileModelAdapter(ModelFactory factory, ModelType type, ContainerModelAdapter workspace, ContainerModelAdapter project, ContainerModelAdapter directory, Node node, java.net.URL url, java.lang.String primaryCollationString)
Method Detail |
---|
public TextNode getTextNode()
public boolean isModifiable()
ModelAdapter
ModelAdapter
implementation returns false
.isModifiable
in class ModelAdapter
public boolean isModified()
ModelAdapter
isModified
in class ModelAdapter
public boolean isModified(Location location)
ModelAdapter
isModified
in class ModelAdapter
public int getInitialLength()
ModelAdapter
Integer.MAX_VALUE
if this node has not been opened. The default ModelAdapter
implementation returns Integer.MAX_VALUE
.getInitialLength
in class ModelAdapter
public Location getLocation(int offset, int length)
ModelAdapter
getLocation
in class ModelAdapter
protected int getDeltaLength(int offset, int length, int version)
protected int getDeltaOffset(int offset, int version)
protected boolean acquireReadLock(WriteLockRequestListener listener)
ModelAdapter.beginRead()
with no read transaction for this model active on the current thread. The client is assumed to be cancellable if it supplies the listener argument; non-cancellable if not. The default TextFileModelAdapter
implementation is the following:
ReadWriteLock lock = getLock();
lock.readLock();
return listener != null && lock.addWriteLockRequestListener(listener);
.acquireReadLock
in class ModelAdapter
listener
- The listener to notify if a thread waits to acquire the write lock, or null if the client is not cancellable.listener
is null.protected void releaseReadLock(WriteLockRequestListener listener)
ModelAdapter.endRead()
with a read transaction for this model active on the current thread. The default TextFileModelAdapter
implementation is the following:
ReadWriteLock lock = getLock();
if (listener != null) lock.removeWriteLockRequestListener(listener);
lock.readUnlock();
.releaseReadLock
in class ModelAdapter
listener
- The value given to the matching acquireReadLock(oracle.javatools.buffer.WriteLockRequestListener)
.protected void beginReadHook()
ModelAdapter.beginRead()
after it invokes ModelAdapter.acquireReadLock(oracle.javatools.buffer.WriteLockRequestListener)
. The default ModelAdapter
implementation does nothing.
The TextFileModelAdapter
implementation pins the text buffer for use during the read transaction. Subclasses should not invoke this method from inside a synchronized block, on peril of deadlock!
beginReadHook
in class ModelAdapter
ModelAdapter.beginRead()
, endReadHook()
protected void endReadHook()
ModelAdapter.endRead()
before it invokes ModelAdapter.releaseReadLock(oracle.javatools.buffer.WriteLockRequestListener)
. The default ModelAdapter
implementation does nothing. The TextFileModelAdapter
implementation unpins the text buffer.endReadHook
in class ModelAdapter
ModelAdapter.endRead()
, beginReadHook()
public char getCharacter(int offset)
ModelAdapter
0
if no text is available. A read transaction must be active on this node. The ModelAdapter
implementation returns 0
.getCharacter
in class ModelAdapter
offset
- The index of the character to return.public int getColumnOffset(int offset)
ModelAdapter
ModelAdapter
implementation returns the character offset.getColumnOffset
in class ModelAdapter
public Location getFocusLocation(Location location)
ModelAdapter
ModelAdapter.getFocusLocation(java.lang.Object, oracle.jdeveloper.audit.model.Location)
implementation gets the whole location. A read transaction must be active on this node.getFocusLocation
in class ModelAdapter
location
- a location in this model.public java.lang.String getLine(int offset)
ModelAdapter
ModelAdapter
implementation returns null.getLine
in class ModelAdapter
offset
- The index of a character in the line to return.public int getLineOffset(int offset)
ModelAdapter
0
if this model does not have lines and columns. A read transaction must be active on this node. The ModelAdapter
implementation returns 0.getLineOffset
in class ModelAdapter
public final java.lang.Object getRoot()
ModelAdapter
getRoot
in class ModelAdapter
public abstract java.lang.Object getRootImplementation()
public java.lang.String getText(int offset, int length)
ModelAdapter
ModelAdapter
implementation returns null.getText
in class ModelAdapter
offset
- The index of the first character to return.length
- The number of characters to return.public TextBuffer getTextBuffer()
A read transaction must be active for this model on the current thread.
public boolean isEditable(Location location)
ModelAdapter
implementation returns false.
The default FileModelAdapter
implementation returns true.
isEditable
in class ModelAdapter
public boolean edit(Location location)
ModelAdapter
implementation does nothing and returns false.
The default TextFileModelAdapter
implementation invokes Editors.editNode(oracle.ide.model.Workspace, oracle.ide.model.Project, oracle.ide.model.Node, int, int, boolean)
.
edit
in class ModelAdapter
public void release()
ModelAdapter
release
in class ModelAdapter
public java.lang.String contextDescription(Location location)
The ModelAdapter
implementation includes the file name and offsets of the location.
The TextFileModelAdapter
implementation adds the line and column numbers and the text of the location.
contextDescription
in class ModelAdapter
|
Oracle Fusion Middleware Java API Reference for Oracle Extension SDK Reference 11g Release 1 (11.1.1.7.2) E13403-10 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |