Class ExtendedProperties

java.lang.Object
net.sf.basedb.core.ExtendedProperties

public class ExtendedProperties
extends Object
This class is used for reading XML files with information about extended properties. All files returned by Application.getExtendedPropertyFiles() are parsed.
Version:
2.0
Author:
Nicklas
See Also:
ExtendableData, ExtendedProperty
  • Field Details

    • log

      private static final org.slf4j.Logger log
      Log core events.
    • classes

      private static List<String> classes
      A list with the name attribute of all classes found in the xml file.
    • allProperties

      private static Map<String,​List<ExtendedProperty>> allProperties
      A map from class name --> a list of extended properties of for that class. The list holds ExtendedProperty objects.
    • visibleProperties

      private static Map<String,​List<ExtendedProperty>> visibleProperties
      A map from class name --> a list of extended properties of for that class. The list holds ExtendedProperty objects that are not hidden.
      Since:
      3.13
    • dtdFile

      private static final URL dtdFile
      The DTD which is used to validate the XML file.
    • isInitialised

      private static boolean isInitialised
  • Constructor Details

    • ExtendedProperties

      public ExtendedProperties()
  • Method Details

    • init

      static void init() throws BaseException
      Initialize the class.
      Throws:
      BaseException - This exception is thrown if there is an error
    • unload

      static void unload()
      Unload all settings.
    • loadExtendedPropertiesFile

      private static void loadExtendedPropertiesFile() throws BaseException
      Load and parse the file with predefined queries. This method will populate the classes, allProperties and visibleProperties variables.
      Throws:
      BaseException
    • getClasses

      public static List<String> getClasses()
      Get a list with the name of all classes. The names do not include a package name.
      Returns:
      A List containing the names of the classes.
    • isExtendable

      public static boolean isExtendable​(String className)
      Check if extended properties has been defined for the specified class.
      Parameters:
      className - The name of the class with or without the package name
      Returns:
      TRUE if the class is extendable, FALSE otherwise
    • getProperties

      public static List<ExtendedProperty> getProperties​(String className)
      Get a list of extended properties for the specified class. Hidden properties (introduced in BASE 3.13) are not included.
      Parameters:
      className - The name of the class with or without the package name
      Returns:
      A List object containing ExtendedProperty objects, or null if the specified class is not extendable or no extended properties has been defined
    • getProperties

      public static List<ExtendedProperty> getProperties​(String className, boolean includeHidden)
      Get a list of extended properties for the specified class.
      Parameters:
      className - The name of the class with or without the package name
      includeHidden - A flag to indicate if hidden properties should be included or not
      Returns:
      A List object containing ExtendedProperty objects, or null if the specified class is not extendable or no extended properties has been defined
      Since:
      3.13
    • getProperty

      public static ExtendedProperty getProperty​(String className, String property)
      Find an extended property in a given class.
      Parameters:
      className - The name of an extendable class with or without the package name
      property - The name of the property
      Returns:
      The extended property or null if not found
      Since:
      2.15
    • loadClasses

      private static void loadClasses​(Set<String> usedNames, Document dom, String xmlFile)
      Load the classes and put their names in the classes variable.
    • loadProperties

      private static void loadProperties​(Set<String> usedNames, Element classElement, String xmlFile)
      Load the properties for the specified class node and put the list in the allProperties variable.