Kieker 1.12

kieker.common.record.controlflow
Class BranchingRecord

java.lang.Object
  extended by kieker.common.record.AbstractMonitoringRecord
      extended by kieker.common.record.controlflow.BranchingRecord
All Implemented Interfaces:
java.io.Serializable, java.lang.Comparable<IMonitoringRecord>, IMonitoringRecord, IMonitoringRecord.BinaryFactory, IMonitoringRecord.Factory

public class BranchingRecord
extends AbstractMonitoringRecord
implements IMonitoringRecord.Factory, IMonitoringRecord.BinaryFactory

Since:
1.2
Author:
Andre van Hoorn, Jan Waller
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from interface kieker.common.record.IMonitoringRecord
IMonitoringRecord.BinaryFactory, IMonitoringRecord.Factory
 
Field Summary
static int BRANCH_ID
           
static int BRANCHING_OUTCOME
           
static int SIZE
          Descriptive definition of the serialization size of the record.
static long TIMESTAMP
           
static java.lang.Class<?>[] TYPES
           
 
Fields inherited from class kieker.common.record.AbstractMonitoringRecord
TYPE_SIZE_BOOLEAN, TYPE_SIZE_BYTE, TYPE_SIZE_CHARACTER, TYPE_SIZE_DOUBLE, TYPE_SIZE_FLOAT, TYPE_SIZE_INT, TYPE_SIZE_LONG, TYPE_SIZE_SHORT, TYPE_SIZE_STRING
 
Constructor Summary
  BranchingRecord(java.nio.ByteBuffer buffer, IRegistry<java.lang.String> stringRegistry)
          This constructor converts the given array into a record.
  BranchingRecord(long timestamp, int branchID, int branchingOutcome)
          Creates a new instance of this class using the given parameters.
  BranchingRecord(java.lang.Object[] values)
          This constructor converts the given array into a record.
protected BranchingRecord(java.lang.Object[] values, java.lang.Class<?>[] valueTypes)
          This constructor uses the given array to initialize the fields of this record.
 
Method Summary
 int getBranchID()
           
 int getBranchingOutcome()
           
 int getSize()
          This method should deliver the size of a binary representation of this record.
 long getTimestamp()
           
 java.lang.Class<?>[] getValueTypes()
          This method should deliver an array with the classes of the single values for the record.
 void initFromArray(java.lang.Object[] values)
          Deprecated. This record uses the IMonitoringRecord.Factory mechanism. Hence, this method is not implemented.
 void initFromBytes(java.nio.ByteBuffer buffer, IRegistry<java.lang.String> stringRegistry)
          Deprecated. This record uses the IMonitoringRecord.BinaryFactory mechanism. Hence, this method is not implemented.
 void registerStrings(IRegistry<java.lang.String> stringRegistry)
          Registers the string attributes of the record at the given stringRegistry.
 java.lang.Object[] toArray()
          This method should deliver an array containing the content of the record.
 void writeBytes(java.nio.ByteBuffer buffer, IRegistry<java.lang.String> stringRegistry)
          This method should deliver an byte array containing the content of the record.
 
Methods inherited from class kieker.common.record.AbstractMonitoringRecord
checkArray, classForName, compareTo, createFromArray, createFromArray, createFromByteBuffer, createFromByteBuffer, createFromStringArray, equals, fromStringArrayToTypedArray, getLoggingTimestamp, hashCode, setLoggingTimestamp, toString, typesForClass
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

SIZE

public static final int SIZE
Descriptive definition of the serialization size of the record.

See Also:
Constant Field Values

TYPES

public static final java.lang.Class<?>[] TYPES

TIMESTAMP

public static final long TIMESTAMP
See Also:
Constant Field Values

BRANCH_ID

public static final int BRANCH_ID
See Also:
Constant Field Values

BRANCHING_OUTCOME

public static final int BRANCHING_OUTCOME
See Also:
Constant Field Values
Constructor Detail

