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 void
static boolean
clone()
void
void
protected void
closeFile
(HecDSSFileData fileDataSet) void
protected boolean
closeFileOptional
(HecDSSFileData fileDataSet) protected void
static void
DssFileManagerStatus
(Collection<HecDSSFileData> output) boolean
boolean
boolean
static void
flushDss()
int
protected HecDSSFileData
protected HecDSSFileData
getFileDataSet
(String DSSFilename) protected int
static String
getStackTrace
(Throwable throwable) boolean
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.void
releaseAccess
(intContainer lockThreadToken) void
releaseFile
(boolean closeIfUnused) int[]
requestAccess
(intContainer lockThreadToken) int[]
static void
setCloseUnusedFiles
(boolean doCloseUnusedFiles) protected int
static void
status()
static void
status
(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
-