public abstract class XFactoryExternalStore
extends java.lang.Object
XAttributable
XES objects in a,
possibly external, ExternalStore
. This implementation stores
attributes of XEvent
, XTrace
objects in a DiskStore
on the file system using MapDB as storage provider. Attributes are stored
together in a single BTreeMap
.
Use one of the embedded sub-classes in this class to create a version that fits your needs. Currently, there are:
XFactoryExternalStore.MapDBDiskImpl
XFactoryExternalStore.MapDBDiskWithoutCacheImpl
XFactoryExternalStore.MapDBDiskSequentialAccessImpl
XFactoryExternalStore.MapDBDiskSequentialAccessWithoutCacheImpl
PLEASE NOTE: Attributes are immutable in this implementation, as they may be
serialized and re-created at any time. Trying to change the value of an
attribute for example through the XAttributeLiteral#setValue(String)
method will result in an UnsupportedOperationException
. To change the
value of an existing attribute, please just use the
XAttributeMap#put(String, org.deckfour.xes.model.XAttribute)
method.
Modifier and Type | Class and Description |
---|---|
static class |
XFactoryExternalStore.MapDBDiskImpl
A XES Factory that stores XAttributes with MapDB on disk.
|
static class |
XFactoryExternalStore.MapDBDiskSequentialAccessImpl
A XES Factory that stores XAttributes with MapDB on disk.
|
static class |
XFactoryExternalStore.MapDBDiskSequentialAccessWithoutCacheImpl
A XES Factory that stores XAttributes with MapDB on disk.
|
static class |
XFactoryExternalStore.MapDBDiskWithoutCacheImpl
A XES Factory that stores XAttributes with MapDB on disk.
|
Modifier and Type | Field and Description |
---|---|
static int |
DEFAULT_CACHE_SIZE
Use 32 MB of memory assuming that each XAttribute takes up at most 144
bytes, which would be approx.
|
static long |
MIN_MEMORY_FOR_CACHING |
Constructor and Description |
---|
XFactoryExternalStore() |
Modifier and Type | Method and Description |
---|---|
void |
commit() |
XAttributeBoolean |
createAttributeBoolean(java.lang.String key,
boolean value,
XExtension extension) |
XAttributeContainer |
createAttributeContainer(java.lang.String key,
XExtension extension) |
XAttributeContinuous |
createAttributeContinuous(java.lang.String key,
double value,
XExtension extension) |
XAttributeDiscrete |
createAttributeDiscrete(java.lang.String key,
long value,
XExtension extension) |
XAttributeID |
createAttributeID(java.lang.String key,
XID value,
XExtension extension) |
XAttributeList |
createAttributeList(java.lang.String key,
XExtension extension) |
XAttributeLiteral |
createAttributeLiteral(java.lang.String key,
java.lang.String value,
XExtension extension) |
XAttributeMap |
createAttributeMap() |
XAttributeTimestamp |
createAttributeTimestamp(java.lang.String key,
java.util.Date value,
XExtension extension) |
XAttributeTimestamp |
createAttributeTimestamp(java.lang.String key,
long millis,
XExtension extension) |
XEvent |
createEvent() |
XEvent |
createEvent(XAttributeMap attributes) |
XEvent |
createEvent(XID id,
XAttributeMap attributes) |
XLog |
createLog() |
XLog |
createLog(XAttributeMap attributes) |
XTrace |
createTrace() |
XTrace |
createTrace(XAttributeMap attributes) |
java.lang.String |
getAuthor() |
protected abstract ExternalStore |
getStore() |
java.net.URI |
getUri() |
java.lang.String |
getVendor() |
java.lang.String |
toString() |
public static final int DEFAULT_CACHE_SIZE
XAttributeLiteral
with
a String of length 50.public static final long MIN_MEMORY_FOR_CACHING
protected abstract ExternalStore getStore()
public java.lang.String toString()
toString
in class java.lang.Object
public java.lang.String getAuthor()
public java.net.URI getUri()
public java.lang.String getVendor()
public XLog createLog()
public XLog createLog(XAttributeMap attributes)
public XTrace createTrace()
public XTrace createTrace(XAttributeMap attributes)
public XEvent createEvent()
public XEvent createEvent(XAttributeMap attributes)
public XEvent createEvent(XID id, XAttributeMap attributes)
public XAttributeMap createAttributeMap()
public XAttributeBoolean createAttributeBoolean(java.lang.String key, boolean value, XExtension extension)
public XAttributeContinuous createAttributeContinuous(java.lang.String key, double value, XExtension extension)
public XAttributeDiscrete createAttributeDiscrete(java.lang.String key, long value, XExtension extension)
public XAttributeLiteral createAttributeLiteral(java.lang.String key, java.lang.String value, XExtension extension)
public XAttributeTimestamp createAttributeTimestamp(java.lang.String key, java.util.Date value, XExtension extension)
public XAttributeTimestamp createAttributeTimestamp(java.lang.String key, long millis, XExtension extension)
public XAttributeID createAttributeID(java.lang.String key, XID value, XExtension extension)
public XAttributeContainer createAttributeContainer(java.lang.String key, XExtension extension)
public XAttributeList createAttributeList(java.lang.String key, XExtension extension)
public void commit()