org.electrocodeogram.cpc.core.api.hub.event
Class EclipseFileAccessEvent

java.lang.Object
  extended by org.electrocodeogram.cpc.core.api.hub.event.CPCEvent
      extended by org.electrocodeogram.cpc.core.api.hub.event.EclipseEvent
          extended by org.electrocodeogram.cpc.core.api.hub.event.EclipseFileAccessEvent
All Implemented Interfaces:
java.lang.Cloneable, java.lang.Comparable<CPCEvent>

public class EclipseFileAccessEvent
extends EclipseEvent

This event is generated by the CPC Sensor module, whenever a text file is opened or closed. It does not matter whether the file was opened in an editor (i.e. user opening the file) or in the background (i.e. refactoring or source reformat on the entire project).

Author:
vw

Nested Class Summary
static class EclipseFileAccessEvent.Type
          The type of an EclipseFileAccessEvent.
 
Field Summary
protected  boolean dirty
           
protected  org.eclipse.jface.text.IDocument document
           
protected  EclipseFileAccessEvent.Type type
           
 
Fields inherited from class org.electrocodeogram.cpc.core.api.hub.event.EclipseEvent
fileLocatedInWorkspace, fileLocatedInWorkspaceCached, filePath, project, supportedFile, supportedFileCached, user
 
Constructor Summary
EclipseFileAccessEvent(java.lang.String user, java.lang.String project)
          Creates a new EclipseFileAccessEvent for the given user and project.
 
Method Summary
 org.eclipse.jface.text.IDocument getDocument()
          Retrieves the IDocument instance which was created for this file.
 EclipseFileAccessEvent.Type getType()
          Retrieves the type of access (opened/closed).
 boolean isDirty()
          Checks whether the underlying buffer was still dirty when the file was closed.
 boolean isValid()
          Checks if this event has been fully initialised.
 void setDirty(boolean dirty)
          Specifies whether the underlying buffer was still dirty when the file was closed.
 void setDocument(org.eclipse.jface.text.IDocument document)
          Sets the IDocument instance which was created for this file.
 void setType(EclipseFileAccessEvent.Type type)
          Sets the type of access (opened/closed).
 java.lang.String toString()
          Every event should implement a sensible toString method for use in debugging log messages.
 
Methods inherited from class org.electrocodeogram.cpc.core.api.hub.event.EclipseEvent
getFilePath, getProject, getUser, isFileLocatedInWorkspace, isSupportedFile, setFilePath, subToString
 
Methods inherited from class org.electrocodeogram.cpc.core.api.hub.event.CPCEvent
checkSeal, clone, compareTo, getCreationTime, seal
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

type

protected EclipseFileAccessEvent.Type type

dirty

protected boolean dirty

document

protected org.eclipse.jface.text.IDocument document
Constructor Detail

EclipseFileAccessEvent

public EclipseFileAccessEvent(java.lang.String user,
                              java.lang.String project)
Creates a new EclipseFileAccessEvent for the given user and project.

Parameters:
user - the current user, never null.
project - the project for the file affected by this event, never null.
Method Detail

getType

public EclipseFileAccessEvent.Type getType()
Retrieves the type of access (opened/closed).

Returns:
the type of access, never null.

setType

public void setType(EclipseFileAccessEvent.Type type)
Sets the type of access (opened/closed).

This is a required value.

Parameters:
type - the type of access, never null.

isDirty

public boolean isDirty()
Checks whether the underlying buffer was still dirty when the file was closed.

This value has no meaning for events which are not of type EclipseFileAccessEvent.Type.CLOSED.

Returns:
true if buffer was dirty, false otherwise.

setDirty

public void setDirty(boolean dirty)
Specifies whether the underlying buffer was still dirty when the file was closed.

This value has no meaning for events which are not of type EclipseFileAccessEvent.Type.CLOSED.
This is an optional value, the default value is false.

Parameters:
dirty - true if buffer was dirty, false otherwise.

getDocument

public org.eclipse.jface.text.IDocument getDocument()
Retrieves the IDocument instance which was created for this file.

Returns:
the document corresponding to the file, never null.

setDocument

public void setDocument(org.eclipse.jface.text.IDocument document)
Sets the IDocument instance which was created for this file.

This is a required value.

Parameters:
document - the document corresponding to the file, never null.

isValid

public boolean isValid()
Description copied from class: CPCEvent
Checks if this event has been fully initialised.
Will return false if one of the mandatory fields of the event has not yet been filled out.

Subclasses should override this method but should never return true. Instead they should delegate to the super class implementation once all validity checks on their level have passed.

The CPCEvent.isValid() implementation always returns true.

Overrides:
isValid in class EclipseEvent
Returns:
true if this event is valid, false otherwise.
See Also:
IEventHubRegistry.dispatch(CPCEvent)

toString

public java.lang.String toString()
Description copied from class: CPCEvent
Every event should implement a sensible toString method for use in debugging log messages.

Specified by:
toString in class CPCEvent
Returns:
debug string representation, never null.