public final class MemoryUsageSetting extends Object
Modifier and Type | Field and Description |
---|---|
RandomAccessStreamCache.StreamCacheCreateFunction |
streamCache
Implementation of the function to create an instance of ScratchFile using the current settings.
|
Modifier and Type | Method and Description |
---|---|
long |
getMaxMainMemoryBytes()
Returns maximum size of main-memory in bytes to be used.
|
long |
getMaxStorageBytes()
Returns maximum size of storage bytes to be used (main-memory in temporary files all together).
|
File |
getTempDir()
Returns directory to be used for temporary files or
null if it was not set. |
boolean |
isMainMemoryRestricted()
Returns
true if maximum main memory is restricted to a specific number of bytes. |
boolean |
isStorageRestricted()
Returns
true if maximum amount of storage is restricted to a specific number of bytes. |
MemoryUsageSetting |
setTempDir(File tempDir)
Sets directory to be used for temporary files.
|
static MemoryUsageSetting |
setupMainMemoryOnly()
Setups buffering memory usage to only use main-memory (no temporary file) which is not restricted in size.
|
static MemoryUsageSetting |
setupMainMemoryOnly(long maxMainMemoryBytes)
Setups buffering memory usage to only use main-memory with the defined maximum.
|
static MemoryUsageSetting |
setupMixed(long maxMainMemoryBytes)
Setups buffering memory usage to use a portion of main-memory and additionally temporary file(s) in case the
specified portion is exceeded.
|
static MemoryUsageSetting |
setupMixed(long maxMainMemoryBytes,
long maxStorageBytes)
Setups buffering memory usage to use a portion of main-memory and additionally temporary file(s) in case the
specified portion is exceeded.
|
static MemoryUsageSetting |
setupTempFileOnly()
Setups buffering memory usage to only use temporary file(s) (no main-memory) with not restricted size.
|
static MemoryUsageSetting |
setupTempFileOnly(long maxStorageBytes)
Setups buffering memory usage to only use temporary file(s) (no main-memory) with the specified maximum size.
|
String |
toString() |
boolean |
useMainMemory()
Returns
true if main-memory is to be used. |
boolean |
useTempFile()
Returns
true if temporary file is to be used. |
public final RandomAccessStreamCache.StreamCacheCreateFunction streamCache
public static MemoryUsageSetting setupMainMemoryOnly()
public static MemoryUsageSetting setupMainMemoryOnly(long maxMainMemoryBytes)
maxMainMemoryBytes
- maximum number of main-memory to be used; -1
for no restriction;
0
will also be interpreted here as no restrictionpublic static MemoryUsageSetting setupTempFileOnly()
public static MemoryUsageSetting setupTempFileOnly(long maxStorageBytes)
maxStorageBytes
- maximum size the temporary file(s) may have all together; -1
for no
restriction; 0
will also be interpreted here as no restrictionpublic static MemoryUsageSetting setupMixed(long maxMainMemoryBytes)
maxMainMemoryBytes
- maximum number of main-memory to be used; if -1
this is the same as
setupMainMemoryOnly()
; if 0
this is the same as setupTempFileOnly()
public static MemoryUsageSetting setupMixed(long maxMainMemoryBytes, long maxStorageBytes)
maxMainMemoryBytes
- maximum number of main-memory to be used; if -1
this is the same as
setupMainMemoryOnly()
; if 0
this is the same as setupTempFileOnly()
maxStorageBytes
- maximum size the main-memory and temporary file(s) may have all together; 0
or less will be ignored; if it is less than maxMainMemoryBytes we use maxMainMemoryBytes value insteadpublic MemoryUsageSetting setTempDir(File tempDir)
tempDir
- directory for temporary filespublic boolean useMainMemory()
true
if main-memory is to be used.
If this returns false
it is ensured useTempFile()
returns true
.
public boolean useTempFile()
true
if temporary file is to be used.
If this returns false
it is ensured useMainMemory
returns true
.
public boolean isMainMemoryRestricted()
true
if maximum main memory is restricted to a specific number of bytes.public boolean isStorageRestricted()
true
if maximum amount of storage is restricted to a specific number of bytes.public long getMaxMainMemoryBytes()
public long getMaxStorageBytes()
public File getTempDir()
null
if it was not set.Copyright © 2002–2022 The Apache Software Foundation. All rights reserved.