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:
JByteBuffer, JCompoundHeader<B>
Direct Known Subclasses:
Icmp, Ip4

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

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
           
protected  long optionsBitmap
           
protected  int[] optionsLength
           
protected  int[] optionsOffsets
           
protected  JHeader[] X_HEADERS
           
 
Fields inherited from class org.jnetpcap.packet.JHeader
annotatedHeader, EMPTY_HEADER_ARRAY, isSubHeader, packet, state
 
Fields inherited from class org.jnetpcap.nio.JMemory
JNETPCAP_LIBRARY_NAME
 
Constructor Summary
JHeaderMap()
           
JHeaderMap(int id, JField[] fields, java.lang.String name, java.lang.String nicname, JHeader[] unordered)
           
JHeaderMap(int id, java.lang.String name, JHeader[] unordered)
           
JHeaderMap(int id, java.lang.String name, java.lang.String nicname, JHeader[] unordered)
           
 
Method Summary
<T extends JSubHeader<B>>
T
getSubHeader(T header)
           
 JHeader[] getSubHeaders()
          Gets an array of currently defined sub headers
 boolean hasSubHeader(int id)
           
<T extends JSubHeader<B>>
boolean
hasSubHeader(T header)
           
 boolean hasSubHeaders()
           
protected  void setSubHeader(int id, int offset, int length)
           
 void setSubHeaders(JHeader[] headers)
           
 
Methods inherited from class org.jnetpcap.packet.JHeader
addAnalysis, decode, decodeHeader, getAnalysis, getAnalysisIterable, getAnnotatedHeader, getDescription, getFields, getId, getLength, getName, getNicname, getOffset, getPacket, getParent, getState, getType, hasAnalysis, hasAnalysis, hasAnalysis, hasDescription, peer, peer, setPacket, sizeof, toString, validateHeader
 
Methods inherited from class org.jnetpcap.nio.JBuffer
findUTF8String, getByte, 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, setUByte, setUInt, setUShort, transferFrom, transferFrom, transferFrom, transferTo, transferTo, transferTo
 
Methods inherited from class org.jnetpcap.nio.JMemory
check, cleanup, finalize, isInitialized, isJMemoryBasedOwner, isOwner, peer, setSize, size, toDebugString, toHexdump, toHexdump, totalActiveAllocated, totalAllocateCalls, totalAllocated, totalAllocatedSegments0To255Bytes, totalAllocatedSegments256OrAbove, totalDeAllocateCalls, totalDeAllocated, transferFrom, transferFrom, transferFromDirect, transferOwnership, transferTo, transferTo, transferTo, transferTo, transferTo
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.jnetpcap.nio.JByteBuffer
size
 

Field Detail

MAX_HEADERS

public static final int MAX_HEADERS
See Also:
Constant Field Values

optionsBitmap

protected long optionsBitmap

optionsOffsets

protected int[] optionsOffsets

optionsLength

protected int[] optionsLength

X_HEADERS

protected final JHeader[] X_HEADERS
Constructor Detail

JHeaderMap

public JHeaderMap()

JHeaderMap

public JHeaderMap(int id,
                  JField[] fields,
                  java.lang.String name,
                  java.lang.String nicname,
                  JHeader[] unordered)
Parameters:
id -
fields -
name -
nicname -
unordered -

JHeaderMap

public JHeaderMap(int id,
                  java.lang.String name,
                  JHeader[] unordered)
Parameters:
id -
name -

JHeaderMap

public JHeaderMap(int id,
                  java.lang.String name,
                  java.lang.String nicname,
                  JHeader[] unordered)
Parameters:
id -
name -
nicname -
Method Detail

setSubHeaders

public void setSubHeaders(JHeader[] headers)
Overrides:
setSubHeaders in class JHeader

getSubHeader

public <T extends JSubHeader<B>> T getSubHeader(T header)
Specified by:
getSubHeader in interface JCompoundHeader<B extends JHeader>

getSubHeaders

public JHeader[] getSubHeaders()
Description copied from class: JHeader
Gets an array of currently defined sub headers

Overrides:
getSubHeaders in class JHeader
Returns:
array of sub headers

hasSubHeader

public boolean hasSubHeader(int id)
Specified by:
hasSubHeader in interface JCompoundHeader<B extends JHeader>

hasSubHeader

public <T extends JSubHeader<B>> boolean hasSubHeader(T header)
Specified by:
hasSubHeader in interface JCompoundHeader<B extends JHeader>

hasSubHeaders

public boolean hasSubHeaders()
Specified by:
hasSubHeaders in interface JCompoundHeader<B extends JHeader>
Overrides:
hasSubHeaders in class JHeader

setSubHeader

protected void setSubHeader(int id,
                            int offset,
                            int length)