de.unihalle.informatik.Alida.helpers
Class ALDParser

java.lang.Object
  extended by de.unihalle.informatik.Alida.helpers.ALDParser

public class ALDParser
extends java.lang.Object

Helper class for parsing/formatting objects for data I/O in Alida.

This class supplies convenience methods to parse and format objects according to Alida's DataIO conventions.

Author:
posch

Field Summary
static java.util.HashMap<java.lang.Character,java.lang.Character> brackets
          Hashmap to hold pairs of opening and closing brackets.
 
Constructor Summary
ALDParser()
           
 
Method Summary
static java.lang.String arrayToString(java.lang.Object obj)
          Formats an array according to Alida data I/O conventions.
static java.lang.String parseBracket(java.lang.String str)
          Parses a string for a matching bracket.
static java.lang.String parseBracket(java.lang.String str, char closeBracket)
          Parses a string for a matching bracket.
static java.util.HashMap<java.lang.String,java.lang.String> parseNameValuePairs(java.lang.String str)
          Parses a comma separated list of 'name=value' pairs into a hash map.
static java.lang.Object readArray1D(java.lang.Class<?> cl, java.lang.String valueString)
          Parses a string into a 1D-array.
static java.lang.Object readArray2D(java.lang.Class<?> cl, java.lang.String valueString)
          Parses a string into a 2D-array.
static java.util.LinkedList<java.lang.String> split(java.lang.String str, char sepChar)
          Split a string at each occurance of sepChar.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

brackets

public static java.util.HashMap<java.lang.Character,java.lang.Character> brackets
Hashmap to hold pairs of opening and closing brackets.

Constructor Detail

ALDParser

public ALDParser()
Method Detail

parseBracket

public static java.lang.String parseBracket(java.lang.String str)
Parses a string for a matching bracket.

The first character of this string is interpreted as opening backet, the closing bracket is assumed to coincide with the internal definition in brackets. Upon return the outmost matching pair of brackets is removed from str.

Parameters:
str - String to parse
Returns:
String enclosed by outmost pair of matching brackets.

parseBracket

public static java.lang.String parseBracket(java.lang.String str,
                                            char closeBracket)
Parses a string for a matching bracket.

The first character of this string is interpreted as opening backet, the character closeBracket as closing bracket.

Parameters:
str - String to parse.
closeBracket - Closing bracket character.
Returns:
String enclosed by most outer pair of matching brackets.

parseNameValuePairs

public static java.util.HashMap<java.lang.String,java.lang.String> parseNameValuePairs(java.lang.String str)
                                                                                throws ALDDataIOProviderException
Parses a comma separated list of 'name=value' pairs into a hash map.

The names found are used as keys in the hash map, while the values are put into the map as corresponding values.

Parameters:
str - String to parse.
Returns:
Hash map with name and value pairs.
Throws:
ALDDataIOProviderException

split

public static java.util.LinkedList<java.lang.String> split(java.lang.String str,
                                                           char sepChar)
Split a string at each occurance of sepChar.

Note that occurances of sepChar enclosed in brackets are not considered as separators.

Parameters:
str - String to split.
sepChar - Separating character.
Returns:
Linked list containing the separated parts of str.

arrayToString

public static java.lang.String arrayToString(java.lang.Object obj)
Formats an array according to Alida data I/O conventions.

Parameters:
obj - Array to be formatted.
Returns:
Object formatted as string

readArray1D

public static java.lang.Object readArray1D(java.lang.Class<?> cl,
                                           java.lang.String valueString)
                                    throws ALDDataIOProviderException
Parses a string into a 1D-array.

The type of the returned array depends on the specified class. Only primitive and data wrapper types as well as strings are support at the moment. The valueString is assume to contain a comma separated list of nested valueString for each element of the array enclosed in matching square brackets, e.g. [1.2 , 2.2 , 3.1].

Parameters:
cl - Desired type of array.
valueString - String to parse.
Returns:
Array of specified type filled with elements from string.
Throws:
ALDDataIOProviderException

readArray2D

public static java.lang.Object readArray2D(java.lang.Class<?> cl,
                                           java.lang.String valueString)
                                    throws ALDDataIOProviderException
Parses a string into a 2D-array.

Parameters:
cl - Desired type of array.
valueString - Input string to parse.
Returns:
Array of specified type filled with elements from string.
Throws:
ALDDataIOProviderException


Copyright © 2010-2014 Martin Luther University Halle-Wittenberg. All Rights Reserved.