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 ResourceGroup

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

public class ResourceGroup
extends java.lang.Object

Reprezantace skupiny zdrojů v rozvrhovacím problému.

Field Summary
`boolean` | `conjunctive` Příznak konjunktivní či disjunktivní skupiny zdrojů
`boolean` | `changed` Příznak změny
`java.lang.String` | `name` Jméno
`java.lang.String` | `note` Poznámka
`protected java.util.Vector` | `resources` Reprezentace zdrojů pomocí třídy java.util.Vector
`java.lang.String` | `shortCut` Zkratka jména skupiny zdrojů

Constructor Summary
`ResourceGroup()` Konstruktor.
`ResourceGroup(Resource resource)` Konstruktor.
`ResourceGroup(Resource[] resource)` Konstruktor.
`ResourceGroup(java.lang.String name)` Konstruktor.

Method Summary
`void` | `add(Resource resource)` Přidání zdroje do skupiny
`boolean` | `canAllBeFreeAt(int slot, int length)` Otázka, zda-li může být všechny zdroje ve skupině v požadovaný čas volné.
`boolean` | `canOneBeFreeAt(int slot, int length)` Otázka, zda-li může být jeden ze zdrojů ve skupině v požadovaný čas volný.
`java.lang.Object` | `clone()` Vrátí jinou instanci této skupiny.
`int` | `countFreeAt(int slot, int length)` Spočte počet volných zdrojů v daný čas ve skupině.
`boolean` | `equals(java.lang.Object o)` Porovná na rovnost dvě skupiny
`Resource` | `get(int i)` Vrátí zdroj s požadovaným indexem.
`ResourceGroup` | `getFreeAt(int slot, int length)` Vrátí skupinu volných zdrojů v daný čas
`java.lang.String` | `getName()` Získání jména skupiny
`boolean` | `haveSameContent(ResourceGroup r)` Zjistí, zda-li dvě skupiny obsahují stejné zdroje.
`int` | `indexOf(Resource resource)` Vrátí index požadovaného zdroje.
`protected void` | `init(ActivityGroup allActivities)` Inicializace skupiny po načtení
`boolean` | `isAllFreeAt(int slot, int length)` Otázka, zda-li jsou všechny zdroje ve skupině v požadovaný čas volné.
`boolean` | `isChanged()` Dotaz na změnu skupiny
`boolean` | `isInGroup(Resource resource)` Dotaz na přítomnost zdroje ve skupině
`boolean` | `isOneFreeAt(int slot, int length)` Otázka, zda-li je jeden ze zdrojů ve skupině v požadovaný čas volný.
`protected static ResourceGroup` | `read(java.io.ObjectInputStream in, Config config)` Načtení skupiny ze streamu
`protected static ResourceGroup` | `read(java.io.ObjectInputStream in, ResourceGroup allResources)` Načtení skupiny ze streamu
`void` | `remove(Resource resource)` Odebrání zdroje ze skupiny
`void` | `removeAll()` Odebrání všech zdrojů ze skupiny
`void` | `set(int i, Resource resource)` Nastavení zdroje s indexem
`void` | `setName(java.lang.String name)` Nastavení jména.
`int` | `size()` Vrátí počet zdrojů ve skupině
`java.lang.String` | `toString()` Vrátí zkratky zdrojů ve skupině jako řetězec.
`protected void` | `write(java.io.ObjectOutputStream out, ActivityGroup allActivities)` Zápis skupiny do streamu.
`protected void` | `write(java.io.ObjectOutputStream out, ResourceGroup allResources)` Zápis skupiny do streamu.

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

Field Detail

### resources

    protected java.util.Vector resources

  Reprezentace zdrojů pomocí třídy java.util.Vector

### shortCut

    public java.lang.String shortCut

  Zkratka jména skupiny zdrojů

### note

    public java.lang.String note

  Poznámka

### name

    public java.lang.String name

  Jméno

### changed

    public boolean changed

  Příznak změny

### conjunctive

    public boolean conjunctive

  Příznak konjunktivní či disjunktivní skupiny zdrojů

Constructor Detail

### ResourceGroup

    public ResourceGroup()

  Konstruktor.

### ResourceGroup

    public ResourceGroup(java.lang.String name)

  Konstruktor.
  Parameters:
    `name` - jméno skupiny

### ResourceGroup

    public ResourceGroup(Resource resource)

  Konstruktor.
  Parameters:
    `resource` - Zdroj resource bude přidán do skupiny po jejím vytvoření.

### ResourceGroup

    public ResourceGroup(Resource[] resource)

  Konstruktor.
  Parameters:
    `resource` - skupina zdrojů bude přidána do skupiny po jejím vytvoření.

Method Detail

### setName

    public void setName(java.lang.String name)

  Nastavení jména.
  Parameters:
    `name` - jméno

### getName

    public java.lang.String getName()

  Získání jména skupiny
  Returns:
    jméno skupiny

### add

    public void add(Resource resource)

  Přidání zdroje do skupiny
  Parameters:
    `zdroj` -

### remove

    public void remove(Resource resource)

  Odebrání zdroje ze skupiny
  Parameters:
    `zdroj` -

### isChanged

    public boolean isChanged()

  Dotaz na změnu skupiny
  Returns:
    true, pokud byla změna

### isInGroup

    public boolean isInGroup(Resource resource)

  Dotaz na přítomnost zdroje ve skupině
  Parameters:
    `resource` - zdroj
  Returns:
    true, pokud je zdroj ve skupině

