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 ActivityResources

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

All Implemented Interfaces:
  java.io.Serializable

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

Reprezentace množiny skupin zdrojů. Třída umožňuje i ukládání jednotlivých zdrojů - což je ekvivalentní skupinám zdrojů o jednom prvku.
Jde tedy o jakési pole proměnné délky, kde prvkem může být budto samotný zdroj nebo skupina zdrojů.

See Also:
  Serialized Form

Constructor Summary
`ActivityResources()` Konstruktor.

Method Summary
`void` | `add(Resource resource)` Konstruktor.
`void` | `add(ResourceGroup resources)` Konstruktor.
`boolean` | `canAllBeFreeAt(int slot, int length)` Zjistí, zda-li může být daná množina požadovaných zdrojů použita pro plánování v daný čas.
`java.lang.Object` | `clone()` Vytvoří jinou instanci této množiny
`int` | `contains(Resource resource)` Vrátí index prvku (zdroje či skupiny zdrojů) který obsahuje daný zdroj.
`int` | `countAllFreeAt(int slot, int length)` Spočte počet možných umístění aktivity v daný čas bez konfliktu.
`Resource` | `getResource(int i)` Vrátí zdroj na dané pozici.
`ResourceGroup` | `getResources(int i)` Vrátí skupinu zdrojů na dané pozici
`int` | `indexOf(java.lang.Object o)` Zjistí umístění zdroje či skupiny zdrojů v množině
`boolean` | `isAllFreeAt(int slot, int length)` Zjistí, zda-li je daná množina požadovaných zdrojů volná v daný čas. (v případě disjunktivních skupin stačí aby byl volný pouze jeden zdroj skupiny)
`boolean` | `isGroup(int i)` Zjistí, zda-li je i-tý prvek skupina nebo samostatný zdroj
`static ActivityResources` | `read(java.io.ObjectInputStream in, ResourceGroup allResources)` Načtení množiny ze streamu
`void` | `remove(int i)` Odstranění zdroje či skupiny zdrojů.
`void` | `remove(java.lang.Object o)` Odstranění zdroje či skupiny zdrojů
`void` | `removeAll()` Odstranění všech prvků množiny.
`void` | `setAt(int pos, java.lang.Object o)` Nastaví zdroj či skupinu zdrojů na daném místě.
`int` | `size()` Vrátí počet prvků v množině.
`java.lang.String` | `toString()`
`void` | `write(java.io.ObjectOutputStream out, ResourceGroup allResources)` Zápis množiny na stream

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

Constructor Detail

### ActivityResources

    public ActivityResources()

  Konstruktor.

Method Detail

### add

    public void add(Resource resource)

  Konstruktor.
  Parameters:
    `resource` - zdroj, který bude do množiny přidán.

### add

    public void add(ResourceGroup resources)

  Konstruktor.
  Parameters:
    `resources` - skupina zdrojů, která bude do množiny přidána.

### setAt

    public void setAt(int pos,
                      java.lang.Object o)

  Nastaví zdroj či skupinu zdrojů na daném místě.
  Parameters:
    `pos` - index pozice
    `o` - zdroj nebo skupina zdrojů, která bude uložena na dané pozici

### remove

    public void remove(int i)

  Odstranění zdroje či skupiny zdrojů.
  Parameters:
    `i` - index zdroje či skupiny zdrojů, který(á) má být odstraněn(a)

### remove

    public void remove(java.lang.Object o)

  Odstranění zdroje či skupiny zdrojů
  Parameters:
    `o` - zdoj či skupina zdrojů, který(á) má být odstraněn(a)

### removeAll

    public void removeAll()

  Odstranění všech prvků množiny.

### size

    public int size()

  Vrátí počet prvků v množině. Tedy počet zdrojů či skupin zdrojů ve skupině.
  Returns:
    počet prvků

### isGroup

    public boolean isGroup(int i)

  Zjistí, zda-li je i-tý prvek skupina nebo samostatný zdroj
  Returns:
    true, pokud jde o skupinu

### indexOf

    public int indexOf(java.lang.Object o)

  Zjistí umístění zdroje či skupiny zdrojů v množině
  Parameters:
    `o` - hledaný zdroj či skupina zdrojů
  Returns:
    příslušný index, -1 pokud takový prvek ve množině není

### contains

    public int contains(Resource resource)

  Vrátí index prvku (zdroje či skupiny zdrojů) který obsahuje daný zdroj.
  Parameters:
    `resource` - hledaný zdroj
  Returns:
    index zdroje či skupiny zdrojů, který je (nebo která obsahuje) příslušný zdroj

### getResource

    public Resource getResource(int i)

  Vrátí zdroj na dané pozici.
  Parameters:
    `i` - index ve množině
  Returns:
    příslušný zdroj (Pokud je na dané pozici skupina zdrojů, návratová hodnota bude null)

### getResources

    public ResourceGroup getResources(int i)

  Vrátí skupinu zdrojů na dané pozici
  Parameters:
    `i` - index ve množině
  Returns:
    příslušná skupina zdrojů (Pokud je na dané pozici samostaný zdroj, návratová hodnota bude null)

### canAllBeFreeAt

    public boolean canAllBeFreeAt(int slot,
                                  int length)

  Zjistí, zda-li může být daná množina požadovaných zdrojů použita pro plánování v daný čas. To znamená, že musejí být použitelné všechny zdroje v množině, pokud jde o skupinu záleží navíc na tom, zda-li je konjunktivní. Pokud je skupina konjunktivní, musejí být použitelné všechny zdroje, pokud je disjunktivní, musí jít použít alespoň jeden zdroj.
  Použitelnost znamená, že daná zdroj může být uvolněn pro plánování a žádná HARD podmínka nebude porušena.
  Parameters:
    `slot` - první slot časového úseku
  Returns:
    true, pokud ano (aktivita lze tedy naplánovat na dané místo)

### isAllFreeAt

    public boolean isAllFreeAt(int slot,
                               int length)

  Zjistí, zda-li je daná množina požadovaných zdrojů volná v daný čas. (v případě disjunktivních skupin stačí aby byl volný pouze jeden zdroj skupiny)
  Parameters:
    `slot` - první slot časového úseku
  Returns:
    true, pokud ano (aktivita lze tedy naplánovat na dané místo bez konfliktu)

### countAllFreeAt

    public int countAllFreeAt(int slot,
                              int length)

  Spočte počet možných umístění aktivity v daný čas bez konfliktu.
  Parameters:
    `slot` - první slot časového úseku
  Returns:
    0, pokud aktivita nemůže být naplánována. Jinak jde o součin volných zdrojů disjunktních skupin v daný čas)

### write

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

  Zápis množiny na stream
  Parameters:
    `out` - stream
    `allResources` - množina všech zdrojů

### read

    public static ActivityResources read(java.io.ObjectInputStream in,
                                         ResourceGroup allResources)
                                  throws java.io.IOException,
                                         java.lang.ClassNotFoundException

  Načtení množiny ze streamu
  Parameters:
    `in` - stream
    `allResources` - množina všech zdrojů
  Returns:
    načtená množina

### clone

    public java.lang.Object clone()

  Vytvoří jinou instanci této množiny
  Overrides:
    `clone` in class `java.lang.Object`
  Returns:
    jiná instance stejné množiny

### toString

    public java.lang.String toString()

  Overrides:
    `toString` in class `java.lang.Object`

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