com.aptana.ide.core.ui.io.file
Class LocalFileManager

java.lang.Object
  extended by com.aptana.ide.core.io.VirtualManagerBase
      extended by com.aptana.ide.core.ui.io.file.LocalFileManager
All Implemented Interfaces:
IVirtualFileManager, ISerializableSyncItem, java.lang.Comparable, java.util.EventListener, org.eclipse.jface.util.IPropertyChangeListener
Direct Known Subclasses:
ProjectFileManager

public class LocalFileManager
extends VirtualManagerBase

Author:
Robin Debreuil

Field Summary
 
Fields inherited from interface com.aptana.ide.core.io.sync.ISerializableSyncItem
DELIMITER, FILE_DELIMITER, OBJ_DELIMITER, SECTION_DELIMITER, TYPE_DELIMITER
 
Constructor Summary
LocalFileManager(ProtocolManager protocolManager)
          LocalFileManager
 
Method Summary
static void addGlobalSyncCloakExpression(java.lang.String expression)
          Adds the specified cloaking expression
 int compareTo(java.lang.Object o)
           
 void connect()
          Establish a connection with the file manager
 boolean containsFile(IVirtualFile file)
          Does this file manager contain this particular file?
 boolean createLocalDirectory(IVirtualFile directoryFile)
          Creates a new directory within the file manager's file system
 IVirtualFile createVirtualDirectory(java.lang.String path)
          Creates a new virtual file for the specified directory path.
 IVirtualFile createVirtualFile(java.lang.String path)
          Creates a new virtual file for this specified path.
 boolean deleteFile(IVirtualFile file)
          Delete the specified file or directory from the file manager
 void disconnect()
          Break the connection with the file manager
 void fromSerializableString(java.lang.String s)
          fromSerializableString
 IVirtualFile getBaseFile()
          getBaseFile
 java.lang.String getBasePath()
          getBasePath
 java.lang.String getDescriptiveLabel()
          Returns a descriptive label for use when presenting this file manager
 org.eclipse.swt.graphics.Image getDisabledImage()
          getIcon
 IVirtualFile[] getFiles(IVirtualFile file)
          getFiles
 IVirtualFile[] getFiles(IVirtualFile file, boolean recurse, boolean includeCloakedFiles)
          getFiles
 java.lang.String getFileSeparator()
          Get the string that is used to separate directories and files within a path
 java.lang.String getFileTimeString(IVirtualFile file)
          Returns the time of the file as a String.
 java.lang.String getGroup(IVirtualFile file)
          getGroup
 java.lang.String getHashString()
          Gets a string hash representation of this object.
 org.eclipse.swt.graphics.Image getImage()
          getIcon
 java.lang.String getOwner(IVirtualFile file)
          getOwner
protected  org.eclipse.jface.preference.IPreferenceStore getPreferenceStore()
          Returns the local preference store
 java.io.InputStream getStream(IVirtualFile file)
          getStream
 long getTimeOffset()
          getTimeOffset
 java.lang.String getType()
          getType
 boolean hasFiles(IVirtualFile file)
          Determines if this virtual file contains files
 boolean isConnected()
          Are we currently connected?
 boolean isValid()
          Is the current file manager valid (meaning that the base path is valid)
 boolean moveFile(IVirtualFile source, IVirtualFile destination)
          Move the virtual file to a new location
 void putStream(java.io.InputStream input, IVirtualFile targetFile)
          putStream
 void putToLocalFile(IVirtualFile file, java.io.File localFile)
          getStream
 void refresh()
          refresh
static void removeGlobalSyncCloakExpression(java.lang.String expression)
          Removes the specified cloaking expression
 boolean renameFile(IVirtualFile file, java.lang.String newName)
          Rename a virtual file
 void resolveBasePath()
          resolveBasePath
 void setBasePath(java.lang.String path)
          setBasePath
 void setDisabledImage(org.eclipse.swt.graphics.Image image)
          setImage
 void setGroup(IVirtualFile file, java.lang.String groupName)
          setGroup
 void setImage(org.eclipse.swt.graphics.Image image)
          setImage
 void setOwner(IVirtualFile file, java.lang.String ownerName)
          setOwner
 java.lang.String toSerializableString()
          toSerializableString
 
