Extension SDK 10.1.2


oracle.ide.cmd
Class SaveAsCommand

java.lang.Object
  extended byoracle.ide.addin.AbstractCommand
      extended byoracle.ide.cmd.SaveAsCommand

All Implemented Interfaces:
Command
Direct Known Subclasses:
EditorSaveAsCommand, RenameCommand

public class SaveAsCommand
extends AbstractCommand

The SaveAsCommand class implements the SaveAs command.


Field Summary
protected Context _context
protected Node _duplicate
protected Folder _elementOwner
protected java.net.URL _newURL
protected java.lang.Class _nodeClass
protected boolean _noPlaceToAdd
protected static int CANCELED
protected static int OK_NAME_CHANGED
protected static int OK_NAME_UNCHANGED

Fields inherited from class oracle.ide.addin.AbstractCommand
cmdId, context, name, type

Fields inherited from interface oracle.ide.addin.Command
CANCEL, EXECUTING, NO_CHANGE, NO_UNDO, NORMAL, OK

Constructor Summary
SaveAsCommand()
protected SaveAsCommand(int cmdId)

Method Summary
protected int convertToDupNode(Document doc)
protected int convertToNewNode(Document doc)
Rename with node conversion.
int doit()
Executes the actions associated with a specific command.
protected int doSaveAs(java.lang.String dialogTitle)
protected Folder getElementOwner(Element element, Context context, boolean parentOK)
protected int handleDocumentOwnership(Document doc, Node node, java.net.URL oldURL)
This method handles adding/removing/replacing the document from it's owner Subclasses of the command may need to handle ownership differently (eg, RenameCommand should do something different from SaveAsCommand).
protected boolean isSameFile(java.net.URL newURL, java.net.URL elementURL)
Used to determine if the new URL we're going to Save As is the same as the elementURL.
protected int saveAsDupNode(Document doc)
There is already a node in the cache with the new url.
protected int saveAsNewNode(Document doc)
The specified doc is being saved as a different name in addition to the name it already has.
protected int saveDocument(Document doc)
protected boolean saveFileDlgOK(Context context, Document doc, java.lang.String dialogTitle)
protected java.net.URL validateNewURL(Recognizer recognizer, java.net.URL newURL, java.net.URL oldURL)

Methods inherited from class oracle.ide.addin.AbstractCommand
getAffectedDocuments, getContext, getData, getId, getName, getType, setContext, setData, undo

Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Detail

OK_NAME_CHANGED

protected static final int OK_NAME_CHANGED
See Also:
Constant Field Values

OK_NAME_UNCHANGED

protected static final int OK_NAME_UNCHANGED
See Also:
Constant Field Values

CANCELED

protected static final int CANCELED
See Also:
Constant Field Values

_context

protected Context _context

_nodeClass

protected java.lang.Class _nodeClass

_elementOwner

protected Folder _elementOwner

_newURL

protected java.net.URL _newURL

_duplicate

protected Node _duplicate

_noPlaceToAdd

protected boolean _noPlaceToAdd

Constructor Detail

SaveAsCommand

public SaveAsCommand()

SaveAsCommand

protected SaveAsCommand(int cmdId)

Method Detail

doit

public int doit()
         throws java.lang.Exception
Description copied from interface: Command
Executes the actions associated with a specific command. When a command executes successfully, implementations should return OK, otherwise, return CANCEL or any other non-zero value.
Throws:
java.lang.Exception

getElementOwner

protected Folder getElementOwner(Element element,
                                 Context context,
                                 boolean parentOK)

validateNewURL

protected java.net.URL validateNewURL(Recognizer recognizer,
                                      java.net.URL newURL,
                                      java.net.URL oldURL)

saveFileDlgOK

protected boolean saveFileDlgOK(Context context,
                                Document doc,
                                java.lang.String dialogTitle)

doSaveAs

protected int doSaveAs(java.lang.String dialogTitle)

convertToNewNode

protected int convertToNewNode(Document doc)
Rename with node conversion.

handleDocumentOwnership

protected int handleDocumentOwnership(Document doc,
                                      Node node,
                                      java.net.URL oldURL)
                               throws java.lang.Exception
This method handles adding/removing/replacing the document from it's owner Subclasses of the command may need to handle ownership differently (eg, RenameCommand should do something different from SaveAsCommand).
Parameters:
doc -
node -
oldURL -
Returns:
Throws:
java.lang.Exception

convertToDupNode

protected int convertToDupNode(Document doc)

saveAsNewNode

protected int saveAsNewNode(Document doc)
The specified doc is being saved as a different name in addition to the name it already has. The doc class has not changed (that is an html document has not been renamed as a jsp document).

saveDocument

protected int saveDocument(Document doc)

saveAsDupNode

protected int saveAsDupNode(Document doc)
There is already a node in the cache with the new url.

isSameFile

protected boolean isSameFile(java.net.URL newURL,
                             java.net.URL elementURL)
Used to determine if the new URL we're going to Save As is the same as the elementURL. For purposes of a Save As we need to use URLFileSystem.equals() so we get the right answer taking into consideration if the file system is case-sensitive or not. For Save As on a case-insensitive file system we can't let Untitled.jsp be saved as untitled.jsp as we need 2 files on disk, but only have 1 name.
Parameters:
newURL -
elementURL -
Returns:
true if the files are the same; false otherwise

Extension SDK


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