org.hopto.pentaj.jexin.node
Class Node

java.lang.Object
  extended by org.hopto.pentaj.jexin.node.Node
All Implemented Interfaces:
TraceClientObserver

public class Node
extends java.lang.Object
implements TraceClientObserver

Represents a node. The node address is defined by the user when the node is created and used to connect to the node. The name and injectableExceptions are configured from the remote node when connected. Synchronization has been minimized using the following assumptions:


Constructor Summary
Node(NodeAddress address, StackTraceManager stackTraceManager)
           
Node(java.lang.String host, int port, StackTraceManager stackTraceManager)
           
 
Method Summary
 void activateTemplate(StackTraceTemplate template)
           
 void connected(java.lang.String nodeName, java.util.Map<java.lang.Integer,java.lang.String> injectableExceptionsMap)
          Called when the client is connected
 void deactivateTemplate(StackTraceTemplate template)
           
 void disconnected()
          Called when the client is disconnected
 NodeAddress getAddress()
           
 java.lang.String getName()
           
 boolean isConnected()
           
 void stackFrameException(long threadId, java.lang.String description)
          Called when the previous stack frame ended throwing an exception
 void stackFrameReturn(long threadId)
          Called when the previous stack frame ended because of a return, not throwing an exception
 InjectableException stackFrameStart(long threadId, java.lang.String threadName, StackFrame stackFrame)
          Called when a new stack frame starts
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Node

public Node(NodeAddress address,
            StackTraceManager stackTraceManager)

Node

public Node(java.lang.String host,
            int port,
            StackTraceManager stackTraceManager)
Method Detail

getAddress

public NodeAddress getAddress()
Returns:
the address

getName

public java.lang.String getName()

isConnected

public boolean isConnected()
Returns:
True if the node is connected to the server, else false

activateTemplate

public void activateTemplate(StackTraceTemplate template)
Parameters:
template -
See Also:
ActiveTemplateMap.activateTemplate(StackTraceTemplate)

deactivateTemplate

public void deactivateTemplate(StackTraceTemplate template)
Parameters:
template -
See Also:
ActiveTemplateMap.deactivateTemplate(StackTraceTemplate)

connected

public void connected(java.lang.String nodeName,
                      java.util.Map<java.lang.Integer,java.lang.String> injectableExceptionsMap)
Description copied from interface: TraceClientObserver
Called when the client is connected

Specified by:
connected in interface TraceClientObserver
Parameters:
nodeName - The name of the node the client is connected to
injectableExceptionsMap - Map of ID to description for exceptions that can be injected for the node
See Also:
TraceClientObserver.connected(java.lang.String, java.util.Map)

disconnected

public void disconnected()
Description copied from interface: TraceClientObserver
Called when the client is disconnected

Specified by:
disconnected in interface TraceClientObserver
See Also:
TraceClientObserver.disconnected()

stackFrameStart

public InjectableException stackFrameStart(long threadId,
                                           java.lang.String threadName,
                                           StackFrame stackFrame)
Description copied from interface: TraceClientObserver
Called when a new stack frame starts

Specified by:
stackFrameStart in interface TraceClientObserver
Returns:
The exception to inject, null to continue without an exception
See Also:
TraceClientObserver.stackFrameStart(long, java.lang.String, org.hopto.pentaj.jexin.stacktrace.StackFrame)

stackFrameReturn

public void stackFrameReturn(long threadId)
Description copied from interface: TraceClientObserver
Called when the previous stack frame ended because of a return, not throwing an exception

Specified by:
stackFrameReturn in interface TraceClientObserver
See Also:
TraceClientObserver.stackFrameReturn(long)

stackFrameException

public void stackFrameException(long threadId,
                                java.lang.String description)
Description copied from interface: TraceClientObserver
Called when the previous stack frame ended throwing an exception

Specified by:
stackFrameException in interface TraceClientObserver
description - A description of the exception
See Also:
TraceClientObserver.stackFrameException(long, java.lang.String)

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object