Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## timetable.data
Class Resource

    java.lang.Object
      |
      +--timetable.data.Resource

public class Resource
extends java.lang.Object

Reprezentace jednoho zdroje v rozvrhovacím problému.

Field Summary
`protected Config` | `config` Globální konfigurace
`java.lang.String` | `name` Jméno
`java.lang.String` | `note` Poznámka
`protected TimePreference` | `preference` Časové preference zdroje
`static int` | `SHORT_CUT_MAX_LENGTH` Maximální délka zkratky jména
`java.lang.String` | `shortCut` Zkratka jména - pro vizualizaci
`protected Activity[]` | `table` Časová tabulka naalokovaných slotů zdroje aktivitami.
`protected int[]` | `tableIndexes` Indexy časové tabulky, slouží pouze pro čtení a zápis objektu

Constructor Summary
`Resource(Config config)` Konstruktor.
`Resource(Config config, java.lang.String name)` Konstruktor.
`Resource(Config config, java.lang.String shortCut, java.lang.String name, java.lang.String note)` Konstruktor.

Method Summary
`boolean` | `canBeFreeAt(int slot)` Otázka, zda-li může být daný slot použit k plánování.
`boolean` | `canBeFreeAt(int slot, int length)` Otázka, zda-li může být daný slot a sloty následující použity k plánování.
`ActivityGroup` | `getActivitiesAt(int slot, int length)` Vrátí množinu aktivit, které využívají daný zdroj v daných časových slotech.
`Activity` | `getActivityAt(int slot)` Získání aktivity, naalokované v příslušném slotu.
`TimePreference` | `getPreference()` Získání časových preferencí.
`protected void` | `init(ActivityGroup allActivities)` Inicializace zdroje po jeho načtení
`boolean` | `isConsistentFor(Activity activity)` Zjišťuje, zda-li je daná aktivita naplánována konzistentně.
`boolean` | `isFreeAt(int slot)` Otázka na využití zdroje v daný časový slot
`boolean` | `isFreeAt(int slot, int length)` Otázka, zda-li je slot v dané časové sloty volný.
`protected static Resource` | `read(java.io.ObjectInputStream in, Config config)` Načtení zdroje ze streamu.
`protected static Resource` | `read(java.io.ObjectInputStream in, ResourceGroup allResources)` Načtení zdroje ze streamu.
`void` | `setActivityAt(int slot, Activity activity)` Naalokování slotu pro danou aktivitu.
`void` | `setPreference(TimePreference preference)` Nastavení tabulky časových preferencí
`java.lang.String` | `toString()` Vrací zkratku jména zdroje.
`protected void` | `write(java.io.ObjectOutputStream out, ActivityGroup allActivities)` Zápis zdroje do objektového streamu.
`protected void` | `write(java.io.ObjectOutputStream out, ResourceGroup allResources)` Zápis zdroje do objektového streamu.

