public abstract class XFactoryExternalStore
extends java.lang.Object
implements org.deckfour.xes.factory.XFactory
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.MapDBDiskOptimizedForWritingImpl |
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.
|
Constructor and Description |
---|
XFactoryExternalStore() |
Modifier and Type | Method and Description |
---|---|
static boolean |
containsFactory(java.lang.Class<? extends XFactoryExternalStore> clazz) |
org.deckfour.xes.model.XAttributeBoolean |
createAttributeBoolean(java.lang.String key,
boolean value,
org.deckfour.xes.extension.XExtension extension) |
org.deckfour.xes.model.XAttributeContainer |
createAttributeContainer(java.lang.String key,
org.deckfour.xes.extension.XExtension extension) |
org.deckfour.xes.model.XAttributeContinuous |
createAttributeContinuous(java.lang.String key,
double value,
org.deckfour.xes.extension.XExtension extension) |
org.deckfour.xes.model.XAttributeDiscrete |
createAttributeDiscrete(java.lang.String key,
long value,
org.deckfour.xes.extension.XExtension extension) |
org.deckfour.xes.model.XAttributeID |
createAttributeID(java.lang.String key,
org.deckfour.xes.id.XID value,
org.deckfour.xes.extension.XExtension extension) |
org.deckfour.xes.model.XAttributeList |
createAttributeList(java.lang.String key,
org.deckfour.xes.extension.XExtension extension) |
org.deckfour.xes.model.XAttributeLiteral |
createAttributeLiteral(java.lang.String key,
java.lang.String value,
org.deckfour.xes.extension.XExtension extension) |
org.deckfour.xes.model.XAttributeMap |
createAttributeMap() |
org.deckfour.xes.model.XAttributeTimestamp |
createAttributeTimestamp(java.lang.String key,
java.util.Date value,
org.deckfour.xes.extension.XExtension extension) |
org.deckfour.xes.model.XAttributeTimestamp |
createAttributeTimestamp(java.lang.String key,
long millis,
org.deckfour.xes.extension.XExtension extension) |
org.deckfour.xes.model.XEvent |
createEvent() |
org.deckfour.xes.model.XEvent |
createEvent(org.deckfour.xes.model.XAttributeMap attributes) |
org.deckfour.xes.model.XEvent |
createEvent(org.deckfour.xes.id.XID id,
org.deckfour.xes.model.XAttributeMap attributes) |
org.deckfour.xes.model.XLog |
createLog() |
org.deckfour.xes.model.XLog |
createLog(java.util.Collection<org.deckfour.xes.model.XTrace> traces) |
org.deckfour.xes.model.XLog |
createLog(org.deckfour.xes.model.XAttributeMap attributes) |
org.deckfour.xes.factory.XFactory |
createPumpTransferFactory() |
org.deckfour.xes.model.XTrace |
createTrace() |
org.deckfour.xes.model.XTrace |
createTrace(java.util.Collection<org.deckfour.xes.model.XEvent> events) |
org.deckfour.xes.model.XTrace |
createTrace(org.deckfour.xes.model.XAttributeMap attributes) |
void |
dispose() |
void |
finishPump() |
java.lang.String |
getAuthor() |
protected abstract ExternalStore |
getStore() |
java.net.URI |
getUri() |
java.lang.String |
getVendor() |
boolean |
isPumping() |
org.deckfour.xes.model.XEvent |
pumpEvent(org.deckfour.xes.model.XEvent pumpEvent) |
org.deckfour.xes.model.XLog |
pumpLog(org.deckfour.xes.model.XLog pumpLog) |
org.deckfour.xes.model.XTrace |
pumpTrace(org.deckfour.xes.model.XTrace pumpTrace) |
void |
startPump() |
java.lang.String |
toString() |
protected abstract ExternalStore getStore()
public static boolean containsFactory(java.lang.Class<? extends XFactoryExternalStore> clazz)
public java.lang.String toString()
toString
in class java.lang.Object
public java.lang.String getAuthor()
getAuthor
in interface org.deckfour.xes.factory.XFactory
public java.net.URI getUri()
getUri
in interface org.deckfour.xes.factory.XFactory
public java.lang.String getVendor()
getVendor
in interface org.deckfour.xes.factory.XFactory
public org.deckfour.xes.model.XLog createLog()
createLog
in interface org.deckfour.xes.factory.XFactory
public org.deckfour.xes.model.XLog createLog(org.deckfour.xes.model.XAttributeMap attributes)
createLog
in interface org.deckfour.xes.factory.XFactory
public org.deckfour.xes.model.XLog createLog(java.util.Collection<org.deckfour.xes.model.XTrace> traces)
public org.deckfour.xes.model.XTrace createTrace()
createTrace
in interface org.deckfour.xes.factory.XFactory
public org.deckfour.xes.model.XTrace createTrace(java.util.Collection<org.deckfour.xes.model.XEvent> events)
public org.deckfour.xes.model.XTrace createTrace(org.deckfour.xes.model.XAttributeMap attributes)
createTrace
in interface org.deckfour.xes.factory.XFactory
public org.deckfour.xes.model.XEvent createEvent()
createEvent
in interface org.deckfour.xes.factory.XFactory
public org.deckfour.xes.model.XEvent createEvent(org.deckfour.xes.model.XAttributeMap attributes)
createEvent
in interface org.deckfour.xes.factory.XFactory
public org.deckfour.xes.model.XEvent createEvent(org.deckfour.xes.id.XID id, org.deckfour.xes.model.XAttributeMap attributes)
createEvent
in interface org.deckfour.xes.factory.XFactory
public org.deckfour.xes.model.XAttributeMap createAttributeMap()
createAttributeMap
in interface org.deckfour.xes.factory.XFactory
public org.deckfour.xes.model.XAttributeBoolean createAttributeBoolean(java.lang.String key, boolean value, org.deckfour.xes.extension.XExtension extension)
createAttributeBoolean
in interface org.deckfour.xes.factory.XFactory
public org.deckfour.xes.model.XAttributeContinuous createAttributeContinuous(java.lang.String key, double value, org.deckfour.xes.extension.XExtension extension)
createAttributeContinuous
in interface org.deckfour.xes.factory.XFactory
public org.deckfour.xes.model.XAttributeDiscrete createAttributeDiscrete(java.lang.String key, long value, org.deckfour.xes.extension.XExtension extension)
createAttributeDiscrete
in interface org.deckfour.xes.factory.XFactory
public org.deckfour.xes.model.XAttributeLiteral createAttributeLiteral(java.lang.String key, java.lang.String value, org.deckfour.xes.extension.XExtension extension)
createAttributeLiteral
in interface org.deckfour.xes.factory.XFactory
public org.deckfour.xes.model.XAttributeTimestamp createAttributeTimestamp(java.lang.String key, java.util.Date value, org.deckfour.xes.extension.XExtension extension)
createAttributeTimestamp
in interface org.deckfour.xes.factory.XFactory
public org.deckfour.xes.model.XAttributeTimestamp createAttributeTimestamp(java.lang.String key, long millis, org.deckfour.xes.extension.XExtension extension)
createAttributeTimestamp
in interface org.deckfour.xes.factory.XFactory
public org.deckfour.xes.model.XAttributeID createAttributeID(java.lang.String key, org.deckfour.xes.id.XID value, org.deckfour.xes.extension.XExtension extension)
createAttributeID
in interface org.deckfour.xes.factory.XFactory
public org.deckfour.xes.model.XAttributeContainer createAttributeContainer(java.lang.String key, org.deckfour.xes.extension.XExtension extension)
createAttributeContainer
in interface org.deckfour.xes.factory.XFactory
public org.deckfour.xes.model.XAttributeList createAttributeList(java.lang.String key, org.deckfour.xes.extension.XExtension extension)
createAttributeList
in interface org.deckfour.xes.factory.XFactory
public void startPump()
public boolean isPumping()
public final org.deckfour.xes.model.XEvent pumpEvent(org.deckfour.xes.model.XEvent pumpEvent)
public final org.deckfour.xes.model.XTrace pumpTrace(org.deckfour.xes.model.XTrace pumpTrace)
public final org.deckfour.xes.model.XLog pumpLog(org.deckfour.xes.model.XLog pumpLog)
public void finishPump() throws java.lang.InterruptedException
java.lang.InterruptedException
public org.deckfour.xes.factory.XFactory createPumpTransferFactory()
public void dispose()