BranchingRecord

public BranchingRecord(long timestamp,
                       int branchID,
                       int branchingOutcome)
Creates a new instance of this class using the given parameters.

Parameters:
timestamp - timestamp
branchID - branchID
branchingOutcome - branchingOutcome

BranchingRecord

public BranchingRecord(java.lang.Object[] values)
This constructor converts the given array into a record. It is recommended to use the array which is the result of a call to toArray().

Parameters:
values - The values for the record.

BranchingRecord

protected BranchingRecord(java.lang.Object[] values,
                          java.lang.Class<?>[] valueTypes)
This constructor uses the given array to initialize the fields of this record.

Parameters:
values - The values for the record.
valueTypes - The types of the elements in the first array.

BranchingRecord

public BranchingRecord(java.nio.ByteBuffer buffer,
                       IRegistry<java.lang.String> stringRegistry)
                throws java.nio.BufferUnderflowException
This constructor converts the given array into a record.

Parameters:
buffer - The bytes for the record.
Throws:
java.nio.BufferUnderflowException - if buffer not sufficient
Method Detail

toArray

public java.lang.Object[] toArray()
This method should deliver an array containing the content of the record. It should be possible to convert this array later into a record again.

Specified by:
toArray in interface IMonitoringRecord
Returns:
An array with the values of the record.

registerStrings

public void registerStrings(IRegistry<java.lang.String> stringRegistry)
Registers the string attributes of the record at the given stringRegistry.

Specified by:
registerStrings in interface IMonitoringRecord
Overrides:
registerStrings in class AbstractMonitoringRecord

writeBytes

public void writeBytes(java.nio.ByteBuffer buffer,
                       IRegistry<java.lang.String> stringRegistry)
                throws java.nio.BufferOverflowException
This method should deliver an byte array containing the content of the record. It should be possible to convert this array later into a record again.

Specified by:
writeBytes in interface IMonitoringRecord
Parameters:
buffer - The used ByteBuffer with sufficient capacity
stringRegistry - Usually the associated MonitoringController
Throws:
java.nio.BufferOverflowException - if buffer not sufficient

getValueTypes

public java.lang.Class<?>[] getValueTypes()
This method should deliver an array with the classes of the single values for the record.

Specified by:
getValueTypes in interface IMonitoringRecord
Returns:
The types of the values. This returned array should be treated readonly.
See Also:
IMonitoringRecord.toArray()

getSize

public int getSize()
This method should deliver the size of a binary representation of this record.

Specified by:
getSize in interface IMonitoringRecord
Returns:
The size.

initFromArray

@Deprecated
public void initFromArray(java.lang.Object[] values)
Deprecated. This record uses the IMonitoringRecord.Factory mechanism. Hence, this method is not implemented.

This method should initialize the record based on the given values. The array should be one of those resulting from a call to IMonitoringRecord.toArray().

Specified by:
initFromArray in interface IMonitoringRecord
Parameters:
values - The values for the record.

initFromBytes

@Deprecated
public void initFromBytes(java.nio.ByteBuffer buffer,
                                     IRegistry<java.lang.String> stringRegistry)
                   throws java.nio.BufferUnderflowException
Deprecated. This record uses the IMonitoringRecord.BinaryFactory mechanism. Hence, this method is not implemented.

This method should initialize the record based on the given values. The array should be one of those resulting from a call to IMonitoringRecord.writeBytes(ByteBuffer, IRegistry).

Specified by:
initFromBytes in interface IMonitoringRecord
Parameters:
buffer - The bytes for the record.
stringRegistry - The Registry storing the strings.
Throws:
java.nio.BufferUnderflowException - if buffer not sufficient

getTimestamp

public final long getTimestamp()

getBranchID

public final int getBranchID()

getBranchingOutcome

public final int getBranchingOutcome()

Kieker 1.12

Copyright 2015 Kieker Project, http://kieker-monitoring.net