Methods inherited from class com.aptana.ide.core.io.VirtualManagerBase
addCloakedFile, addCloakExpression, addFileTransferListener, deserializeCloakedFiles, fireFileTransferEvent, fireGetFilesEvent, getCloakedFileExpressions, getCloakedFiles, getEventHandler, getFileTypeCloakExpression, getId, getNickName, getProtocolManager, isAutoCalculateServerTimeOffset, isFileCloaked, isHidden, isTransient, propertyChange, removeAllCloakExpressions, removeCloakedFile, removeCloakExpression, removeFileTransferListener, resetTimeOffsetCache, serializeCloakedFiles, setAutoCalculateServerTimeOffset, setCloakedFiles, setEventHandler, setHidden, setId, setNickName, setTimeOffset, setTransient
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LocalFileManager

public LocalFileManager(ProtocolManager protocolManager)
LocalFileManager

Parameters:
protocolManager -
Method Detail

createVirtualFile

public IVirtualFile createVirtualFile(java.lang.String path)
Description copied from interface: IVirtualFileManager
Creates a new virtual file for this specified path. Note that this does not create a new file within the file system

Parameters:
path - The path to the new virtual file
Returns:
IVirtualFile Returns a virtual file for this new file
See Also:
IVirtualFileManager.createVirtualFile(java.lang.String)

createLocalDirectory

public boolean createLocalDirectory(IVirtualFile directoryFile)
Description copied from interface: IVirtualFileManager
Creates a new directory within the file manager's file system

Parameters:
directoryFile - The path to the new directory
Returns:
Returns trues if the directory was created successfully.
See Also:
IVirtualFileManager.createLocalDirectory(IVirtualFile)

createVirtualDirectory

public IVirtualFile createVirtualDirectory(java.lang.String path)
Description copied from interface: IVirtualFileManager
Creates a new virtual file for the specified directory path. Note that this does not create a directory within the file system

Parameters:
path - The path to the new virtual directory
Returns:
IVirtualFile Returns a virtual file for the new directory
See Also:
IVirtualFileManager.createVirtualDirectory(java.lang.String)

getBaseFile

public IVirtualFile getBaseFile()
getBaseFile

Returns:
IVirtualFile

getBasePath

public java.lang.String getBasePath()
Description copied from interface: IVirtualFileManager
getBasePath

Returns:
String
See Also:
IVirtualFileManager.getBasePath()

setBasePath

public void setBasePath(java.lang.String path)
Description copied from interface: IVirtualFileManager
setBasePath

See Also:
IVirtualFileManager.setBasePath(java.lang.String)

getFiles

public IVirtualFile[] getFiles(IVirtualFile file)
Description copied from interface: IVirtualFileManager
getFiles

Specified by:
getFiles in interface IVirtualFileManager
Overrides:
getFiles in class VirtualManagerBase
Returns:
IVirtualFile[]
See Also:
IVirtualFileManager.getFiles(com.aptana.ide.core.io.IVirtualFile)

getFiles

public IVirtualFile[] getFiles(IVirtualFile file,
                               boolean recurse,
                               boolean includeCloakedFiles)
Description copied from interface: IVirtualFileManager
getFiles

includeCloakedFiles - do we include cloaked files in the list?
Returns:
IVirtualFile[]
See Also:
IVirtualFileManager.getFiles(com.aptana.ide.core.io.IVirtualFile, boolean, boolean)

getFileTimeString

public java.lang.String getFileTimeString(IVirtualFile file)
Description copied from interface: IVirtualFileManager
Returns the time of the file as a String.

Returns:
String
See Also:
IVirtualFileManager.getFileTimeString(com.aptana.ide.core.io.IVirtualFile)

hasFiles

public boolean hasFiles(IVirtualFile file)
Description copied from interface: IVirtualFileManager
Determines if this virtual file contains files

Parameters:
file - The IVirtualFile to check for files against
Returns:
Returns true if this virtual file is a directory containing other files
See Also:
IVirtualFileManager.hasFiles(IVirtualFile file)

