net.sf.cpsolver.ifs.util
Class ToolBox

java.lang.Object
  extended by net.sf.cpsolver.ifs.util.ToolBox

public class ToolBox
extends Object

Several auxiliary static methods.

Version:
IFS 1.1 (Iterative Forward Search)
Copyright (C) 2006 Tomáš Müller
muller@unitime.org
Lazenska 391, 76314 Zlin, Czech Republic

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

Constructor Summary
ToolBox()
           
 
Method Summary
static String col2string(Collection col, int tab)
          Multiline representation of a colection
static void configureLogging()
          Configurates log4j loging
static String configureLogging(String logDir, Properties properties)
          Configurates log4j loging
static String configureLogging(String logDir, Properties properties, boolean timeInFileName)
           
static String configureLogging(String logDir, Properties properties, boolean timeInFileName, boolean includeSystemOuts)
          Configurates log4j loging
static String dict2string(Dictionary dict, int tab)
          Multiline representation of a dictionary
static boolean equals(Object o1, Object o2)
           
static Random getRandom()
          Gets random number generator
static long getSeed()
          Gets current seed
static Vector intersect(Collection source1, Collection source2)
          Returns intersection of two collections
static DataProperties loadProperties(File propertyFile)
          Loads data properties.
static void merge(Vector target, Collection source)
          Merge source with target
static double random()
          Generates random double number
static Object random(Collection set)
          Returns random element from the given set of elements
static int random(int limit)
          Returns random number (int) from the set 0 .. limit - 1
static double rms(int n, double x, double x2)
          Root mean square
static void setSeed(long seed)
          Sets seeds for getRandom() and random() methods.
static Enumeration sortEnumeration(Enumeration e)
          Sort enumeration
static Enumeration sortEnumeration(Enumeration e, Comparator c)
          Sort enumeration
static Collection subSet(Collection set, double part)
          Returns a randomly generated subset of the given set
static Collection subSet(Collection set, double part, int minSize)
          Returns a randomly generated subset of the given set
static String trim(String s, int length)
          Trim a string to have given length
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ToolBox

public ToolBox()
Method Detail

random

public static int random(int limit)
Returns random number (int) from the set 0 .. limit - 1


random

public static Object random(Collection set)
Returns random element from the given set of elements


subSet

public static Collection subSet(Collection set,
                                double part)
Returns a randomly generated subset of the given set

Parameters:
set - set
part - probability of selection of an element into the resultant subset

subSet

public static Collection subSet(Collection set,
                                double part,
                                int minSize)
Returns a randomly generated subset of the given set

Parameters:
set - set
part - probability of selection of an element into the resultant subset
minSize - minimal size of the returned subset

trim

public static String trim(String s,
                          int length)
Trim a string to have given length


col2string

public static String col2string(Collection col,
                                int tab)
Multiline representation of a colection


dict2string

public static String dict2string(Dictionary dict,
                                 int tab)
Multiline representation of a dictionary


rms

public static double rms(int n,
                         double x,
                         double x2)
Root mean square

Parameters:
n - number of tests
x - total value of all tests
x2 - total value^2 of all tests

sortEnumeration

public static Enumeration sortEnumeration(Enumeration e)
Sort enumeration

Parameters:
e - an enumeration
Returns:
sorted enumeration

sortEnumeration

public static Enumeration sortEnumeration(Enumeration e,
                                          Comparator c)
Sort enumeration

Parameters:
e - an enumeration
c - comparator of two objects in enumeration e
Returns:
sorted enumeration

merge

public static void merge(Vector target,
                         Collection source)
Merge source with target


intersect

public static Vector intersect(Collection source1,
                               Collection source2)
Returns intersection of two collections


setSeed

public static void setSeed(long seed)
Sets seeds for getRandom() and random() methods.


getSeed

public static long getSeed()
Gets current seed


getRandom

public static Random getRandom()
Gets random number generator


random

public static double random()
Generates random double number


configureLogging

public static void configureLogging()
Configurates log4j loging


configureLogging

public static String configureLogging(String logDir,
                                      Properties properties)
Configurates log4j loging

Parameters:
logDir - output folder
properties - some other log4j properties

configureLogging

public static String configureLogging(String logDir,
                                      Properties properties,
                                      boolean timeInFileName)

configureLogging

public static String configureLogging(String logDir,
                                      Properties properties,
                                      boolean timeInFileName,
                                      boolean includeSystemOuts)
Configurates log4j loging

Parameters:
logDir - output folder
properties - some other log4j properties
timeInFileName - if true log file is named debug_yyyy-MM-dd_(HH.mm.ss).log, it is named debug.log otherwise

loadProperties

public static DataProperties loadProperties(File propertyFile)
Loads data properties. If there is INCLUDE property available, it is interpreted as semi-colon separated list of porperty files which should be also loaded (works recursively).


equals

public static boolean equals(Object o1,
                             Object o2)