Package org.yamcs.mdb

Interface SpaceSystemLoader

All Known Implementing Classes:
AbstractFileLoader, BaseSpreadsheetLoader, EmptyNodeLoader, PerfMdbLoader, SpreadsheetLoader, TseLoader, V6Loader, V6LoaderBase, V7Loader, V7LoaderBase, XtceLoader

public interface SpaceSystemLoader
Interface implemented by the database loaders.
  • Method Summary

    Modifier and Type
    Method
    Description
    The filename used to save the database after all the loaders have loaded it, is based on a concatenation of the config names returned by the loaders.
    This method is called when the writable property of a sub-tree is set true in the mdb configuration.
    default boolean
    If the SpaceSystemLoader supports a corresponding writer (that can write to disk the MDB modifications)
    Deprecated.
    this method is deprecated in favour of loadList()
    default List<SpaceSystem>
    Loads a list of SpaceSystems.
    boolean
    needsUpdate(RandomAccessFile consistencyDateFile)
     
    void
    writeConsistencyDate(FileWriter consistencyDateFile)
     
  • Method Details

    • load

      Deprecated.
      this method is deprecated in favour of loadList()
      loads the SpaceSystem database in memory. Some references may be unresolved
      Throws:
      DatabaseLoadException
      ConfigurationException
    • loadList

      default List<SpaceSystem> loadList() throws DatabaseLoadException
      Loads a list of SpaceSystems.

      They will be added to the parent in the order in which they appear in the list.

      By default this method calls the load() and returns a list with one element.

      Returns:
      - the list of
      Throws:
      DatabaseLoadException
    • needsUpdate

      boolean needsUpdate(RandomAccessFile consistencyDateFile) throws IOException, ConfigurationException
      Parameters:
      consistencyDateFile - check in this file when the last database has been loaded
      Returns:
      if this loader has to reload the database from its source
      Throws:
      IOException - if the consistencyDateFile can not be read for some reason
      ConfigurationException
    • getConfigName

      String getConfigName() throws ConfigurationException
      The filename used to save the database after all the loaders have loaded it, is based on a concatenation of the config names returned by the loaders. Thus if a loader can have multiple versions of the database, they should be saved in multiple files.
      Returns:
      a string to be used as the filename where the serialised instance will be stored.
      Throws:
      ConfigurationException - in case some of the configuration properties do not exist
    • writeConsistencyDate

      void writeConsistencyDate(FileWriter consistencyDateFile) throws IOException
      Parameters:
      consistencyDateFile - the file in which the consistency date should be written
      Throws:
      IOException - if the consistency date file can't be written for some reason
    • getWriter

      default SpaceSystemWriter getWriter()
      This method is called when the writable property of a sub-tree is set true in the mdb configuration.

      If the SpaceSystem loader supports writing, this will return a writer that will be called each time the subsystem is modified.

      If the loader does not support writing, it returns null.

      May throw ConfigurationException if the writer is supported but the file to be written is read-only or does not have write permissions.

      Returns:
    • isWritable

      default boolean isWritable()
      If the SpaceSystemLoader supports a corresponding writer (that can write to disk the MDB modifications)
      Returns: