Class DefaultCatalogTreeManager

    • Method Detail

      • getXMLOrder

        public int getXMLOrder()
        Description copied from interface: Manager
        Determine the order that types should be written when storing panel files. Uses one of the constants defined in this class.

        Yes, that's an overly-centralized methodology, but it works for now.

        Specified by:
        getXMLOrder in interface Manager<CatalogTree>
        Returns:
        write order for this Manager; larger is later.
      • newCatalogTree

        @Nonnull
        public CatalogTree newCatalogTree​(@Nonnull
                                          java.lang.String systemName,
                                          java.lang.String userName)
                                   throws java.lang.IllegalArgumentException
        Provide CatalogTree by UserName, then SystemName, then creates if not found. Get a CatalogTree instance with the specified system and user names. Note that two calls with the same arguments will get the same instance; there is only one CatalogTree object representing a given physical CatalogTree and therefore only one with a specific system or user name.

        This will always return a valid object reference; a new object will be created if necessary. In that case:

        • If a null reference is given for user name, no user name will be associated with the CatalogTree object created; a valid system name must be provided
        • If both names are provided, the system name defines the hardware access of the desired CatalogTree, and the user address is associated with it. The system name must be valid.
        Note that it is possible to make an inconsistent request if both addresses are provided, but the given values are associated with different objects. This is a problem, and we don't have a good solution except to issue warnings. This will mostly happen if you're creating CatalogTree objects when you should be looking them up.
        Specified by:
        newCatalogTree in interface CatalogTreeManager
        Parameters:
        systemName - system name for new CatalogTree
        userName - user name for new CatalogTree
        Returns:
        requested CatalogTree object (never null)
        Throws:
        java.lang.IllegalArgumentException - if unable to create.
      • createNewCatalogTree

        @Nonnull
        protected CatalogTree createNewCatalogTree​(@Nonnull
                                                   java.lang.String systemName,
                                                   java.lang.String userName)
                                            throws java.lang.IllegalArgumentException
        Create a CatalogTree.

        Naming convention is:

           IF... - filter for image files from the file system
           SF... - filter for sound files from the file system
           TF... - filter for script files from the file system
           NF... - no filter for files from the file system
           IX... - index for image files stored in XML config file
           SX... - index for sound files stored in XML config file
           TX... - index for script files stored in XML config file
           NX... - index for files stored in XML config file
         
        Parameters:
        systemName - system name for catalog tree, never null/empty
        userName - user name for catalog tree
        Returns:
        the new catalog tree or
        Throws:
        java.lang.IllegalArgumentException - if unable to create
      • getBeanTypeHandled

        @Nonnull
        public java.lang.String getBeanTypeHandled​(boolean plural)
        Description copied from interface: Manager
        Get the user-readable name of the type of NamedBean handled by this manager.

        For instance, in the code where we are dealing with just a bean and a message that needs to be passed to the user or in a log.

        Specified by:
        getBeanTypeHandled in interface Manager<CatalogTree>
        Parameters:
        plural - true to return plural form of the type; false to return singular form
        Returns:
        a string of the bean type that the manager handles, eg Turnout, Sensor etc
      • getNamedBeanClass

        public java.lang.Class<CatalogTreegetNamedBeanClass()
        Get the class of NamedBean supported by this Manager. This should be the generic class used in the Manager's class declaration.
        Specified by:
        getNamedBeanClass in interface Manager<CatalogTree>
        Returns:
        the class supported by this Manager.