Package hec.heclib.dss
Class HecDSSFileDataManager
java.lang.Object
hec.heclib.dss.HecDSSFileDataManager
- All Implemented Interfaces:
Cloneable
HecDSSFileDataManager manages state (open, locked) of
multiple DSS files
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidstatic booleanclone()voidvoidprotected voidcloseFile(HecDSSFileData fileDataSet) voidprotected booleancloseFileOptional(HecDSSFileData fileDataSet) protected voidstatic voidDssFileManagerStatus(Collection<HecDSSFileData> output) booleanbooleanbooleanstatic voidflushDss()intprotected HecDSSFileDataprotected HecDSSFileDatagetFileDataSet(String DSSFilename) protected intstatic StringgetStackTrace(Throwable throwable) booleanprotected booleanlockDSS(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.voidreleaseAccess(intContainer lockThreadToken) voidreleaseFile(boolean closeIfUnused) int[]requestAccess(intContainer lockThreadToken) int[]static voidsetCloseUnusedFiles(boolean doCloseUnusedFiles) protected intstatic voidstatus()static voidstatus(Collection<HecDSSFileData> output) void
-
Field Details
-
hecTime
-
-
Constructor Details
-
HecDSSFileDataManager
public HecDSSFileDataManager()
-
-
Method Details
-
setFile
-
setCloseUnusedFiles
public static void setCloseUnusedFiles(boolean doCloseUnusedFiles) -
releaseFile
public void releaseFile(boolean closeIfUnused) -
closeFile
public void closeFile() -
closeFile
-
closeFile
-
closeFileOptional
-
closeAllFiles
public void closeAllFiles() -
isFileAccessed
public boolean isFileAccessed() -
requestAccess
-
releaseAccess
-
requestSecondAccess
public int[] requestSecondAccess() -
dssFilename
-
dssFileName
-
fileAccessible
public boolean fileAccessible() -
fileOpened
public boolean fileOpened() -
getDssFileVersion
public int getDssFileVersion() -
fileHasBeenOpened
public boolean fileHasBeenOpened() -
checkAllMultipleAccess
public static void checkAllMultipleAccess() -
getStackTrace
-
flushDss
public static void flushDss() -
DssFileManagerStatus
-
status
public static void status() -
status
-
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
-
getFileDataSet
-
getOpenedFiles
-
getAccessedFiles
-
checkForError
public static boolean checkForError() -
unmapFile
-
closeUnusedFiles
protected void closeUnusedFiles() -
clone
-