edu.nps.moves.dismobile
Class MinefieldQueryPdu

java.lang.Object
  extended by edu.nps.moves.dismobile.Pdu
      extended by edu.nps.moves.dismobile.MinefieldFamilyPdu
          extended by edu.nps.moves.dismobile.MinefieldQueryPdu
All Implemented Interfaces:
java.io.Serializable

public class MinefieldQueryPdu
extends MinefieldFamilyPdu
implements java.io.Serializable

Section 5.3.10.2 Query a minefield for information about individual mines. Requires manual clean up to get the padding right. UNFINISHED Copyright (c) 2008-2010, MOVES Institute, Naval Postgraduate School. All rights reserved. This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html

Author:
DMcG
See Also:
Serialized Form

Field Summary
protected  long dataFilter
          data filter, 32 boolean fields
protected  EntityID minefieldID
          Minefield ID
protected  short numberOfPerimeterPoints
          Number of perimeter points for the minefield
protected  short numberOfSensorTypes
          Number of sensor types
protected  short pad2
          Padding
protected  EntityType requestedMineType
          Entity type of mine being requested
protected  java.util.List<Point> requestedPerimeterPoints
          perimeter points of request
protected  short requestID
          request ID
protected  EntityID requestingEntityID
          EID of entity making the request
protected  java.util.List<TwoByteChunk> sensorTypes
          Sensor types, each 16 bits long
 
Fields inherited from class edu.nps.moves.dismobile.Pdu
exerciseID, padding, pduLength, pduType, protocolFamily, protocolVersion, timestamp
 
Constructor Summary
MinefieldQueryPdu()
          Constructor
 
Method Summary
 boolean equals(java.lang.Object obj)
           
 boolean equalsImpl(java.lang.Object obj)
          Compare all fields that contribute to the state, ignoring transient and static fields, for this and the supplied object
 long getDataFilter()
           
 int getMarshalledSize()
           
 EntityID getMinefieldID()
           
 short getNumberOfPerimeterPoints()
           
 short getNumberOfSensorTypes()
           
 short getPad2()
           
 EntityType getRequestedMineType()
           
 java.util.List<Point> getRequestedPerimeterPoints()
           
 short getRequestID()
           
 EntityID getRequestingEntityID()
           
 java.util.List<TwoByteChunk> getSensorTypes()
           
 void marshal(java.nio.ByteBuffer buff)
          Packs a Pdu into the ByteBuffer.
 void marshal(java.io.DataOutputStream dos)
           
 void setDataFilter(long pDataFilter)
           
 void setMinefieldID(EntityID pMinefieldID)
           
 void setNumberOfPerimeterPoints(short pNumberOfPerimeterPoints)
          Note that setting this value will not change the marshalled value.
 void setNumberOfSensorTypes(short pNumberOfSensorTypes)
          Note that setting this value will not change the marshalled value.
 void setPad2(short pPad2)
           
 void setRequestedMineType(EntityType pRequestedMineType)
           
 void setRequestedPerimeterPoints(java.util.List<Point> pRequestedPerimeterPoints)
           
 void setRequestID(short pRequestID)
           
 void setRequestingEntityID(EntityID pRequestingEntityID)
           
 void setSensorTypes(java.util.List<TwoByteChunk> pSensorTypes)
           
 void unmarshal(java.nio.ByteBuffer buff)
          Unpacks a Pdu from the underlying data.
 void unmarshal(java.io.DataInputStream dis)
           
 
Methods inherited from class edu.nps.moves.dismobile.Pdu
getExerciseID, getLength, getPadding, getPduLength, getPduType, getProtocolFamily, getProtocolVersion, getTimestamp, marshal, marshalWithDisAbsoluteTimestamp, marshalWithDisAbsoluteTimestamp, marshalWithDisRelativeTimestamp, marshalWithDisRelativeTimestamp, marshalWithNpsTimestamp, marshalWithNpsTimestamp, marshalWithUnixTimestamp, marshalWithUnixTimestamp, readUnsignedInt, readUnsignedInt, setExerciseID, setPadding, setPduLength, setPduType, setProtocolFamily, setProtocolVersion, setTimestamp
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

minefieldID

protected EntityID minefieldID
Minefield ID


