public class AvclMessage extends Object
Modifier and Type | Field and Description |
---|---|
static int |
ACKNOWLEDGE_NEGATIVE
Message acknowledgment requirement
|
static int |
ACKNOWLEDGE_NONE
Message acknowledgment requirement
|
static int |
ACKNOWLEDGE_OPTIONAL
Message acknowledgment requirement
|
static int |
ACKNOWLEDGE_POSITIVE |
static int |
ACKNOWLEDGE_REQUIRED
Message acknowledgment requirement
|
static int |
ACTION_REQUEST_MSG
Message content type
|
static int |
ALL_TERRAIN_CAPABLE
Vehicle capability field
|
static int |
ALTITUDE_CAPABLE
Vehicle capability field
|
static int |
BODY_THRUSTERS_INSTALLED
Vehicle capability field
|
static int |
CHARACTERISTIC_MAXALTITUDE
Specific data item that can be contained within an "inform" message
|
static int |
CHARACTERISTIC_MAXDEPTH
Specific data item that can be contained within an "inform" message
|
static int |
CHARACTERISTIC_MAXSPEED
Specific data item that can be contained within an "inform" message
|
static int |
CHARACTERISTICS
Requestable information type
|
static int |
CHARACTERISTICS_MSG
Message content type
|
static int |
COMMUNICATIONS_CAPABLE
Vehicle capability field
|
protected static ObjectFactory |
factory
Used to generate content nodes defined during editing
|
static int |
FIXED_WING
Vehicle capability field
|
static int |
GPS_CAPABLE
Vehicle capability field
|
static int |
GROUP_ACTION_MSG
Message content type
|
static int |
HOVER_CAPABLE
Vehicle capability field
|
static int |
INFORMATION_REQUEST_MSG
Message content type
|
protected JAXBContext |
jaxbContext
Context corresponding to the JAXB-derived Java AVCL representation, retain jaxbContext in attempt to speed up performance
|
static int |
JOIN_GROUP
Vehicle group maintenance request type
|
static int |
LEAVE_GROUP
Vehicle group maintenance request type
|
protected AvclMessageType |
message
JAXB Object containing the message itself
|
static int |
MULTI_ENGINE
Vehicle capability field
|
static int |
PING
Requestable information type
|
static int |
PING_MSG
Message content type
|
static int |
RENDEZVOUS
Requestable information type
|
static int |
RENDEZVOUS_MSG
Message content type
|
protected JAXBElement<AvclMessageType> |
root
Root element of the message
|
static int |
ROTARY_WING
Vehicle capability field
|
static int |
SATELLITE_COMMUNICATIONS_CAPABLE
Vehicle capability field
|
static int |
SEAGLIDER
Vehicle capability field
|
static int |
SINGLE_ENGINE
Vehicle capability field
|
static int |
STATION_CAPABLE
Vehicle capability field
|
static int |
TELEMETRY
Requestable information type
|
static int |
TELEMETRY_MSG
Message content type
|
static int |
TELEMETRY_PHI
Specific data item that can be contained within an "inform" message
|
static int |
TELEMETRY_PHIDOT
Specific data item that can be contained within an "inform" message
|
static int |
TELEMETRY_PSI
Specific data item that can be contained within an "inform" message
|
static int |
TELEMETRY_PSIDOT
Specific data item that can be contained within an "inform" message
|
static int |
TELEMETRY_THETA
Specific data item that can be contained within an "inform" message
|
static int |
TELEMETRY_THETADOT
Specific data item that can be contained within an "inform" message
|
static int |
TELEMETRY_X
Specific data item that can be contained within an "inform" message
|
static int |
TELEMETRY_XDOT
Specific data item that can be contained within an "inform" message
|
static int |
TELEMETRY_Y
Specific data item that can be contained within an "inform" message
|
static int |
TELEMETRY_YDOT
Specific data item that can be contained within an "inform" message
|
static int |
TELEMETRY_Z
Specific data item that can be contained within an "inform" message
|
static int |
TELEMETRY_ZDOT
Specific data item that can be contained within an "inform" message
|
static int |
THRUSTER_POWERED
Vehicle capability field
|
static int |
UNDERWATER_COMMUNICATIONS_CAPABLE
Vehicle capability field
|
Constructor and Description |
---|
AvclMessage()
Constructor for empty message that provides access to a marshaler
|
AvclMessage(Object obj)
Constructor that loads a message from a stream, reader, or another message object
|
Modifier and Type | Method and Description |
---|---|
void |
addCharacteristicsMsgCapability(String newCapability)
Adds an operating capability or characteristic to the message
|
void |
addMetaData(String name,
String content)
Adds a new meta tag to the message
|
void |
addRecipient(int newRec)
Adds a new recipient to the list of recipients
|
void |
clearCharacteristicsMsgVehicleType()
Clears all vehicle type info in the message
|
void |
clearContent()
Clears all message content
|
void |
clearMetaData()
Removes all existing meta tags from the message
|
void |
clearPriority()
Clears the message's priority attribute
|
void |
clearRecipients()
Clears the list of recipients
|
void |
deleteMetaData(int index)
Removes the meta tag specified by the index
|
String |
getAcknowledge()
Returns the
AcknowledgeElementType message's acknowledge requirement |
List<String> |
getCharacteristicsMsgCapabilities() |
String |
getCharacteristicsMsgDescription() |
boolean |
getCharacteristicsMsgGoalCapability(int goalType)
Returns the value of a specified goal capability attribute
(i.e., is the vehicle capable of completing that goal type)
|
double |
getCharacteristicsMsgOperatingLimit(int limit)
Returns the value of a specific operating limit
|
int |
getCharacteristicsMsgVehicleType() |
int |
getContentType() |
int |
getGroupActionMsgAction() |
String |
getGroupActionMsgDescription() |
String |
getInformationRequestMsgDescription() |
int |
getInformationRequestMsgInfoType() |
int |
getInformMessageInfoType() |
String |
getMessageDescription() |
AvclMessageType |
getMessageObject() |
String |
getMetaContent(int index)
Returns the content attribute of the meta tag specified by the index
|
String |
getMetaName(int index)
Returns the name attribute of the meta tag specified by the index
|
int |
getNumMeta()
Returns the number of meta elements in the message header
|
int |
getNumRecipients()
Returns the number of intended recipients of the message
|
ObjectFactory |
getObjectFactory() |
String |
getPingMsgDescription() |
int |
getPriority()
Returns the value of the
PriorityElementType message priority attribute |
int |
getRecipientID(int index)
Returns the ID of the recipient referred to by the index
|
String |
getRendezvousMsgDescription() |
int |
getSender()
Returns the ID of the sender
|
double |
getTelemetryMsgDataItem(int item)
Returns the value of a specified data field in a Telemetry message
|
String |
getTelemetryMsgDescription() |
double |
getTimeStamp() |
String |
getTransportStatus() |
boolean |
isValidXMLDocument() |
void |
marshal(File outFile)
Writes an XML (AVCL) to a designated file
|
void |
marshal(OutputStream stream)
Writes an XML (AVCL) to a designated output stream
|
void |
marshal(String outFile)
Writes an XML (AVCL) to a designated file
|
void |
marshal(Writer writer)
Writes an XML (AVCL) to a designated Writer object
|
int |
recipientIndex(int recipientID)
Returns the index of the recipient if it is already in the list, NOVALUUE if it is not
|
void |
removeRecipient(int recipient)
Removes a recipient (identified by vehicle ID) from the recipient list
|
void |
setAcknowledge(int ackType)
Sets the message's acknowledge requirement attribute
|
void |
setBroadcast()
Sets the message to be broadcast to all vehicles (recipient = 0)
|
void |
setCharacteristicsMsgDescription(String newValue)
Sets the description attribute of a Characteristics message
|
void |
setCharacteristicsMsgGoalCapability(int goalType,
boolean newValue)
Sets a specified goal capability attribute
|
void |
setCharacteristicsMsgOperatingLimit(int limit,
double newValue)
Sets a specific operating limit value
|
void |
setCharacteristicsMsgVehicleType(int vehicleType)
Sets the vehicle type of the Characteristics message.
|
void |
setContentType(int type)
Sets the message's content to the type indicated by the enumeration.
|
void |
setGroupActionMsgAction(int action)
Sets the type of action for the group action message
|
void |
setGroupActionMsgAction(String action)
Sets the type of action for the group action message
|
void |
setGroupActionMsgDescription(String newValue)
Sets the description attribute of a "GroupAction" message
|
void |
setInformationRequestMsgDescription(String newValue)
Sets the description attribute of an Information Request message
|
void |
setInformationRequestMsgInfoType(int infoType)
Sets the type of information requested by an information request message
|
void |
setMessageDescription(String newValue)
Sets the value of the root element description attribute
|
void |
setPingMsgDescription(String newValue)
Sets the description attribute of a Ping message
|
void |
setPriority(int newPri)
Sets the message priority
|
void |
setRendezvousMsgDescription(String newValue)
Sets the description attribute of a Rendezvous message
|
void |
setSender(int senderID)
Sets the ID of the sender (must be greater than zero)
|
void |
setTelemetryMsgDataItem(int item,
double newValue)
Sets one data field in a Telemetry message
|
void |
setTelemetryMsgDescription(String newValue)
Sets the description attribute of a Telemetry message
|
void |
setTelemetryMsgPosture(double x,
double y,
double z,
double phi,
double theta,
double psi)
Sets the "Posture" element values in a Telemetry message
|
void |
setTelemetryMsgPostureRate(double xDot,
double yDot,
double zDot,
double phiDot,
double thetaDot,
double psiDot)
Sets the "PostureRate" element values in a Telemetry message
|
void |
setTimeStamp(double time)
Sets the "time" attribute of the message element.
|
void |
setTransportStatus(String newStatus)
Sets the message's transport status attribute
|
public static final int GROUP_ACTION_MSG
public static final int INFORMATION_REQUEST_MSG
public static final int ACTION_REQUEST_MSG
public static final int PING_MSG
public static final int TELEMETRY_MSG
public static final int CHARACTERISTICS_MSG
public static final int RENDEZVOUS_MSG
public static final int ACKNOWLEDGE_REQUIRED
public static final int ACKNOWLEDGE_NONE
public static final int ACKNOWLEDGE_OPTIONAL
public static final int ACKNOWLEDGE_POSITIVE
public static final int ACKNOWLEDGE_NEGATIVE
public static final int PING
public static final int TELEMETRY
public static final int CHARACTERISTICS
public static final int RENDEZVOUS
public static final int JOIN_GROUP
public static final int LEAVE_GROUP
public static final int TELEMETRY_X
public static final int TELEMETRY_Y
public static final int TELEMETRY_Z
public static final int TELEMETRY_PHI
public static final int TELEMETRY_THETA
public static final int TELEMETRY_PSI
public static final int TELEMETRY_XDOT
public static final int TELEMETRY_YDOT
public static final int TELEMETRY_ZDOT
public static final int TELEMETRY_PHIDOT
public static final int TELEMETRY_THETADOT
public static final int TELEMETRY_PSIDOT
public static final int CHARACTERISTIC_MAXSPEED
public static final int CHARACTERISTIC_MAXDEPTH
public static final int CHARACTERISTIC_MAXALTITUDE
public static final int COMMUNICATIONS_CAPABLE
public static final int SATELLITE_COMMUNICATIONS_CAPABLE
public static final int UNDERWATER_COMMUNICATIONS_CAPABLE
public static final int GPS_CAPABLE
public static final int ALL_TERRAIN_CAPABLE
public static final int FIXED_WING
public static final int ROTARY_WING
public static final int SINGLE_ENGINE
public static final int MULTI_ENGINE
public static final int THRUSTER_POWERED
public static final int SEAGLIDER
public static final int BODY_THRUSTERS_INSTALLED
public static final int HOVER_CAPABLE
public static final int STATION_CAPABLE
public static final int ALTITUDE_CAPABLE
protected JAXBContext jaxbContext
protected static ObjectFactory factory
protected JAXBElement<AvclMessageType> root
protected AvclMessageType message
public AvclMessage()
public AvclMessage(Object obj)
obj
- public boolean isValidXMLDocument()
public void marshal(String outFile)
outFile
- filename and path to which output is to be directedpublic void marshal(File outFile)
outFile
- filename and path to which output is to be directedpublic void marshal(OutputStream stream)
stream
- OutputStream to which output is to be directedpublic void marshal(Writer writer)
writer
- Writer object to which the message is to be marshalledpublic AvclMessageType getMessageObject()
public ObjectFactory getObjectFactory()
public void setMessageDescription(String newValue)
newValue
- public String getMessageDescription()
public void setSender(int senderID)
senderID
- vehicle ID of the intended sender of the messagepublic int getSender()
public void clearRecipients()
public void setBroadcast()
public int getNumRecipients()
public int getRecipientID(int index)
index
- linear index into the list of recipientspublic int recipientIndex(int recipientID)
recipientID
- vehicle ID of the vehicle being tested for inclusion in the recipient listpublic void addRecipient(int newRec)
newRec
- ID of the new recipient (must be >= 0)public void removeRecipient(int recipient)
recipient
- vehicle ID of the recipient to be deletedpublic void setPriority(int newPri)
newPri
- positive integer representing the new priority (lower number = high priority)public void clearPriority()
public int getPriority()
PriorityElementType
message priority attributepublic void setAcknowledge(int ackType)
ackType
- enumerated value corresponding to acknowledgment
requirement types (required, none, etc.)public String getAcknowledge()
AcknowledgeElementType
message's acknowledge requirementpublic int getNumMeta()
public String getMetaName(int index)
index
- public String getMetaContent(int index)
index
- public void addMetaData(String name, String content)
name
- value of the name attribute of the new meta tagcontent
- value of the content attribute of the new meta tagpublic void deleteMetaData(int index)
index
- public void clearMetaData()
public void setTimeStamp(double time)
time
- public double getTimeStamp()
public void setTransportStatus(String newStatus)
newStatus
- "sent", "received" or "none"public String getTransportStatus()
public void setContentType(int type)
type
- enumeration indicating the type of content. TODO: use stricter typing and checking.public int getContentType()
public void clearContent()
public void setGroupActionMsgAction(String action)
action
- public void setGroupActionMsgAction(int action)
action
- enumeration indicating the type of group actionpublic int getGroupActionMsgAction()
public void setGroupActionMsgDescription(String newValue)
newValue
- public String getGroupActionMsgDescription()
public void setInformationRequestMsgInfoType(int infoType)
infoType
- enumeration indicating the type of information requestedpublic int getInformationRequestMsgInfoType()
public void setInformationRequestMsgDescription(String newValue)
newValue
- public String getInformationRequestMsgDescription()
public int getInformMessageInfoType()
public void setPingMsgDescription(String newValue)
newValue
- public String getPingMsgDescription()
public void setRendezvousMsgDescription(String newValue)
newValue
- public String getRendezvousMsgDescription()
public void setTelemetryMsgPosture(double x, double y, double z, double phi, double theta, double psi)
x
- y
- z
- phi
- theta
- psi
- public void setTelemetryMsgPostureRate(double xDot, double yDot, double zDot, double phiDot, double thetaDot, double psiDot)
xDot
- yDot
- zDot
- phiDot
- thetaDot
- psiDot
- public void setTelemetryMsgDataItem(int item, double newValue)
item
- enumeration identifying which item (x, yDot, theta, etc.)newValue
- public double getTelemetryMsgDataItem(int item)
item
- enumeration identifying which data item (x, yDot, theta, etc.)public void setTelemetryMsgDescription(String newValue)
newValue
- public String getTelemetryMsgDescription()
public void clearCharacteristicsMsgVehicleType()
public void setCharacteristicsMsgVehicleType(int vehicleType)
vehicleType
- enumeration indicating the type of vehicle (UAV, UGV, USV or UUV)public int getCharacteristicsMsgVehicleType()
public void setCharacteristicsMsgGoalCapability(int goalType, boolean newValue)
goalType
- enumeration indicating which goal type is to be setnewValue
- public boolean getCharacteristicsMsgGoalCapability(int goalType)
goalType
- enumeration indicating which goal type is to be setpublic void setCharacteristicsMsgOperatingLimit(int limit, double newValue)
limit
- enumeration indicating which limit is to be setnewValue
- public double getCharacteristicsMsgOperatingLimit(int limit)
limit
- enumeration indicating which limit is to be returnedpublic void addCharacteristicsMsgCapability(String newCapability)
newCapability
- string representation of the capability to be addedpublic List<String> getCharacteristicsMsgCapabilities()
public void setCharacteristicsMsgDescription(String newValue)
newValue
- public String getCharacteristicsMsgDescription()