Class DefaultCatalogTreeManagerXml

java.lang.Object
jmri.jmrit.XmlFile
jmri.jmrit.catalog.configurexml.DefaultCatalogTreeManagerXml

Provides the abstract base and store functionality for configuring the CatalogTreeManager.

Typically, a subclass will just implement the load(Element catalogTree) class, relying on implementation here to load the individual CatalogTree objects.

  • Constructor Details

  • Method Details

    • writeCatalogTrees

      public void writeCatalogTrees() throws IOException
      Write out tree values to a file in the user's preferences directory.
      Throws:
      IOException - from any I/O issues during write; not handled locally
    • store

      public void store(org.jdom2.Element cat, Set<CatalogTree> trees)
      Default implementation for storing the contents of a CatalogTreeManager.
      Parameters:
      cat - Element to load with contents
      trees - List of contents
    • storeNode

      public void storeNode(org.jdom2.Element parent, CatalogTreeNode node)
      Recursively store a CatalogTree.
      Parameters:
      parent - the element to store node in
      node - the root node of the tree
    • store

      public org.jdom2.Element store(Object o)
      This is invoked as part of the "store all" mechanism, which is not used for these objects. Hence this is implemented to do nothing.
      Parameters:
      o - the object to store
      Returns:
      null
    • readCatalogTrees

      public void readCatalogTrees()
    • load

      public boolean load(org.jdom2.Element catalogTrees)
      Create a CatalogTreeManager object of the correct class, then register and fill it.
      Parameters:
      catalogTrees - top level Element to unpack
      Returns:
      true if successful
    • loadCatalogTrees

      public void loadCatalogTrees(org.jdom2.Element catalogTrees)
      Utility method to load the individual CatalogTree objects.
      Parameters:
      catalogTrees - element containing trees
    • loadNode

      public void loadNode(org.jdom2.Element element, CatalogTreeNode parent, DefaultTreeModel model)
      Recursively load a CatalogTree.
      Parameters:
      element - element containing the node to load
      parent - the parent node of the node in element
      model - the tree model containing the tree to add the node to