Class HecDSSFileDataManager

java.lang.Object
hec.heclib.dss.HecDSSFileDataManager
All Implemented Interfaces:
Cloneable

public class HecDSSFileDataManager extends Object implements Cloneable
HecDSSFileDataManager manages state (open, locked) of multiple DSS files
  • Field Details

    • hecTime

      public static HecTime hecTime
  • Constructor Details

    • HecDSSFileDataManager

      public HecDSSFileDataManager()
  • Method Details

    • setFile

      protected int setFile(String DSSFileName, boolean fileMustExist, int dssVersion)
    • setCloseUnusedFiles

      public static void setCloseUnusedFiles(boolean doCloseUnusedFiles)
    • releaseFile

      public void releaseFile(boolean closeIfUnused)
    • closeFile

      public void closeFile()
    • closeFile

      public void closeFile(String fileName)
    • closeFile

      protected void closeFile(HecDSSFileData fileDataSet)
    • closeFileOptional

      protected boolean closeFileOptional(HecDSSFileData fileDataSet)
    • closeAllFiles

      public void closeAllFiles()
    • isFileAccessed

      public boolean isFileAccessed()
    • requestAccess

      public int[] requestAccess(intContainer lockThreadToken)
    • releaseAccess

      public void releaseAccess(intContainer lockThreadToken)
    • requestSecondAccess

      public int[] requestSecondAccess()
    • dssFilename

      public String dssFilename()
    • dssFileName

      public String dssFileName()
    • fileAccessible

      public boolean fileAccessible()
    • fileOpened

      public boolean fileOpened()
    • getDssFileVersion

      public int getDssFileVersion()
    • fileHasBeenOpened

      public boolean fileHasBeenOpened()
    • checkAllMultipleAccess

      public static void checkAllMultipleAccess()
    • getStackTrace

      public static String getStackTrace(Throwable throwable)
    • flushDss

      public static void flushDss()
    • DssFileManagerStatus

      public static void DssFileManagerStatus(Collection<HecDSSFileData> output)
    • status

      public static void status()
    • status

      public static void status(Collection<HecDSSFileData> output)
    • lockDSS

      protected boolean lockDSS(boolean lock, int lockThreadToken)
      lockDSS is for synchronized access to DSS This function sets a static value to indicate access for a single thread for DSS. Generally, no waiting will be needed unless several threads are hammering DSS at the same time In version 6, there is only one thread per VM that can access DSS In version 7, there is one thread per DSS file. (This has not yet been implemented!)
      Parameters:
      lock -
      lockThreadToken -
      Returns:
    • getLockThreadToken

      protected int getLockThreadToken()
    • getFileDataSet

      protected HecDSSFileData getFileDataSet()
    • getFileDataSet

      protected HecDSSFileData getFileDataSet(String DSSFilename)
    • getOpenedFiles

      protected Vector<String> getOpenedFiles()
    • getAccessedFiles

      protected Vector<String> getAccessedFiles()
    • checkForError

      public static boolean checkForError()
    • unmapFile

      public void unmapFile(String DSSFilename)
    • closeUnusedFiles

      protected void closeUnusedFiles()
    • clone

      public Object clone()
      Overrides:
      clone in class Object