Methods inherited from class java.lang.Object
`, clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### config

    protected Config config

  Globální konfigurace

### SHORT_CUT_MAX_LENGTH

    public static int SHORT_CUT_MAX_LENGTH

  Maximální délka zkratky jména

### shortCut

    public java.lang.String shortCut

  Zkratka jména - pro vizualizaci

### name

    public java.lang.String name

  Jméno

### note

    public java.lang.String note

  Poznámka

### preference

    protected TimePreference preference

  Časové preference zdroje

### table

    protected Activity[] table

  Časová tabulka naalokovaných slotů zdroje aktivitami. Slouží zejména k jednoduchému zjištění využívání zdroje v daný časový okamžik.

### tableIndexes

    protected int[] tableIndexes

  Indexy časové tabulky, slouží pouze pro čtení a zápis objektu

Constructor Detail

### Resource

    public Resource(Config config)
             throws TimetableException

  Konstruktor.
  Parameters:
    `config` - Globální konfigurace

### Resource

    public Resource(Config config,
                    java.lang.String shortCut,
                    java.lang.String name,
                    java.lang.String note)
             throws TimetableException

  Konstruktor.
  Parameters:
    `config` - Globální konfigurace
    `shortCut` - zkratka jména zdroje
    `name` - jméno zdroje
    `note` - poznámka

### Resource

    public Resource(Config config,
                    java.lang.String name)
             throws TimetableException

  Konstruktor.
  Parameters:
    `config` - Globální konfigurace
    `name` - jméno zdroje

Method Detail

### getPreference

    public TimePreference getPreference()

  Získání časových preferencí.
  Returns:
    tabluka časových preferencí

### setPreference

    public void setPreference(TimePreference preference)

  Nastavení tabulky časových preferencí
  Parameters:
    `preference` - tabulka časových preferencí

### getActivityAt

    public Activity getActivityAt(int slot)

  Získání aktivity, naalokované v příslušném slotu.
  Parameters:
    `slot` - příslušný časový slot
  Returns:
    naalokovaná aktivita, `null` pokud je slot volný

### setActivityAt

    public void setActivityAt(int slot,
                              Activity activity)

  Naalokování slotu pro danou aktivitu.
  Parameters:
    `slot` - příslušný časový slot
    `activity` - aktivta, která bude daný zdroj v daném čase využívat

### isFreeAt

    public boolean isFreeAt(int slot)

  Otázka na využití zdroje v daný časový slot
  Parameters:
    `slot` - daný časový slot
  Returns:
    `true`, pokud je slot volný

### canBeFreeAt

    public boolean canBeFreeAt(int slot)

  Otázka, zda-li může být daný slot použit k plánování. Pro takový slot musí platit:
  - na daném slotu není HARD preference
  - slot je volný nebo aktivita, která v něm leží je přeplánovatelná
  Parameters:
    `slot` - příslušný časový slot
  Returns:
    `true` pokud lze zdroj v daný slot použít

### canBeFreeAt

    public boolean canBeFreeAt(int slot,
                               int length)

  Otázka, zda-li může být daný slot a sloty následující použity k plánování. Pro takové slot musí platit:
  - na daném slotu není HARD preference
  - slot je volný nebo aktivita, která v něm leží je přeplánovatelná
  Parameters:
    `slot` - příslušný časový slot
    `length` - délka aktivity, která chce daný zdroj využívat -> sloty `slot .. slot+length-1` jsou testovány
  Returns:
    `true` pokud lze zdroj v dané sloty použít

### isFreeAt

    public boolean isFreeAt(int slot,
                            int length)

  Otázka, zda-li je slot v dané časové sloty volný.
  Parameters:
    `slot` - příslušný časový slot
    `length` - délka aktivity, která chce daný zdroj využívat -> sloty `slot .. slot+length-1` jsou testovány
  Returns:
    `true` pokud je zdroj v dané časové sloty volný

### isConsistentFor

    public boolean isConsistentFor(Activity activity)

  Zjišťuje, zda-li je daná aktivita naplánována konzistentně. To znamená že všechny sloty, které vyžaduje nesmí mít HARD podmínku a musí být pro danou aktivitu alokovány.
  Parameters:
    `activity` - daná aktivita
  Returns:
    `true`, pokud je aktivta naplánována konzistentně (správně)

### getActivitiesAt

    public ActivityGroup getActivitiesAt(int slot,
                                         int length)

  Vrátí množinu aktivit, které využívají daný zdroj v daných časových slotech.
  Parameters:
    `slot` - první časový slot
    `length` - délka aktivity, tj. jsou procházeny sloty `slot .. slot+length-1`
  Returns:
    seznam aktivit využívajících daný zdroj v dané časové sloty

### write

    protected void write(java.io.ObjectOutputStream out,
                         ActivityGroup allActivities)
                  throws java.io.IOException

  Zápis zdroje do objektového streamu.
  Parameters:
    `out` - stream
    `allActivities` - seznam všech aktivit

### read

    protected static Resource read(java.io.ObjectInputStream in,
                                   Config config)
                            throws java.io.IOException,
                                   java.lang.ClassNotFoundException,
                                   TimetableException

  Načtení zdroje ze streamu.
  Parameters:
    `in` - stream
    `config` - globální konfigurace
  Returns:
    načtený zdroj

### write

    protected void write(java.io.ObjectOutputStream out,
                         ResourceGroup allResources)
                  throws java.io.IOException

  Zápis zdroje do objektového streamu.
  Parameters:
    `out` - stream
    `allResources` - seznam všech zdrojů

### read

    protected static Resource read(java.io.ObjectInputStream in,
                                   ResourceGroup allResources)
                            throws java.io.IOException

  Načtení zdroje ze streamu.
  Parameters:
    `in` - stream
    `allResources` - seznam všech zdrojů
  Returns:
    načtený zdroj

### init

    protected void init(ActivityGroup allActivities)

  Inicializace zdroje po jeho načtení

### toString

    public java.lang.String toString()

  Vrací zkratku jména zdroje.
  Overrides:
    `toString` in class `java.lang.Object`
  Returns:
    zkratka jména zdroje

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD