Package org.xtce.toolkit
Class XTCENamedObject
- java.lang.Object
-
- org.xtce.toolkit.XTCENamedObject
-
- All Implemented Interfaces:
Comparable
- Direct Known Subclasses:
XTCESpaceSystem,XTCETCContainer,XTCETelecommand,XTCETMContainer,XTCETMStream,XTCETypedObject
public abstract class XTCENamedObject extends Object implements Comparable
The XTCENamedObject class serves to capture the common elements to XTCE Parameters, Arguments, Containers, and Streams.- Author:
- David Overeem
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intcompareTo(Object that)Comparison Interface Comparison of this named object in the XTCE data model is based on the fully qualified path to this object in the Space System hierarchy.booleanequals(Object rhs)Equality OperatorStringgetAlias(String nameSpace)Accessor to retrieve the Alias for this named object where the desired nameSpace attribute for the Alias is provided to search the list of potential Aliases.List<XTCEAlias>getAliasSet()Accessor to retrieve the complete list of applicable Aliases for this named object.List<DescriptionType.AncillaryDataSet.AncillaryData>getAncillaryData()Accessor to retrieve the List of AncillaryData elements from the XTCE data for this named object.List<DescriptionType.AncillaryDataSet.AncillaryData>getAncillaryData(String nameGlob)Accessor to retrieve only a partial list of AncillaryData elements from the XTCE data for this named object where the name attribute of the AncillaryData element must either exactly match a string or a glob style pattern.StringgetFullPath()Retrieve the fully qualified Space System path to this object in the XTCE data model.StringgetName()Retrieve the name of this object in the XTCE data modelprotected StringgetPrimaryLongDescription(DescriptionType obj)Retrieves the LongDescription element text of the primary element for a named object in the XTCE data model.protected StringgetPrimaryShortDescription(DescriptionType obj)Retrieves the shortDescription attribute of the primary element for a named object in the XTCE data model.StringgetSpaceSystemName()Retrieve the Space System name that contains this object in the XTCE data model.StringgetSpaceSystemPath()Retrieve the Space System path that contains this object in the XTCE data model.inthashCode()Hash function for Java Collections Key rule here is that if this object is equal to another object via the equals() function, then the hashCode() must also be the same.protected voidpopulateAliasListFromReference(AliasSetType set)Private method to gather the aliases from this named object, which is performed once for Containers, Streams, and Member objects, but appended to with the type element for Parameters and Arguments.protected voidsetPrimaryLongDescription(DescriptionType obj, String desc)Sets the shortDescription attribute of the primary element for a named object in the XTCE data model.protected voidsetPrimaryShortDescription(DescriptionType obj, String desc)Sets the shortDescription attribute of the primary element for a named object in the XTCE data model.
-
-
-
Method Detail
-
getName
public final String getName()
Retrieve the name of this object in the XTCE data model- Returns:
- String containing the name attribute.
-
getFullPath
public final String getFullPath()
Retrieve the fully qualified Space System path to this object in the XTCE data model.- Returns:
- String containing the fully qualified path to this Parameter, Argument, Container, or Stream in the XTCE data model.
-
getSpaceSystemPath
public final String getSpaceSystemPath()
Retrieve the Space System path that contains this object in the XTCE data model.- Returns:
- String containing Space System path, without the name of this object, for the Space System that contains this object.
-
getSpaceSystemName
public final String getSpaceSystemName()
Retrieve the Space System name that contains this object in the XTCE data model.- Returns:
- String containing just the name of the Space System that contains this named object without the path hierarchy that is otherwise returned from getSpaceSystemPath().
-
getAliasSet
public final List<XTCEAlias> getAliasSet()
Accessor to retrieve the complete list of applicable Aliases for this named object. The list is provided in a form where each entry in the List return contains a string that is in the form NS::ALIAS, which NS is the nameSpace attribute of the discovered Alias and the ALIAS is the alias attribute of the Alias element. Aliases are evaluated first to consider those on the primary element, such as a Parameter, Container, Argument, or Stream. They cannot appear on primary Member elements. Aliases are then checked on the Type element that is associated to this object, when it is a Parameter, Member, or Argument. Any alias on the type element is secondary or superceded by the primary Alias is it has the same nameSpace attribute as on the higher priority element. Aliases that appear on the type elements which do not have a corresponding nameSpace attribute match on the primary element are added to the list of valid aliases.- Returns:
- List of XTCEAlias objects that were gathered.
-
getAlias
public final String getAlias(String nameSpace)
Accessor to retrieve the Alias for this named object where the desired nameSpace attribute for the Alias is provided to search the list of potential Aliases. This function is convenient because it permits the caller to know in advance the desired Alias nameSpace and retrieve a String object that does not contain the nameSpace prefix with the double colons. As a result, there is no need to split the resulting string.- Parameters:
nameSpace- The namespace as defined by the nameSpace attribute in XTCE for the Alias element.- Returns:
- The alias as contained in the alias attribute of the Alias element located by the caller provided nameSpace attribute of that element.
- See Also:
getAliasSet()
-
getAncillaryData
public List<DescriptionType.AncillaryDataSet.AncillaryData> getAncillaryData()
Accessor to retrieve the List of AncillaryData elements from the XTCE data for this named object. AncillaryData is not managed like Aliases are in the object. While aliases are pre-populated and cached, AncillaryData is only retrieved when actually requested since it is expected to not be all that popular.- Returns:
- List of AncillaryData elements which can be empty but it will never be null.
-
getAncillaryData
public List<DescriptionType.AncillaryDataSet.AncillaryData> getAncillaryData(String nameGlob)
Accessor to retrieve only a partial list of AncillaryData elements from the XTCE data for this named object where the name attribute of the AncillaryData element must either exactly match a string or a glob style pattern. Since the name attribute of an AncillaryData element does not qualify uniqueness, multiple results can still be retrieved when doing an exact match.- Parameters:
nameGlob- String containing a precise name or a glob style pattern to match against the name attribute of the AncillaryData elements.- Returns:
- List of AncillaryData elements that match. The list can be empty but it will never be null.
-
getPrimaryShortDescription
protected final String getPrimaryShortDescription(DescriptionType obj)
Retrieves the shortDescription attribute of the primary element for a named object in the XTCE data model.- Parameters:
obj- DescriptionType base class from the JAXB generated classes for this named object.- Returns:
- String containing the short description or an empty string. The return value will never be null.
-
setPrimaryShortDescription
protected final void setPrimaryShortDescription(DescriptionType obj, String desc)
Sets the shortDescription attribute of the primary element for a named object in the XTCE data model.- Parameters:
obj- DescriptionType base class from the JAXB generated classes for this named object.desc- String containing the text to set.- Throws:
NullPointerException- in the event that the DescriptionType is null. This method should not be used on an invalid object.
-
getPrimaryLongDescription
protected final String getPrimaryLongDescription(DescriptionType obj)
Retrieves the LongDescription element text of the primary element for a named object in the XTCE data model.- Parameters:
obj- DescriptionType base class from the JAXB generated classes for this named object.- Returns:
- String containing the long description or an empty string. The return value will never be null.
-
setPrimaryLongDescription
protected final void setPrimaryLongDescription(DescriptionType obj, String desc)
Sets the shortDescription attribute of the primary element for a named object in the XTCE data model.- Parameters:
obj- DescriptionType base class from the JAXB generated classes for this named object.desc- String containing the text to set.- Throws:
NullPointerException- in the event that the DescriptionType is null. This method should not be used on an invalid object.
-
populateAliasListFromReference
protected final void populateAliasListFromReference(AliasSetType set)
Private method to gather the aliases from this named object, which is performed once for Containers, Streams, and Member objects, but appended to with the type element for Parameters and Arguments.- Parameters:
set- DescriptionType object from the JAXB generated classes that represents this named object.
-
compareTo
public int compareTo(Object that)
Comparison Interface Comparison of this named object in the XTCE data model is based on the fully qualified path to this object in the Space System hierarchy.- Specified by:
compareToin interfaceComparable- Parameters:
that- XTCENamedObject or derived class to compare the path.- Returns:
- int containing either -1, 0, or 1.
- See Also:
Comparable
-
equals
public boolean equals(Object rhs)
Equality Operator- Overrides:
equalsin classObject- Parameters:
rhs- String or XTCENamedObject to compare to this one, with equality being defined as the fully qualified path in the XTCE data model being equal to the path for this object.- Returns:
- boolean indicating if the two objects are the same in the XTCE data model.
-
-