org.jnetpcap.packet
Class JHeaderMap<B extends JHeader>

java.lang.Object
  extended by org.jnetpcap.nio.JMemory
      extended by org.jnetpcap.nio.JBuffer
          extended by org.jnetpcap.packet.JHeader
              extended by org.jnetpcap.packet.JHeaderMap<B>
Type Parameters:
B - header baseclass that all sub-header's should be enclosed in
All Implemented Interfaces:
JCompoundHeader<B>, JPayloadAccessor
Direct Known Subclasses:
Icmp, Ip4, Tcp

public abstract class JHeaderMap<B extends JHeader>
extends JHeader
implements JCompoundHeader<B>

The Class JHeaderMap.

Author:
Mark Bednarczyk, Sly Technologies, Inc.

Nested Class Summary
 
Nested classes/interfaces inherited from class org.jnetpcap.packet.JHeader
JHeader.State
 
Nested classes/interfaces inherited from class org.jnetpcap.nio.JMemory
JMemory.Type
 
Field Summary
static int MAX_HEADERS
          The Constant MAX_HEADERS.
protected  long optionsBitmap
          The options bitmap.
protected  int[] optionsLength
          The options length.
protected  int[] optionsOffsets
          The options offsets.
protected  JHeader[] X_HEADERS
          The X_ headers.
 
Fields inherited from class org.jnetpcap.packet.JHeader
annotatedHeader, BYTE, EMPTY_HEADER_ARRAY, isSubHeader, packet, state
 
Fields inherited from class org.jnetpcap.nio.JMemory
JNETPCAP_LIBRARY_NAME, MAX_DIRECT_MEMORY_DEFAULT, POINTER
 
Constructor Summary
JHeaderMap()
          Instantiates a new j header map.
JHeaderMap(int id, JField[] fields, java.lang.String name, java.lang.String nicname, JHeader[] unordered)
          Instantiates a new j header map.
JHeaderMap(int id, java.lang.String name, JHeader[] unordered)
          Instantiates a new j header map.
JHeaderMap(int id, java.lang.String name, java.lang.String nicname, JHeader[] unordered)
          Instantiates a new j header map.
 
Method Summary
<T extends JSubHeader<B>>
T
getSubHeader(T header)
          Gets the sub header.
 JHeader[] getSubHeaders()
          Gets the sub headers.
 boolean hasSubHeader(int id)
          Checks for sub header.
<T extends JSubHeader<B>>
boolean
hasSubHeader(T header)
          Checks for sub header.
 boolean hasSubHeaders()
          Checks for sub headers.
protected  void setSubHeader(int id, int offset, int length)
          Sets the sub header.
 void setSubHeaders(JHeader[] headers)
          Sets the sub headers.
 
Methods inherited from class org.jnetpcap.packet.JHeader
decode, decodeHeader, getAnnotatedHeader, getDescription, getFields, getGap, getGapLength, getGapOffset, getHeader, getHeaderLength, getHeaderOffset, getId, getIndex, getLength, getName, getNextHeaderId, getNextHeaderOffset, getNicname, getOffset, getPacket, getParent, getPayload, getPayloadLength, getPayloadOffset, getPostfix, getPostfixLength, getPostfixOffset, getPrefix, getPrefixLength, getPrefixOffset, getPreviousHeaderId, getPreviousHeaderOffset, getState, hasDescription, hasGap, hasNextHeader, hasPayload, hasPostfix, hasPrefix, hasPreviousHeader, isFragmented, isGapTruncated, isHeaderTruncated, isPayloadTruncated, isPostfixTruncated, isPrefixTruncated, peer, peer, peerPayloadTo, setPacket, sizeof, toString, transferPayloadTo, transferPayloadTo, transferPayloadTo, validateHeader
 
Methods inherited from class org.jnetpcap.nio.JBuffer
findUTF8String, getByte, getByteArray, getByteArray, getByteArray, getDouble, getFloat, getInt, getLong, getShort, getUByte, getUInt, getUShort, getUTF8Char, getUTF8String, getUTF8String, getUTF8String, getUTF8String, isReadonly, order, order, peer, peer, peer, peer, setByte, setByteArray, setByteBuffer, setDouble, setFloat, setInt, setLong, setShort, setShort0, setUByte, setUInt, setUShort, transferFrom, transferFrom, transferFrom, transferTo, transferTo, transferTo
 
