timetable.util
Class Config

java.lang.Object
  |
  +--timetable.util.Config
All Implemented Interfaces:
java.io.Serializable

public class Config
extends java.lang.Object
implements java.io.Serializable

Třída spravující konfiguraci rozvrhovače. Při vytváření nového rozvrhu je tato konfigurace přečtena z konfiguračního souboru. Jde o tabulku klíč = hodnota.

See Also:
Serialized Form

Field Summary
 java.util.Hashtable configuration
          zde je uložena konfigurace v paměti
static java.lang.String[] DAY_OF_WEEK
          Zkratky jmen dnů v týdnu
protected  java.lang.String file
          konfigurační soubor
protected  java.io.FileOutputStream fos
          zápis debug souboru
static java.lang.String LOG_FILE
          debug soubor (logování informací v průběhu řešení) - default
static java.lang.String NR_DAYS
          počet dnů - klíč v konfiguračním souboru
static java.lang.String NR_SLOTS
          počet slotů - klíč v konfiguračním souboru
static java.lang.String NR_TRIES
          maximální počet iterací - klíč v konfiguračním souboru
protected  java.io.OutputStreamWriter osw
          zápis debug souboru
 
Constructor Summary
Config()
          Konstruktor.
Config(java.lang.String file)
          Konstruktor.
 
Method Summary
 void closeLog()
          Zavře debug výstup
 java.lang.String dayOfWeek(int slot)
          Vrátí den v týdnu pro daný slot
 boolean existKey(java.lang.String key)
          Existuje v konfiguraci klíč ?
 java.lang.String get(java.lang.String key)
          Vrátí hodnotu daného klíče (pokud daný klíč v konfiguraci neexistuje, nastane vyjímka TimetableException)
 int[] getGlobalPref()
          Získání globálních preferencí
 int getInt(java.lang.String key)
          Vrátí hodnotu daného klíče (pokud daný klíč v konfiguraci neexistuje, nastane vyjímka TimetableException)
 java.io.OutputStreamWriter getLogWriter()
          Získání zapisovače do debug souboru
 void log(java.lang.String s)
          Zápis logovací hlášky do debug souboru.
 void save()
          Uložení konfiguračního souboru
 void set(java.lang.String key, int val)
          Nastaví daný klíč na zvolenou hodnotu
 void set(java.lang.String key, java.lang.String val)
          Nastaví daný klíč na zvolenou hodnotu
 java.lang.String toString()
          Vrátí konfiguraci jako řetězec - každý řádek je klíč=hodnota.
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

NR_SLOTS

public static java.lang.String NR_SLOTS
počet slotů - klíč v konfiguračním souboru

NR_DAYS

public static java.lang.String NR_DAYS
počet dnů - klíč v konfiguračním souboru

NR_TRIES

public static java.lang.String NR_TRIES
maximální počet iterací - klíč v konfiguračním souboru

DAY_OF_WEEK

public static java.lang.String[] DAY_OF_WEEK
Zkratky jmen dnů v týdnu

configuration

public java.util.Hashtable configuration
zde je uložena konfigurace v paměti

LOG_FILE

public static java.lang.String LOG_FILE
debug soubor (logování informací v průběhu řešení) - default

osw

protected java.io.OutputStreamWriter osw
zápis debug souboru

fos

protected java.io.FileOutputStream fos
zápis debug souboru

file

protected java.lang.String file
konfigurační soubor
Constructor Detail

Config

public Config()
       throws TimetableException
Konstruktor. Konfigurační soubor bude "konfig.cfg"

Config

public Config(java.lang.String file)
       throws TimetableException
Konstruktor.
Parameters:
konfigurační - soubor
Method Detail

save

public void save()
          throws TimetableException
Uložení konfiguračního souboru

getLogWriter

public java.io.OutputStreamWriter getLogWriter()
Získání zapisovače do debug souboru

getGlobalPref

public int[] getGlobalPref()
Získání globálních preferencí

log

public void log(java.lang.String s)
         throws TimetableException
Zápis logovací hlášky do debug souboru. Zápis se provede pouze pokud je logování povoleno (v konfiguraci je DEBUG=1).
Parameters:
s - hláška

closeLog

public void closeLog()
              throws TimetableException
Zavře debug výstup

get

public java.lang.String get(java.lang.String key)
                     throws TimetableException
Vrátí hodnotu daného klíče (pokud daný klíč v konfiguraci neexistuje, nastane vyjímka TimetableException)
Parameters:
key - klíč
Returns:
hodnota jako řetězec

existKey

public boolean existKey(java.lang.String key)
                 throws TimetableException
Existuje v konfiguraci klíč ?
Returns:
true, pokud ano

getInt

public int getInt(java.lang.String key)
           throws TimetableException
Vrátí hodnotu daného klíče (pokud daný klíč v konfiguraci neexistuje, nastane vyjímka TimetableException)
Parameters:
key - klíč
Returns:
hodnota jako int

set

public void set(java.lang.String key,
                int val)
         throws TimetableException
Nastaví daný klíč na zvolenou hodnotu
Parameters:
key - klíč
val - hodnota

set

public void set(java.lang.String key,
                java.lang.String val)
         throws TimetableException
Nastaví daný klíč na zvolenou hodnotu
Parameters:
key - klíč
val - hodnota

toString

public java.lang.String toString()
Vrátí konfiguraci jako řetězec - každý řádek je klíč=hodnota.
Overrides:
toString in class java.lang.Object
Returns:
řetězec

dayOfWeek

public java.lang.String dayOfWeek(int slot)
                           throws TimetableException
Vrátí den v týdnu pro daný slot
Returns:
zkratka dnu