Interface NameReference

  • All Known Subinterfaces:
    ParameterReference
    All Known Implementing Classes:
    AbstractNameReference, ResolvedNameReference, ResolvedParameterReference, UnresolvedNameReference, UnresolvedParameterReference

    public interface NameReference
    Used when referencing a directory style "NameType".

    All characters are legal.

    All name references use a Unix ‘like’ name referencing mechanism across the SpaceSystem Tree (e.g., SimpleSat/Bus/EPDS/BatteryOne/Voltage) where the '/', ‘..’ and ‘.’ are used to navigate through the hierarchy. The use of an unqualified name will search for an item in the current SpaceSystem first, then if none is found, in progressively higher SpaceSystems. A SpaceSystem is a name space (i.e., a named type declared in MetaCommandData is also declared in TelemetryMetaData - and vice versa).

    This is used only while reading the database, then all the references are resolved and we use Java references to real objects

    The ResolvedAction.resolved will be called once the reference is resolved.

    • Method Detail

      • tryResolve

        boolean tryResolve​(NameDescription nd)
        Execute all the actions (if not already executed) and return true if the reference has been resolved.
        Parameters:
        nd -
        Returns:
        true if the reference has been resolved
      • addResolvedAction

        NameReference addResolvedAction​(NameReference.ResolvedAction action)
        Adds an action to the list to be executed when the reference is resolved and returns this. If the reference is already resolved, execute the action immediately.
        Parameters:
        action -
        Returns:
        this
      • getReference

        String getReference()
      • isResolved

        boolean isResolved()