Package net.sf.basedb.core
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 byApplication.getExtendedPropertyFiles()
are parsed.- Version:
- 2.0
- Author:
- Nicklas
- See Also:
ExtendableData
,ExtendedProperty
-
-
Field Summary
Fields Modifier and Type Field Description private static Map<String,List<ExtendedProperty>>
allProperties
A map from class name --> a list of extended properties of for that class.private static List<String>
classes
A list with thename
attribute of all classes found in the xml file.private static URL
dtdFile
The DTD which is used to validate the XML file.private static boolean
isInitialised
private static org.slf4j.Logger
log
Log core events.private static Map<String,List<ExtendedProperty>>
visibleProperties
A map from class name --> a list of extended properties of for that class.
-
Constructor Summary
Constructors Constructor Description ExtendedProperties()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static List<String>
getClasses()
Get a list with the name of all classes.static List<ExtendedProperty>
getProperties(String className)
Get a list of extended properties for the specified class.static List<ExtendedProperty>
getProperties(String className, boolean includeHidden)
Get a list of extended properties for the specified class.static ExtendedProperty
getProperty(String className, String property)
Find an extended property in a given class.(package private) static void
init()
Initialize the class.static boolean
isExtendable(String className)
Check if extended properties has been defined for the specified class.private static void
loadClasses(Set<String> usedNames, Document dom, String xmlFile)
Load the classes and put their names in theclasses
variable.private static void
loadExtendedPropertiesFile()
Load and parse the file with predefined queries.private static void
loadProperties(Set<String> usedNames, Element classElement, String xmlFile)
Load the properties for the specified class node and put the list in theallProperties
variable.(package private) static void
unload()
Unload all settings.
-
-
-
Field Detail
-
log
private static final org.slf4j.Logger log
Log core events.
-
classes
private static List<String> classes
A list with thename
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 holdsExtendedProperty
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 holdsExtendedProperty
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
-
-
Method Detail
-
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 theclasses
,allProperties
andvisibleProperties
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 containingExtendedProperty
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 nameincludeHidden
- A flag to indicate if hidden properties should be included or not- Returns:
- A
List
object containingExtendedProperty
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 nameproperty
- 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 theclasses
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 theallProperties
variable.
-
-