getFileSeparator

public java.lang.String getFileSeparator()
Description copied from interface: IVirtualFileManager
Get the string that is used to separate directories and files within a path

Returns:
Returns the file separator string
See Also:
IVirtualFileManager.getFileSeparator()

getGroup

public java.lang.String getGroup(IVirtualFile file)
Description copied from interface: IVirtualFileManager
getGroup

Returns:
group name
See Also:
IVirtualFileManager.getGroup(com.aptana.ide.core.io.IVirtualFile)

setGroup

public void setGroup(IVirtualFile file,
                     java.lang.String groupName)
Description copied from interface: IVirtualFileManager
setGroup

See Also:
IVirtualFileManager.setGroup(com.aptana.ide.core.io.IVirtualFile, java.lang.String)

getImage

public org.eclipse.swt.graphics.Image getImage()
Description copied from interface: IVirtualFileManager
getIcon

Returns:
Icon
See Also:
IVirtualFileManager.getImage()

setImage

public void setImage(org.eclipse.swt.graphics.Image image)
Description copied from interface: IVirtualFileManager
setImage

See Also:
IVirtualFileManager.setImage(org.eclipse.swt.graphics.Image)

getDisabledImage

public org.eclipse.swt.graphics.Image getDisabledImage()
Description copied from interface: IVirtualFileManager
getIcon

Returns:
Icon
See Also:
IVirtualFileManager.getDisabledImage()

setDisabledImage

public void setDisabledImage(org.eclipse.swt.graphics.Image image)
Description copied from interface: IVirtualFileManager
setImage

See Also:
IVirtualFileManager.setDisabledImage(org.eclipse.swt.graphics.Image)

getOwner

public java.lang.String getOwner(IVirtualFile file)
Description copied from interface: IVirtualFileManager
getOwner

Returns:
owner name
See Also:
IVirtualFileManager.getOwner(com.aptana.ide.core.io.IVirtualFile)

setOwner

public void setOwner(IVirtualFile file,
                     java.lang.String ownerName)
Description copied from interface: IVirtualFileManager
setOwner

See Also:
IVirtualFileManager.setOwner(com.aptana.ide.core.io.IVirtualFile, java.lang.String)

getTimeOffset

public long getTimeOffset()
                   throws ConnectionException
Description copied from class: VirtualManagerBase
getTimeOffset

Specified by:
getTimeOffset in interface IVirtualFileManager
Overrides:
getTimeOffset in class VirtualManagerBase
Returns:
long
Throws:
ConnectionException
See Also:
VirtualManagerBase.getTimeOffset()

compareTo

public int compareTo(java.lang.Object o)
Specified by:
compareTo in interface java.lang.Comparable
Overrides:
compareTo in class VirtualManagerBase
See Also:
Comparable.compareTo(java.lang.Object)

deleteFile

public boolean deleteFile(IVirtualFile file)
Description copied from interface: IVirtualFileManager
Delete the specified file or directory from the file manager

Parameters:
file - The virtual file to remove
Returns:
Returns true if the file was deleted successfully
See Also:
IVirtualFileManager.deleteFile(com.aptana.ide.core.io.IVirtualFile)

getStream

public java.io.InputStream getStream(IVirtualFile file)
Description copied from interface: IVirtualFileManager
getStream

Returns:
InputStream
See Also:
IVirtualFileManager.getStream(com.aptana.ide.core.io.IVirtualFile)

putToLocalFile

public void putToLocalFile(IVirtualFile file,
                           java.io.File localFile)
Description copied from interface: IVirtualFileManager
getStream

See Also:
IVirtualFileManager.putToLocalFile(com.aptana.ide.core.io.IVirtualFile, java.io.File)

moveFile

public boolean moveFile(IVirtualFile source,
                        IVirtualFile destination)
Description copied from interface: IVirtualFileManager
Move the virtual file to a new location

Parameters:
source - The source virtual file to move
destination - The destination location where to move the file
Returns:
Returns true if the file was moved successfully
See Also:
IVirtualFileManager.moveFile(com.aptana.ide.core.io.IVirtualFile, com.aptana.ide.core.io.IVirtualFile)

