org.deckfour.xes.extension
Class XExtension

java.lang.Object
  extended by org.deckfour.xes.extension.XExtension
Direct Known Subclasses:
XConceptExtension, XLifecycleExtension, XOrganizationalExtension, XSemanticExtension, XTimeExtension

public class XExtension
extends Object

This class defines and implements extensions to the basic log meta-model. Extensions have a name, a defined prefix, and a unique URI. They can define additional, typed attributes on the level of the log, trace, and event. Also, extensions may define meta attributes, i.e. attributes which describe other, higher-level attributes.

Author:
Christian W. Guenther (christian@deckfour.org)

Field Summary
protected  HashSet<XAttribute> allAttributes
          Set containing all attributes defined by this extension, on all possible levels of abstraction.
protected  HashSet<XAttribute> eventAttributes
          Set containing all attributes defined by this extension on the level of events.
protected  HashSet<XAttribute> logAttributes
          Set containing all attributes defined by this extension on the level of logs.
protected  HashSet<XAttribute> metaAttributes
          Set containing all meta-attributes defined by this extension, i.e.
protected  String name
          The name of the extension.
protected  String prefix
          Prefix string of the extension, used for addressing attributes.
protected  HashSet<XAttribute> traceAttributes
          Set containing all attributes defined by this extension on the level of traces.
protected  URI uri
          Unique URI of the extension.
 
Constructor Summary
protected XExtension(String name, String prefix, URI uri)
          Creates a new extension instance.
 
Method Summary
 boolean equals(Object obj)
           
 Collection<XAttribute> getDefinedAttributes()
          Returns the collection of attributes defined by this extension for any log elements (archive-, log-, trace-, event-, and meta-attributes).
 Collection<XAttribute> getEventAttributes()
          Returns the collection of attributes defined by this extension for event elements.
 Collection<XAttribute> getLogAttributes()
          Returns the collection of attributes defined by this extension for log elements.
 Collection<XAttribute> getMetaAttributes()
          Returns the collection of meta-attributes defined by this extension for attributes.
 String getName()
          Returns the human-readable name of this extension.
 String getPrefix()
          Returns a unique prefix associated with this extension.
 Collection<XAttribute> getTraceAttributes()
          Returns the collection of attributes defined by this extension for trace elements.
 URI getUri()
          Returns a unique URI associated with this extension.
 int hashCode()
           
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

name

protected String name
The name of the extension.


prefix

protected String prefix
Prefix string of the extension, used for addressing attributes.


uri

protected URI uri
Unique URI of the extension. This URI should point to the file defining the extension, and must be able to be resolved. Extension files should be accessible over the internet, e.g. stored on web servers.


allAttributes

protected HashSet<XAttribute> allAttributes
Set containing all attributes defined by this extension, on all possible levels of abstraction.


logAttributes

protected HashSet<XAttribute> logAttributes
Set containing all attributes defined by this extension on the level of logs.


traceAttributes

protected HashSet<XAttribute> traceAttributes
Set containing all attributes defined by this extension on the level of traces.


eventAttributes

protected HashSet<XAttribute> eventAttributes
Set containing all attributes defined by this extension on the level of events.


metaAttributes

protected HashSet<XAttribute> metaAttributes
Set containing all meta-attributes defined by this extension, i.e. on the level of attributes.

Constructor Detail

XExtension

protected XExtension(String name,
                     String prefix,
                     URI uri)
Creates a new extension instance.

Parameters:
name - Name of the extension.
prefix - Prefix string to be used for this extension.
uri - Unique URI used for identifying this extension. This URI should point to the file defining the extension, and must be able to be resolved. Extension files should be accessible over the internet, e.g. stored on web servers.
Method Detail

getName

public String getName()
Returns the human-readable name of this extension.


getUri

public URI getUri()
Returns a unique URI associated with this extension. This URI should point to the file defining the extension, and must be able to be resolved. Extension files should be accessible over the internet, e.g. stored on web servers.


getPrefix

public String getPrefix()
Returns a unique prefix associated with this extension. This prefix should be no longer than 5 characters, so as not to unnecessarily blow up storage files.


getDefinedAttributes

public Collection<XAttribute> getDefinedAttributes()
Returns the collection of attributes defined by this extension for any log elements (archive-, log-, trace-, event-, and meta-attributes).


getLogAttributes

public Collection<XAttribute> getLogAttributes()
Returns the collection of attributes defined by this extension for log elements.


getTraceAttributes

public Collection<XAttribute> getTraceAttributes()
Returns the collection of attributes defined by this extension for trace elements.


getEventAttributes

public Collection<XAttribute> getEventAttributes()
Returns the collection of attributes defined by this extension for event elements.


getMetaAttributes

public Collection<XAttribute> getMetaAttributes()
Returns the collection of meta-attributes defined by this extension for attributes.


equals

public boolean equals(Object obj)
Overrides:
equals in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object

toString

public String toString()
Overrides:
toString in class Object