### removeAll

    public void removeAll()

  Odebrání všech zdrojů ze skupiny

### size

    public int size()

  Vrátí počet zdrojů ve skupině
  Returns:
    počet zdrojů ve skupině

### get

    public Resource get(int i)

  Vrátí zdroj s požadovaným indexem. Tento index je číslován od 0.
  Parameters:
    `i` - index zdroje ve skupině
  Returns:
    zdroj s indexem i

### set

    public void set(int i,
                    Resource resource)

  Nastavení zdroje s indexem
  Parameters:
    `i` - index zdroje ve skupině
    `resource` - zdroj, který bude na toto místu umístěn

### indexOf

    public int indexOf(Resource resource)

  Vrátí index požadovaného zdroje.
  Parameters:
    `resource` - zdroj
  Returns:
    index zdroje ve skupině, -1 pokud tam není

### isOneFreeAt

    public boolean isOneFreeAt(int slot,
                               int length)

  Otázka, zda-li je jeden ze zdrojů ve skupině v požadovaný čas volný.
  Parameters:
    `slot` - požadovaný časový slot
    `length` - délka aktivity, pro kterou se daná operace zjišťuje -> jsou procházeny sloty `slot .. slot+lengt-1`
  Returns:
    true, pokud takový zdroj ve skupině je

### isAllFreeAt

    public boolean isAllFreeAt(int slot,
                               int length)

  Otázka, zda-li jsou všechny zdroje ve skupině v požadovaný čas volné.
  Parameters:
    `slot` - požadovaný časový slot
    `length` - délka aktivity, pro kterou se daná operace zjišťuje -> jsou procházeny sloty `slot .. slot+lengt-1`
  Returns:
    true, pokud jsou volné

### canOneBeFreeAt

    public boolean canOneBeFreeAt(int slot,
                                  int length)

  Otázka, zda-li může být jeden ze zdrojů ve skupině v požadovaný čas volný. To znamená, že dané sloty nemají HARD podmínku a případní aktivity v nich umístěné jdou odebrat.
  Parameters:
    `slot` - požadovaný časový slot
    `length` - délka aktivity, pro kterou se daná operace zjišťuje -> jsou procházeny sloty `slot .. slot+lengt-1`
  Returns:
    true, pokud takový zdroj ve skupině je

### canAllBeFreeAt

    public boolean canAllBeFreeAt(int slot,
                                  int length)

  Otázka, zda-li může být všechny zdroje ve skupině v požadovaný čas volné. To znamená, že dané sloty nemají HARD podmínku a případní aktivity v nich umístěné jdou odebrat.
  Parameters:
    `slot` - požadovaný časový slot
    `length` - délka aktivity, pro kterou se daná operace zjišťuje -> jsou procházeny sloty `slot .. slot+lengt-1`
  Returns:
    true, pokud ano

### countFreeAt

    public int countFreeAt(int slot,
                           int length)

  Spočte počet volných zdrojů v daný čas ve skupině.
  Parameters:
    `slot` - požadovaný časový slot
    `length` - délka aktivity, pro kterou se daná operace zjišťuje -> jsou procházeny sloty `slot .. slot+lengt-1`
  Returns:
    počet volných zdrojů

### getFreeAt

    public ResourceGroup getFreeAt(int slot,
                                   int length)

  Vrátí skupinu volných zdrojů v daný čas
  Parameters:
    `slot` - požadovaný časový slot
    `length` - délka aktivity, pro kterou se daná operace zjišťuje -> jsou procházeny sloty `slot .. slot+lengt-1`
  Returns:
    skupina volných zdrojů

### clone

    public java.lang.Object clone()

  Vrátí jinou instanci této skupiny.
  Overrides:
    `clone` in class `java.lang.Object`
  Returns:
    jiná instance stejné skupiny

### equals

    public boolean equals(java.lang.Object o)

  Porovná na rovnost dvě skupiny
  Overrides:
    `equals` in class `java.lang.Object`
  Parameters:
    `o` - druhá skupina
  Returns:
    true, pokud obsahují stejné zdroje (ve stejném pořadí) a mají stejné parametry

### haveSameContent

    public boolean haveSameContent(ResourceGroup r)

  Zjistí, zda-li dvě skupiny obsahují stejné zdroje.
  Parameters:
    `r` - druhá skupina
  Returns:
    true, pokud obě skupiny obsahují stejné zdroje (i v jiném pořadí)

### write

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

  Zápis skupiny do streamu.
  Parameters:
    `out` - stream
    `allActivities` - množina všech aktivit

### read

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

  Načtení skupiny ze streamu
  Parameters:
    `in` - stream
    `config` - konfigurace
  Returns:
    načtená skupina

### init

    protected void init(ActivityGroup allActivities)

  Inicializace skupiny po načtení
  Parameters:
    `allActivities` - množina všech aktivit

### write

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

  Zápis skupiny do streamu.
  Parameters:
    `out` - stream
    `allResources` - množina všech zdrojů

### read

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

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

### toString

    public java.lang.String toString()

  Vrátí zkratky zdrojů ve skupině jako řetězec. Příklad "{Z1, Z2, Z3}"
  Overrides:
    `toString` in class `java.lang.Object`
  Returns:
    řetězec (ve složených závorkách čárkami oddělené zkratky jmen jednotlivých zdrojů)

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