Methods inherited from class org.jnetpcap.nio.JMemory
availableDirectMemory, check, cleanup, createReference, isInitialized, isJMemoryBasedOwner, isOwner, maxDirectMemory, peer, reservedDirectMemory, setSize, size, softDirectMemory, toDebugString, toHexdump, toHexdump, totalActiveAllocated, totalAllocateCalls, totalAllocated, totalAllocatedSegments0To255Bytes, totalAllocatedSegments256OrAbove, totalDeAllocateCalls, totalDeAllocated, transferFrom, transferFrom, transferFromDirect, transferOwnership, transferTo, transferTo, transferTo, transferTo, transferTo, transferTo0
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

MAX_HEADERS

public static final int MAX_HEADERS
The Constant MAX_HEADERS.

See Also:
Constant Field Values

optionsBitmap

protected long optionsBitmap
The options bitmap.


optionsOffsets

protected int[] optionsOffsets
The options offsets.


optionsLength

protected int[] optionsLength
The options length.


X_HEADERS

protected final JHeader[] X_HEADERS
The X_ headers.

Constructor Detail

JHeaderMap

public JHeaderMap()
Instantiates a new j header map.


JHeaderMap

public JHeaderMap(int id,
                  JField[] fields,
                  java.lang.String name,
                  java.lang.String nicname,
                  JHeader[] unordered)
Instantiates a new j header map.

Parameters:
id - the id
fields - the fields
name - the name
nicname - the nicname
unordered - the unordered

JHeaderMap

public JHeaderMap(int id,
                  java.lang.String name,
                  JHeader[] unordered)
Instantiates a new j header map.

Parameters:
id - the id
name - the name
unordered - the unordered

JHeaderMap

public JHeaderMap(int id,
                  java.lang.String name,
                  java.lang.String nicname,
                  JHeader[] unordered)
Instantiates a new j header map.

Parameters:
id - the id
name - the name
nicname - the nicname
unordered - the unordered
Method Detail

setSubHeaders

public void setSubHeaders(JHeader[] headers)
Sets the sub headers.

Overrides:
setSubHeaders in class JHeader
Parameters:
headers - the new sub headers
See Also:
JHeader.setSubHeaders(org.jnetpcap.packet.JHeader[])

getSubHeader

public <T extends JSubHeader<B>> T getSubHeader(T header)
Gets the sub header.

Specified by:
getSubHeader in interface JCompoundHeader<B extends JHeader>
Type Parameters:
T - the generic type
Parameters:
header - the header
Returns:
the sub header
See Also:
JCompoundHeader.getSubHeader(org.jnetpcap.packet.JSubHeader)

getSubHeaders

public JHeader[] getSubHeaders()
Gets the sub headers.

Overrides:
getSubHeaders in class JHeader
Returns:
the sub headers
See Also:
JHeader.getSubHeaders()

hasSubHeader

public boolean hasSubHeader(int id)
Checks for sub header.

Specified by:
hasSubHeader in interface JCompoundHeader<B extends JHeader>
Parameters:
id - the id
Returns:
true, if successful
See Also:
JCompoundHeader.hasSubHeader(int)

hasSubHeader

public <T extends JSubHeader<B>> boolean hasSubHeader(T header)
Checks for sub header.

Specified by:
hasSubHeader in interface JCompoundHeader<B extends JHeader>
Type Parameters:
T - the generic type
Parameters:
header - the header
Returns:
true, if successful
See Also:
JCompoundHeader.hasSubHeader(org.jnetpcap.packet.JSubHeader)

hasSubHeaders

public boolean hasSubHeaders()
Checks for sub headers.

Specified by:
hasSubHeaders in interface JCompoundHeader<B extends JHeader>
Overrides:
hasSubHeaders in class JHeader
Returns:
true, if successful
See Also:
JHeader.hasSubHeaders()

setSubHeader

protected void setSubHeader(int id,
                            int offset,
                            int length)
Sets the sub header.

Parameters:
id - the id
offset - the offset
length - the length