fr.ifremer.isisfish.datastore
Class CodeSourceStorage

java.lang.Object
  extended by fr.ifremer.isisfish.datastore.VersionStorage
      extended by fr.ifremer.isisfish.datastore.CodeSourceStorage
Direct Known Subclasses:
FormuleStorage, JavaSourceStorage

public abstract class CodeSourceStorage
extends VersionStorage

Classes abstraite permettant la gestion des fichiers de code source. ScriptStorage, RuleStorage, ExportStorage, SimulationPlanStorage, SensitivityAnalysisStorage SensitivityExportStorage Created: 21 janv. 2006 15:20:24

Version:
$Revision: 3671 $ Last update: $Date: 2012-04-03 15:31:36 +0200 (Tue, 03 Apr 2012) $ by : $Author: echatellier $
Author:
poussin

Nested Class Summary
static class CodeSourceStorage.Location
          Location enum to look for script in official repository or community directory.
 
Field Summary
protected  String content
          Le contenu du fichier.
protected  long lastContentLength
          La derniere taille connu du content, sert a detecter si content doit etre relu.
protected  long lastContentUpdate
          Date de derniere mise a jour de content, sert a detecter si content doit etre relu.
protected  String name
          Le nom de la classe sans le package.
 
Fields inherited from class fr.ifremer.isisfish.datastore.VersionStorage
changeListeners, file, root
 
Constructor Summary
protected CodeSourceStorage(File rootSrc, File directory, String name, String suffix)
          Contruit un nouveau rule storage.
 
Method Summary
 boolean exists()
          Check if script exists.
 String getContent()
          Retourne le contenu du fichier.
protected  List<File> getFiles(boolean withParent)
          Donne la liste de tous les fichiers à gérer par le VCS.
 String getName()
          Get storage name.
protected static CodeSourceStorage.Location[] nonEmptyLocation(CodeSourceStorage.Location... location)
          Get non empty location.
protected  void prepare()
          Permet de demander la preparation des fichiers pour etre envoyé vers le VCS.
 void reload()
          Permet de forcer la relecture du fichier sur le disque.
 void setContent(String content)
          Set file content.
 void setContent(String content, boolean saveToFile)
          Set file content.
 
Methods inherited from class fr.ifremer.isisfish.datastore.VersionStorage
add, addStorageChangeListener, checkout, commit, delete, diff, fireDataChanged, getCommunityDatabaseDirectory, getCommunityVCS, getContextDatabaseDirectory, getCurrentVCS, getCurrentVCS, getFile, getFiles, getRemoteStorageNames, getRoot, getStorageNames, getVCS, isOnRemote, isUpToDate, isVersionnableFile, removeStorageChangeListener, update
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

name

protected String name
Le nom de la classe sans le package.


content

protected String content
Le contenu du fichier.


lastContentUpdate

protected long lastContentUpdate
Date de derniere mise a jour de content, sert a detecter si content doit etre relu.


lastContentLength

protected long lastContentLength
La derniere taille connu du content, sert a detecter si content doit etre relu.

Constructor Detail

CodeSourceStorage

protected CodeSourceStorage(File rootSrc,
                            File directory,
                            String name,
                            String suffix)
Contruit un nouveau rule storage.

Parameters:
rootSrc - repertoire racine des sources
directory - le repertoire ou devrait se trouver la classe. Ce répertoire doit etre un sous répertoire de rootSrc
name - le nom de la classe
suffix - l'extension des fichiers
Method Detail

nonEmptyLocation

protected static CodeSourceStorage.Location[] nonEmptyLocation(CodeSourceStorage.Location... location)
Get non empty location.

Parameters:
location - current location (if empty, return Location#All.

prepare

protected void prepare()
Description copied from class: VersionStorage
Permet de demander la preparation des fichiers pour etre envoyé vers le VCS.

Specified by:
prepare in class VersionStorage

getFiles

protected List<File> getFiles(boolean withParent)
Description copied from class: VersionStorage
Donne la liste de tous les fichiers à gérer par le VCS. Ceci inclu la liste des répertoires pour aller de ce storage jusqu'a la racine VCSNone si withParent est vrai

Overrides:
getFiles in class VersionStorage
Parameters:
withParent - si vrai inclu les parents
Returns:
la liste des fichiers trouvés

exists

public boolean exists()
Check if script exists.

Returns:
true if storage file exists

getName

public String getName()
Get storage name.

Returns:
the name.

getContent

public String getContent()
Retourne le contenu du fichier. Si le fichier reel est plus recent que la derniere lecture, alors il est relu automatiquement. Ce mecanisme de relecture automatique peut ne pas fonctionner si entre la derniere lecture de content et la modification directement du fichier a ete fait dans la meme seconde et que le fichier modifier a la meme taille que le precedent. Pour reellement forcer la relecture on peut utiliser la methode reload()}

Returns:
le contenu du fichier

setContent

public void setContent(String content)
                throws IOException
Set file content.

Parameters:
content - new content
Throws:
IOException

setContent

public void setContent(String content,
                       boolean saveToFile)
                throws IOException
Set file content.

Parameters:
content - new content
saveToFile - if true also save content to file
Throws:
IOException

reload

public void reload()
Permet de forcer la relecture du fichier sur le disque.



Copyright © 1999-2012 CodeLutin. All Rights Reserved.