edu.isi.pegasus.common.logging

## Interface Event

All Superinterfaces:
  java.lang.Cloneable

All Known Implementing Classes:
  NetloggerEvent, SimpleEvent

    public interface Event
    extends java.lang.Cloneable

Author:
  vahi

### Method Summary

All Methods Instance Methods Abstract Methods
`Event` `add(java.lang.String key, java.lang.String value)` Add to the log message.
`java.lang.String` `createEntityHierarchyMessage(java.lang.String parentType, java.lang.String parentID, java.lang.String childIdType, java.util.Collection<java.lang.String> childIDs)` Creates a log message that connects the parent entities with the children.
`java.lang.String` `createLogMessage()` Creates a log message with the contents of the internal log buffer.
`java.lang.String` `createLogMessageAndReset()` Creates a log message with the contents of the internal log buffer.
`java.lang.String` `getEndEventMessage()` Creates the end message for the event.
`java.lang.String` `getEventName()` Returns the name of event that is currently associated with the log messages.
`java.lang.String` `getProgramName(java.lang.String name)` Returns the program name for the software whose log statement are logged.
`java.lang.String` `getStartEventMessage()` Creates the start message for the event.
`void` `reset()` Reset the internal log message buffer associated with the event
`void` `setEvent(java.lang.String name, java.util.Map<java.lang.String,java.lang.String> map)` Adds the event that is to be associated with the log messages onto an internal stack
`void` `setEvent(java.lang.String name, java.lang.String entityName, java.lang.String entityID)` Set the event that is to be associated with the log messages.
`void` `setProgramName(java.lang.String name)` Sets the program name for the software whose log statement are logged.

### Method Detail

#### setProgramName

    void setProgramName(java.lang.String name)

Sets the program name for the software whose log statement are logged.

Parameters:
  `name` -

#### getProgramName

    java.lang.String getProgramName(java.lang.String name)

Returns the program name for the software whose log statement are logged.

Parameters:
  `name` -
Returns:
  the name of the program

#### setEvent

    void setEvent(java.lang.String name,
                  java.lang.String entityName,
                  java.lang.String entityID)

Set the event that is to be associated with the log messages.

Parameters:
  `name` - the name of the event to be associated
  `entityName` - the primary entity that is associated with the event e.g. workflow
  `entityID` - the id of that entity.

#### setEvent

    void setEvent(java.lang.String name,
                  java.util.Map<java.lang.String,java.lang.String> map)

Adds the event that is to be associated with the log messages onto an internal stack

Parameters:
  `name` - the name of the event to be associated
  `map` - Map of Entity Names with the entity identifiers.

#### getEventName

    java.lang.String getEventName()

Returns the name of event that is currently associated with the log messages.

Returns:
  the event to be associated

#### getStartEventMessage

    java.lang.String getStartEventMessage()

Creates the start message for the event.

Returns:
  start event message

#### getEndEventMessage

    java.lang.String getEndEventMessage()

Creates the end message for the event.

Returns:
  end event message

#### reset

    void reset()

Reset the internal log message buffer associated with the event

#### add

    Event add(java.lang.String key,
              java.lang.String value)

Add to the log message.

Parameters:
  `key` -
  `value` -
Returns:
  Self-reference, so calls can be chained

#### createLogMessage

    java.lang.String createLogMessage()

Creates a log message with the contents of the internal log buffer.

Returns:
  log message.

#### createLogMessageAndReset

    java.lang.String createLogMessageAndReset()

Creates a log message with the contents of the internal log buffer. It then resets the buffer before returning the log message

Returns:
  the log message

#### createEntityHierarchyMessage

    java.lang.String createEntityHierarchyMessage(java.lang.String parentType,
                                                  java.lang.String parentID,
                                                  java.lang.String childIdType,
                                                  java.util.Collection<java.lang.String> childIDs)

Creates a log message that connects the parent entities with the children. For e.g. can we use to create the log messages connecting the jobs with the workflow they are part of.

Parameters:
  `parentType` - the type of parent entity
  `parentID` - the id of the parent entity
  `childIdType` - the type of children entities
  `childIDs` - Collection of children id's
Returns:
  the entity hierarchy message.