2.9.1: 2008-12-18

net.sf.basedb.core
Class RawDataTypes

java.lang.Object
  extended by net.sf.basedb.core.RawDataTypes

public class RawDataTypes
extends Object

This class is used for reading the XML configuration file with information about raw data types. All files returned by Application.getRawDataTypeFiles() are parsed.

Version:
2.0
Author:
Nicklas
Last modified
$Date: 2008-09-11 22:11:02 +0200 (Thu, 11 Sep 2008) $

Field Summary
private static Set<RawDataType> all
           
private static URL dtdFile
          The DTD which is used to validate the XML file.
(package private) static PlatformData generic
           
private static boolean isInitialised
           
private static Logger log
          Log core events.
private static Map<String,RawDataType> platformTypes
           
private static Map<String,RawDataType> rawDataTypes
          A map from raw data type name --> RawDataType.
 
Constructor Summary
RawDataTypes()
           
 
Method Summary
static Collection<RawDataType> getFileOnlyRawDataTypes()
          Get the raw data types that are representations of file-only Platform:s.
private static RawDataType getPlatformRawDataType(String id)
           
static RawDataType getRawDataType(String id)
          Get a information about a raw data type.
static Collection<RawDataType> getRawDataTypes()
          Get a collection with all raw data types that has been defined.
static RawDataType getSafeRawDataType(String id)
          Get a information about a raw data type or throw an exception if the raw data type is not found.
private static RawDataType getVariantRawDataType(String id)
           
(package private) static void init()
          Initialize the class.
(package private) static void initPlatforms()
          Load file-only platforms and create raw data types for them.
private static List<IntensityFormula> loadIntensityFormulas(Element rawDataTypeElement, int channels, String xmlFile)
          Load the intensity formulas for the specified raw data type node and return a list of IntensityFormula objects.
private static List<RawDataProperty> loadProperties(Element rawDataTypeElement, int channels, String xmlFile)
          Load the properties for the specified raw data type node and return a list of RawDataProperty objects.
private static void loadRawDataTypes(Document dom, String xmlFile)
          Load the raw data types and put the information in the rawDataTypes map.
private static void loadRawDataTypesFile()
          Load and parse the file with raw data types.
(package private) static void unload()
          Unload all settings.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

private static final Logger log
Log core events.


rawDataTypes

private static Map<String,RawDataType> rawDataTypes
A map from raw data type name --> RawDataType.


platformTypes

private static Map<String,RawDataType> platformTypes

all

private static Set<RawDataType> all

generic

static PlatformData generic

dtdFile

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


isInitialised

private static boolean isInitialised
Constructor Detail

RawDataTypes

public RawDataTypes()
Method Detail

init

static void init()
          throws BaseException
Initialize the class.

Throws:
BaseException - This exception is thrown if there is an error

initPlatforms

static void initPlatforms()
Load file-only platforms and create raw data types for them.

Since:
2.5

unload

static void unload()
Unload all settings.


loadRawDataTypesFile

private static void loadRawDataTypesFile()
                                  throws BaseException
Load and parse the file with raw data types. This method will populate the rawDataTypes variable.

Throws:
BaseException

getRawDataTypes

public static Collection<RawDataType> getRawDataTypes()
Get a collection with all raw data types that has been defined. This method only returns both database and file-only raw data types. To get file-only raw data types use getFileOnlyRawDataTypes()

Returns:
A Collection containing RawDataType objects where RawDataType.isStoredInDb() returns true

getFileOnlyRawDataTypes

public static Collection<RawDataType> getFileOnlyRawDataTypes()
Get the raw data types that are representations of file-only Platform:s.

Returns:
A Collection containing RawDataType objects where RawDataType.isStoredInDb() returns false
Since:
2.5

getRawDataType

public static RawDataType getRawDataType(String id)
Get a information about a raw data type.

Parameters:
id - The id of the raw data type
Returns:
A RawDataType object with information about the raw data type, or null if the specified id is not found

getSafeRawDataType

public static RawDataType getSafeRawDataType(String id)
Get a information about a raw data type or throw an exception if the raw data type is not found.

Parameters:
id - The id of the raw data type
Returns:
A RawDataType object with information about the raw data type
Throws:
ItemNotFoundException - If the specified raw data type is not found
Since:
2.6

getPlatformRawDataType

private static RawDataType getPlatformRawDataType(String id)

getVariantRawDataType

private static RawDataType getVariantRawDataType(String id)

loadRawDataTypes

private static void loadRawDataTypes(Document dom,
                                     String xmlFile)
Load the raw data types and put the information in the rawDataTypes map.


loadProperties

private static List<RawDataProperty> loadProperties(Element rawDataTypeElement,
                                                    int channels,
                                                    String xmlFile)
Load the properties for the specified raw data type node and return a list of RawDataProperty objects.


loadIntensityFormulas

private static List<IntensityFormula> loadIntensityFormulas(Element rawDataTypeElement,
                                                            int channels,
                                                            String xmlFile)
Load the intensity formulas for the specified raw data type node and return a list of IntensityFormula objects.


2.9.1: 2008-12-18