putStream

public void putStream(java.io.InputStream input,
                      IVirtualFile targetFile)
               throws java.io.IOException
Description copied from interface: IVirtualFileManager
putStream

Parameters:
input - The input stream containing the data to store in the remote file
targetFile - The remote file where to store the data from the input stream
Throws:
java.io.IOException
VirtualFileManagerException
See Also:
IVirtualFileManager.putStream(java.io.InputStream, IVirtualFile)

renameFile

public boolean renameFile(IVirtualFile file,
                          java.lang.String newName)
Description copied from interface: IVirtualFileManager
Rename a virtual file

Parameters:
file - The virtual file to rename
newName - The new name for the file
Returns:
Returns true if the rename was successful
See Also:
IVirtualFileManager.renameFile(com.aptana.ide.core.io.IVirtualFile, java.lang.String)

refresh

public void refresh()
refresh


getHashString

public java.lang.String getHashString()
Description copied from interface: IVirtualFileManager
Gets a string hash representation of this object.

Returns:
String
See Also:
IVirtualFileManager.getHashString()

containsFile

public boolean containsFile(IVirtualFile file)
Description copied from interface: IVirtualFileManager
Does this file manager contain this particular file?

Parameters:
file - The file to check
Returns:
yes, if the file is "inside" this manager
See Also:
IVirtualFileManager.containsFile(IVirtualFile)

getType

public java.lang.String getType()
Description copied from interface: ISerializableSyncItem
getType

Returns:
String
See Also:
ISerializableSyncItem.getType()

toSerializableString

public java.lang.String toSerializableString()
Description copied from interface: ISerializableSyncItem
toSerializableString

Returns:
String
See Also:
ISerializableSyncItem.toSerializableString()

fromSerializableString

public void fromSerializableString(java.lang.String s)
Description copied from interface: ISerializableSyncItem
fromSerializableString

See Also:
ISerializableSyncItem.fromSerializableString(java.lang.String)

getDescriptiveLabel

public java.lang.String getDescriptiveLabel()
Description copied from interface: IVirtualFileManager
Returns a descriptive label for use when presenting this file manager

Specified by:
getDescriptiveLabel in interface IVirtualFileManager
Overrides:
getDescriptiveLabel in class VirtualManagerBase
Returns:
a string used by various views. Often includes the path.
See Also:
IVirtualFileManager.getDescriptiveLabel()

connect

public void connect()
Description copied from interface: IVirtualFileManager
Establish a connection with the file manager

See Also:
IVirtualFileManager.connect()

disconnect

public void disconnect()
Description copied from interface: IVirtualFileManager
Break the connection with the file manager

See Also:
IVirtualFileManager.disconnect()

resolveBasePath

public void resolveBasePath()
                     throws ConnectionException,
                            VirtualFileManagerException
Description copied from interface: IVirtualFileManager
resolveBasePath

Throws:
ConnectionException
VirtualFileManagerException
See Also:
IVirtualFileManager.resolveBasePath()

isConnected

public boolean isConnected()
Description copied from interface: IVirtualFileManager
Are we currently connected?

Returns:
boolean
See Also:
IVirtualFileManager.isConnected()

getPreferenceStore

protected org.eclipse.jface.preference.IPreferenceStore getPreferenceStore()
Description copied from class: VirtualManagerBase
Returns the local preference store

Specified by:
getPreferenceStore in class VirtualManagerBase
Returns:
IPreferenceStore
See Also:
VirtualManagerBase.getPreferenceStore()

addGlobalSyncCloakExpression

public static void addGlobalSyncCloakExpression(java.lang.String expression)
Adds the specified cloaking expression

Parameters:
expression -

removeGlobalSyncCloakExpression

public static void removeGlobalSyncCloakExpression(java.lang.String expression)
Removes the specified cloaking expression

Parameters:
expression -

isValid

public boolean isValid()
Is the current file manager valid (meaning that the base path is valid)

Specified by:
isValid in interface IVirtualFileManager
Overrides:
isValid in class VirtualManagerBase
Returns:
boolean