requestingEntityID

protected EntityID requestingEntityID
EID of entity making the request


requestID

protected short requestID
request ID


numberOfPerimeterPoints

protected short numberOfPerimeterPoints
Number of perimeter points for the minefield


pad2

protected short pad2
Padding


numberOfSensorTypes

protected short numberOfSensorTypes
Number of sensor types


dataFilter

protected long dataFilter
data filter, 32 boolean fields


requestedMineType

protected EntityType requestedMineType
Entity type of mine being requested


requestedPerimeterPoints

protected java.util.List<Point> requestedPerimeterPoints
perimeter points of request


sensorTypes

protected java.util.List<TwoByteChunk> sensorTypes
Sensor types, each 16 bits long

Constructor Detail

MinefieldQueryPdu

public MinefieldQueryPdu()
Constructor

Method Detail

getMarshalledSize

public int getMarshalledSize()
Overrides:
getMarshalledSize in class MinefieldFamilyPdu

setMinefieldID

public void setMinefieldID(EntityID pMinefieldID)

getMinefieldID

public EntityID getMinefieldID()

setRequestingEntityID

public void setRequestingEntityID(EntityID pRequestingEntityID)

getRequestingEntityID

public EntityID getRequestingEntityID()

setRequestID

public void setRequestID(short pRequestID)

getRequestID

public short getRequestID()

getNumberOfPerimeterPoints

public short getNumberOfPerimeterPoints()

setNumberOfPerimeterPoints

public void setNumberOfPerimeterPoints(short pNumberOfPerimeterPoints)
Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. The getnumberOfPerimeterPoints method will also be based on the actual list length rather than this value. The method is simply here for java bean completeness.


setPad2

public void setPad2(short pPad2)

getPad2

public short getPad2()

getNumberOfSensorTypes

public short getNumberOfSensorTypes()

setNumberOfSensorTypes

public void setNumberOfSensorTypes(short pNumberOfSensorTypes)
Note that setting this value will not change the marshalled value. The list whose length this describes is used for that purpose. The getnumberOfSensorTypes method will also be based on the actual list length rather than this value. The method is simply here for java bean completeness.


setDataFilter

public void setDataFilter(long pDataFilter)

getDataFilter

public long getDataFilter()

setRequestedMineType

public void setRequestedMineType(EntityType pRequestedMineType)

getRequestedMineType

public EntityType getRequestedMineType()

setRequestedPerimeterPoints

public void setRequestedPerimeterPoints(java.util.List<Point> pRequestedPerimeterPoints)

getRequestedPerimeterPoints

public java.util.List<Point> getRequestedPerimeterPoints()

setSensorTypes

public void setSensorTypes(java.util.List<TwoByteChunk> pSensorTypes)

getSensorTypes

public java.util.List<TwoByteChunk> getSensorTypes()

marshal

public void marshal(java.io.DataOutputStream dos)
Overrides:
marshal in class MinefieldFamilyPdu

unmarshal

public void unmarshal(java.io.DataInputStream dis)
Overrides:
unmarshal in class MinefieldFamilyPdu

marshal

public void marshal(java.nio.ByteBuffer buff)
Packs a Pdu into the ByteBuffer.

Overrides:
marshal in class MinefieldFamilyPdu
Parameters:
buff - The ByteBuffer at the position to begin writing
Throws:
java.nio.BufferOverflowException - if buff is too small
java.nio.ReadOnlyBufferException - if buff is read only
Since:
??
See Also:
ByteBuffer

unmarshal

public void unmarshal(java.nio.ByteBuffer buff)
Unpacks a Pdu from the underlying data.

Overrides:
unmarshal in class MinefieldFamilyPdu
Parameters:
buff - The ByteBuffer at the position to begin reading
Throws:
java.nio.BufferUnderflowException - if buff is too small
Since:
??
See Also:
ByteBuffer

equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class MinefieldFamilyPdu

equalsImpl

public boolean equalsImpl(java.lang.Object obj)
Description copied from class: Pdu
Compare all fields that contribute to the state, ignoring transient and static fields, for this and the supplied object

Overrides:
equalsImpl in class MinefieldFamilyPdu
Parameters:
obj - the object to compare to
Returns:
true if the objects are equal, false otherwise.