timetable.data
Class AbstractActivityDependence

java.lang.Object
  |
  +--timetable.data.AbstractActivityDependence
All Implemented Interfaces:
ActivityDependenceInterface
Direct Known Subclasses:
TimeActivityDependence

public abstract class AbstractActivityDependence
extends java.lang.Object
implements ActivityDependenceInterface

Abstraktní třída implementující základní rozhraní, které musí každá závislost mezi aktivitami splňovat.
Abychom mohli vyjádřit například, že jedna aktivita musí být před druhou, je nutné určit pořadí aktivit. Proto má rozhraní dvěmetody pro nastavení aktivity, tj. nastavení první a druhé z nich.


Field Summary
protected  Activity first
          První z aktivit
protected  Activity second
          Druhá z aktivit
protected  int type
          Typ závislosti
 
Constructor Summary
AbstractActivityDependence()
          Konstruktor.
AbstractActivityDependence(Activity first, Activity second)
          Konstruktor.
 
Method Summary
 Activity getAnotherActivity(Activity a)
          Metoda vracející druhou z aktivit.
abstract  java.lang.String getDependenceName()
          Vrátí jméno závislosti - pro vizualizaci.
 Activity getFirstActivity()
          Zjištění první aktivity závislosti
 Activity getSecondActivity()
          Zjištění druhé aktivity závislosti
 int getType()
          Zjištění typu podmínky
abstract  java.lang.String[] getTypes()
          Vrátí pole jmen jednotlivých typů podmínky - pro vizualizaci !
 boolean isOK()
          Zjištění splění závislosti
 boolean isOK(Activity a, int start)
          Zjištění splění závislosti, pokud bude mít jedna z aktivit změněn počáteční čas.
abstract  boolean isOK(int activityStart1, int activityStart2)
          Zjištění splnění podmínky
 boolean participate(Activity a)
          Zjistí, zda-li se nějaká aktivita účastní podmínky.
abstract  ActivityDependenceInterface read(java.io.ObjectInputStream in, ActivityGroup allActivities)
          Načte objekt ze streamu
 void setFirstActivity(Activity a)
          Nastavení první aktivity závislosti.
 void setSecondActivity(Activity b)
          Nastavení druhé aktivity závislosti
 void setType(int i)
          nastavení typu podmínky.
abstract  void write(java.io.ObjectOutputStream out, ActivityGroup allActivites)
          Zapíše objekt do streamu
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

first

protected Activity first
První z aktivit

second

protected Activity second
Druhá z aktivit

type

protected int type
Typ závislosti
Constructor Detail

AbstractActivityDependence

public AbstractActivityDependence()
Konstruktor.

AbstractActivityDependence

public AbstractActivityDependence(Activity first,
                                  Activity second)
Konstruktor.
Parameters:
first - první aktivita
second - druhá aktivita
Method Detail

isOK

public abstract boolean isOK(int activityStart1,
                             int activityStart2)
Zjištění splnění podmínky
Specified by:
isOK in interface ActivityDependenceInterface
Parameters:
activityStart1 - začátek první aktivity
activityStart2 - začátek druhé aktivity
Returns:
true, pokud bude podmínka splěna

getDependenceName

public abstract java.lang.String getDependenceName()
Vrátí jméno závislosti - pro vizualizaci. Např: časová závislots
Specified by:
getDependenceName in interface ActivityDependenceInterface
Returns:
jméno závislosti

getTypes

public abstract java.lang.String[] getTypes()
Vrátí pole jmen jednotlivých typů podmínky - pro vizualizaci !
Specified by:
getTypes in interface ActivityDependenceInterface
Returns:
pole jmen typů

getType

public int getType()
Zjištění typu podmínky
Specified by:
getType in interface ActivityDependenceInterface
Returns:
typ podmínky

isOK

public boolean isOK()
Zjištění splění závislosti
Specified by:
isOK in interface ActivityDependenceInterface
Returns:
true, pokud je závislost splněna

isOK

public boolean isOK(Activity a,
                    int start)
Zjištění splění závislosti, pokud bude mít jedna z aktivit změněn počáteční čas.
Specified by:
isOK in interface ActivityDependenceInterface
Parameters:
a - aktivita (první nebo druhá)
start - začátek aktivity a
Returns:
true, pokud bude podmínka splěna

getFirstActivity

public Activity getFirstActivity()
Zjištění první aktivity závislosti
Specified by:
getFirstActivity in interface ActivityDependenceInterface
Returns:
první aktivita závislosti

getSecondActivity

public Activity getSecondActivity()
Zjištění druhé aktivity závislosti
Specified by:
getSecondActivity in interface ActivityDependenceInterface
Returns:
druhá aktivia závislosti

getAnotherActivity

public Activity getAnotherActivity(Activity a)
Metoda vracející druhou z aktivit.
Specified by:
getAnotherActivity in interface ActivityDependenceInterface
Parameters:
a - jedna z aktivit
Returns:
druhá z aktivit

participate

public boolean participate(Activity a)
Zjistí, zda-li se nějaká aktivita účastní podmínky.
Specified by:
participate in interface ActivityDependenceInterface
Parameters:
a - aktivita
Returns:
true, pokud se aktivita a účastní podmínky

write

public abstract void write(java.io.ObjectOutputStream out,
                           ActivityGroup allActivites)
                    throws java.io.IOException
Zapíše objekt do streamu
Specified by:
write in interface ActivityDependenceInterface
Parameters:
out - stream
allActivities - množina všech aktivit

read

public abstract ActivityDependenceInterface read(java.io.ObjectInputStream in,
                                                 ActivityGroup allActivities)
                                          throws java.io.IOException,
                                                 java.lang.ClassNotFoundException
Načte objekt ze streamu
Specified by:
read in interface ActivityDependenceInterface
Parameters:
in - stream
allActivities - množina všech aktivit
Returns:
načtený objekt

setFirstActivity

public void setFirstActivity(Activity a)
Nastavení první aktivity závislosti.
Specified by:
setFirstActivity in interface ActivityDependenceInterface
Parameters:
a - aktivita

setSecondActivity

public void setSecondActivity(Activity b)
Nastavení druhé aktivity závislosti
Specified by:
setSecondActivity in interface ActivityDependenceInterface
Parameters:
b - aktivita

setType

public void setType(int i)
nastavení typu podmínky. Tímto lze umožnit implementaci více podmínek jednou třídou.
Specified by:
setType in interface ActivityDependenceInterface
Parameters:
i - typ podmínky