|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--timetable.data.Activity
Reprezentece jedné aktivity v rozvrhovacím problému.
Má také metody pro přidání a odebrání aktivity z rozvrhu, kontrolu splnění závislostí, zjišťování počtu a seznamu možných umístění v rozvrhu či výpočet počtu kolidujících aktivit při zvolení daného umístění.
Field Summary | |
ActivityResources |
bestSelectedResources
Nejlepší nalezený rozvrh: požadované zdroje |
int |
bestStart
Nejlepší nalezený rozvrh: začátek aktivity |
boolean |
canReschedule
Lze již naplánovanou aktivitu přeplánovat ? |
protected Config |
config
Globální konfigurace rozvrhovače. |
Activity |
lastRemovedBy
Pro plánování, eviduje která aktivita tuto aktivitu naposledy vyhodila z rozvrhu. |
ActivityResources |
lastSelectedResources
Vstupní rozvrh: požadované zdroje |
int |
lastStart
Vstupní rozvrh: začátek aktivity |
int |
length
Délka trvání aktivity. |
java.lang.String |
name
Jméno aktivity. |
java.lang.String |
note
Poznámka. |
int |
nrRemoves
Kolikrát byla aktivita při plánování vyhozena z rozvrhu. |
protected TimePreference |
preference
Časové preference aktivity - soft a hard podmínky na jednotlivé časové sloty. |
ActivityResources |
resources
Zdroje, které aktivita může využívat. |
ActivityResources |
selectedResources
Zdroje, které aktivita využívá, je-li naplánovaná. |
static int |
SHORT_CUT_MAX_LENGTH
Maximální délka zkratky jména. |
java.lang.String |
shortCut
Několika písmená zkratka jména aktivity, pro zobrazení. |
int |
start
Naplánovaný začátek aktivity. |
Constructor Summary | |
Activity(Config config)
Konstruktor. |
|
Activity(Config config,
java.lang.String name,
int length)
Konstruktor. |
|
Activity(Config config,
java.lang.String shortCut,
java.lang.String name,
java.lang.String note,
int length)
Konstruktor. |
Method Summary | |
boolean |
canScheduleAt(int slot,
ActivityDependenceGroup dependences)
Zjišťuje, zda-li lze aktivitu naplánovat od daného časového slotu. |
boolean |
canScheduleWithoutCollisionAt(int slot,
ActivityDependenceGroup dependences)
Zjišťuje, zda-li lze aktivitu naplánovat do daného časového slotu bez kolize. |
int |
countSchedule(ActivityDependenceGroup dependences)
Zjišťuje počet časových slotů, kam lze aktivita naplánovat (i když spůsobí kolizi). |
int |
countScheduleWithoutCollision(ActivityDependenceGroup dependences)
Zjišťuje, počet míst, kam lze aktivita bez kolize naplánovat. |
int |
countScheduleWithoutCollisionAt(int slot,
ActivityDependenceGroup dependences)
Zjišťuje, počet míst, kam lze aktivita v daném čase naplánovat bez kolize. |
TimePreference |
getPreference()
Vrátí tabulku časových preferencí |
boolean |
isConsistent(ActivityDependenceGroup dependences)
Zjišťuje konzistenci naplánování aktivity. |
boolean |
isScheduled()
Zjišťuje, zda-li je aktivita již naplánovaná. |
protected static Activity |
read(java.io.ObjectInputStream in,
Config config,
ResourceGroup allResources)
Načtení aktivity z streamu objektů. |
void |
remove(Activity removedBy)
Odebrání aktivity z rozvrhu. |
void |
reset()
Inicializace pomocných proměnných před dalším plánováním. |
void |
setPreference(TimePreference preference)
Nastaví tabulku časových preferencí |
void |
schedule(int slot,
ActivityResources selectedResorces)
Naplánování aktivity. |
protected void |
write(java.io.ObjectOutputStream out,
ResourceGroup allResources)
Zápis aktivity do objektového streamu. |
Methods inherited from class java.lang.Object |
|
Field Detail |
public static int SHORT_CUT_MAX_LENGTH
protected Config config
public java.lang.String shortCut
public java.lang.String name
public int length
public java.lang.String note
protected TimePreference preference
public ActivityResources resources
public int start
public ActivityResources selectedResources
public int lastStart
public ActivityResources lastSelectedResources
public int bestStart
public ActivityResources bestSelectedResources
public Activity lastRemovedBy
public boolean canReschedule
public int nrRemoves
Constructor Detail |
public Activity(Config config, java.lang.String shortCut, java.lang.String name, java.lang.String note, int length) throws TimetableException
config
- konfiguraceshortCut
- unikátní zkrácené jmnéno aktivity - pro vizualizaci rozvrhuname
- jméno aktivitynote
- poznámkalength
- délka trvání aktivitypublic Activity(Config config, java.lang.String name, int length) throws TimetableException
config
- konfiguracename
- jméno aktivitylength
- délka trvání aktivitypublic Activity(Config config) throws TimetableException
config
- konfiguraceMethod Detail |
public void reset()
public boolean isScheduled()
true
pokud je aktivita naplánovanápublic TimePreference getPreference()
public void setPreference(TimePreference preference)
preference
- tabulka časových preferencípublic void remove(Activity removedBy)
removedBy
- aktivita, kvůli které se tato aktivita odebírápublic void schedule(int slot, ActivityResources selectedResorces)
slot
- nový začátek aktivity - časový slotselectedResources
- vybrané zdrojepublic boolean isConsistent(ActivityDependenceGroup dependences) throws TimetableException
dependencies
- časové závislosti mezi aktivitami, null pokud nemají být kontroloványtrue
pokud je vše v pořádkupublic boolean canScheduleAt(int slot, ActivityDependenceGroup dependences) throws TimetableException
slot
- začátek aktivity, pro který je údaj zjišťovándependencies
- časové závislosti mezi aktivitami, null pokud nemají být uvažoványtrue
pokud lze aktivita v daném čase naplánovat.public boolean canScheduleWithoutCollisionAt(int slot, ActivityDependenceGroup dependences) throws TimetableException
slot
- začátek aktivity, pro který je údaj zjišťovándependencies
- časové závislosti mezi aktivitami, null pokud nemají být uvažoványtrue
pokud lze aktivita v daném čase naplánovat bez kolize s jinou aktivitou.public int countScheduleWithoutCollisionAt(int slot, ActivityDependenceGroup dependences) throws TimetableException
slot
- začátek aktivity, pro který je údaj zjišťovándependencies
- časové závislosti mezi aktivitami, null pokud nemají být uvažoványpublic int countScheduleWithoutCollision(ActivityDependenceGroup dependences) throws TimetableException
dependencies
- časové závislosti mezi aktivitami, null pokud nemají být uvažoványpublic int countSchedule(ActivityDependenceGroup dependences) throws TimetableException
dependencies
- časové závislosti mezi aktivitami, null pokud nemají být uvažoványprotected void write(java.io.ObjectOutputStream out, ResourceGroup allResources) throws java.io.IOException
out
- streamalResources
- množina všech zdrojůprotected static Activity read(java.io.ObjectInputStream in, Config config, ResourceGroup allResources) throws java.io.IOException, java.lang.ClassNotFoundException, TimetableException
in
- streamconfig
- globální konfiguraceallResources
- množina všech zdrojů
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |