Class SpaceSystem

All Implemented Interfaces:
Serializable

public class SpaceSystem extends NameDescription
SpaceSystem is a collection of SpaceSystem(s) including space assets, ground assets, multi-satellite systems and sub-systems. A SpaceSystem is the root element for the set of data necessary to monitor and command an arbitrary space device - this includes the binary decomposition the data streams going into and out of a device.
See Also:
  • Constructor Details

    • SpaceSystem

      public SpaceSystem(String name)
  • Method Details

    • setHeader

      public void setHeader(Header h)
    • addSequenceContainer

      public void addSequenceContainer(SequenceContainer container)
      Register the container
      Parameters:
      container - Container to be registered
    • addParameter

      public void addParameter(Parameter parameter) throws IllegalArgumentException
      Throws:
      IllegalArgumentException
    • addParameterType

      public void addParameterType(ParameterType parameterType)
    • removeParameterType

      public boolean removeParameterType(ParameterType ptype)
    • addArgumentType

      public void addArgumentType(ArgumentType argumentType)
    • addAlgorithm

      public void addAlgorithm(Algorithm algorithm)
    • addMetaCommand

      public void addMetaCommand(MetaCommand command)
    • getMetaCommand

      public MetaCommand getMetaCommand(String refName)
    • getParameterType

      public ParameterType getParameterType(String typeName)
    • getArgumentType

      public ArgumentType getArgumentType(String typeName)
    • getSequenceContainer

      public SequenceContainer getSequenceContainer(String refName)
    • addCommandContainer

      public void addCommandContainer(CommandContainer cmdContainer)
    • getCommandContainer

      public CommandContainer getCommandContainer(String name)
    • getAlgorithm

      public Algorithm getAlgorithm(String algoName)
    • getParameter

      public Parameter getParameter(String refName)
    • addSpaceSystem

      public void addSpaceSystem(SpaceSystem ss) throws IllegalArgumentException
      Throws:
      IllegalArgumentException
    • addUnresolvedReference

      public void addUnresolvedReference(NameReference nr)
      tries to resolve the reference immediately in the current system; if it cannot, add it to the list of unresolved references - the reference will be resolved when all parts are available
    • getSequenceContainers

      public Collection<SequenceContainer> getSequenceContainers()
    • getCommandContainers

      public Collection<CommandContainer> getCommandContainers()
    • getSequenceContainerCount

      public int getSequenceContainerCount(boolean recurse)
    • getParameters

      public Collection<Parameter> getParameters()
      Returns the direct sub parameters of this space system
    • getParameters

      public Collection<Parameter> getParameters(boolean recurse)
      Returns the parameters defined in this space system, or under any of its sub space systems
    • getParameterCount

      public int getParameterCount(boolean recurse)
    • getParameterTypes

      public Collection<ParameterType> getParameterTypes()
    • getParameterTypeCount

      public int getParameterTypeCount(boolean recurse)
    • getArgumentTypes

      public Collection<ArgumentType> getArgumentTypes()
    • getSubSystems

      public Collection<SpaceSystem> getSubSystems()
    • getAlgorithms

      public Collection<Algorithm> getAlgorithms()
    • getAlgorithmCount

      public int getAlgorithmCount(boolean recurse)
    • getMetaCommands

      public Collection<MetaCommand> getMetaCommands()
    • removeParameter

      public void removeParameter(Parameter p)
      remove parameter from SpaceSystem - only used during loading or from XtceDb XtceDb has several maps pointing to these parameters.
      Parameters:
      p - parameter to remove
    • getMetaCommandCount

      public int getMetaCommandCount(boolean recurse)
    • getUnresolvedReferences

      public List<NameReference> getUnresolvedReferences()
    • setParent

      public void setParent(SpaceSystem parent)
    • getParent

      public SpaceSystem getParent()
    • getSubsystem

      public SpaceSystem getSubsystem(String sname)
    • getRootSequenceContainer

      public SequenceContainer getRootSequenceContainer()
    • getHeader

      public Header getHeader()
    • addNonStandardData

      public void addNonStandardData(NonStandardData data)
      Add non-standard data to this SpaceSystem. This enables loading any kind of data from within custom SpaceSystemLoaders and making it available through the XtceDb.

      Non-standard data is distinguished from each other using the classname. Only one object is allowed for each classname.

    • getNonStandardDataOfType

      public <T extends NonStandardData> T getNonStandardDataOfType(Class<T> clazz)
    • getNonStandardData

      public Collection<NonStandardData> getNonStandardData()
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • getParameterByAlias

      public List<Parameter> getParameterByAlias(String alias)
      Searches through all namespaces for a parameter with the given alias. Returns a list with all matches. This is an expensive operation as it iterates over all parameters
      Parameters:
      alias -
      Returns:
      a list of parameters matching the alias. If no alias matches the list will be empty.
    • getSequenceContainerByAlias

      public List<SequenceContainer> getSequenceContainerByAlias(String alias)
    • getMetaCommandByAlias

      public List<MetaCommand> getMetaCommandByAlias(String alias)