org.eclipse.mylar.internal.monitor.usage
Class InteractionEventLogger

java.lang.Object
  extended by org.eclipse.mylar.internal.monitor.usage.AbstractMonitorLog
      extended by org.eclipse.mylar.internal.monitor.usage.InteractionEventLogger
All Implemented Interfaces:
org.eclipse.mylar.context.core.IInteractionEventListener

public class InteractionEventLogger
extends AbstractMonitorLog
implements org.eclipse.mylar.context.core.IInteractionEventListener

Author:
Mik Kersten, Ken Sueda (XML serialization) TODO: use buffered output stream for better performance?

Field Summary
private static java.lang.String CLOSE
           
private static java.lang.String ENDL
           
private  int eventAccumulartor
           
private  HandleObfuscator handleObfuscator
           
private static java.lang.String OPEN
           
private  java.util.List<org.eclipse.mylar.context.core.InteractionEvent> queue
           
private static java.lang.String SLASH
           
private static java.lang.String TAB
           
 
Fields inherited from class org.eclipse.mylar.internal.monitor.usage.AbstractMonitorLog
outputFile, outputStream, started
 
Constructor Summary
InteractionEventLogger(java.io.File outputFile)
           
 
Method Summary
 void clearInteractionHistory()
           
 java.util.List<org.eclipse.mylar.context.core.InteractionEvent> getHistoryFromFile(java.io.File file)
           
private  void getHistoryFromStream(java.io.InputStream reader, java.util.List<org.eclipse.mylar.context.core.InteractionEvent> events)
           
private  java.lang.String getXmlForEvent(org.eclipse.mylar.context.core.InteractionEvent event)
           
 void interactionObserved(org.eclipse.mylar.context.core.InteractionEvent event)
           
 org.eclipse.mylar.context.core.InteractionEvent readLegacyEvent(java.lang.String xml)
           
 void startMonitoring()
           
 void stopMonitoring()
           
 java.lang.String writeLegacyEvent(org.eclipse.mylar.context.core.InteractionEvent e)
          Deprecated. 
 
Methods inherited from class org.eclipse.mylar.internal.monitor.usage.AbstractMonitorLog
getOutputFile, moveOutputFile
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

eventAccumulartor

private int eventAccumulartor

queue

private java.util.List<org.eclipse.mylar.context.core.InteractionEvent> queue

handleObfuscator

private HandleObfuscator handleObfuscator

OPEN

private static final java.lang.String OPEN
See Also:
Constant Field Values

CLOSE

private static final java.lang.String CLOSE
See Also:
Constant Field Values

SLASH

private static final java.lang.String SLASH
See Also:
Constant Field Values

ENDL

private static final java.lang.String ENDL
See Also:
Constant Field Values

TAB

private static final java.lang.String TAB
See Also:
Constant Field Values
Constructor Detail

InteractionEventLogger

public InteractionEventLogger(java.io.File outputFile)
Method Detail

interactionObserved

public void interactionObserved(org.eclipse.mylar.context.core.InteractionEvent event)
Specified by:
interactionObserved in interface org.eclipse.mylar.context.core.IInteractionEventListener

startMonitoring

public void startMonitoring()
Specified by:
startMonitoring in interface org.eclipse.mylar.context.core.IInteractionEventListener
Overrides:
startMonitoring in class AbstractMonitorLog

stopMonitoring

public void stopMonitoring()
Specified by:
stopMonitoring in interface org.eclipse.mylar.context.core.IInteractionEventListener
Overrides:
stopMonitoring in class AbstractMonitorLog

getXmlForEvent

private java.lang.String getXmlForEvent(org.eclipse.mylar.context.core.InteractionEvent event)

clearInteractionHistory

public void clearInteractionHistory()
                             throws java.io.IOException
Throws:
java.io.IOException

getHistoryFromFile

public java.util.List<org.eclipse.mylar.context.core.InteractionEvent> getHistoryFromFile(java.io.File file)

getHistoryFromStream

private void getHistoryFromStream(java.io.InputStream reader,
                                  java.util.List<org.eclipse.mylar.context.core.InteractionEvent> events)
                           throws java.io.IOException
Parameters:
events -
tag -
endl -
buf -
Throws:
java.io.IOException

writeLegacyEvent

@Deprecated
public java.lang.String writeLegacyEvent(org.eclipse.mylar.context.core.InteractionEvent e)
Deprecated. 


readLegacyEvent

public org.eclipse.mylar.context.core.InteractionEvent readLegacyEvent(java.lang.String xml)