concept.table.timetable
Class TimeTableModel

public class TimeTableModel
extends javax.swing.table.AbstractTableModel

Title: TimeTableModel

Description: Data container of TimeTable - Component

Copyright: Copyright (c) 2005 CONCEPT-lisenssi Tekijänoikeus (c) 2006, Pekka Kuuva, Tatu Repo, Pasi Saari, Anna Seppänen. Kaikki oikeudet pidätetään. Tämän ohjelmiston levittäminen ja käyttö lähdekoodina ja binäärinä, muutettuna tai muuttamattomana, on sallittu edellyttäen, että seuraavat ehdot täytetään: 1. OHJELMISTON LEVITTÄMINEN Lähdekoodikopioissa, dokumentaatiossa ja muussa ohjelmiston mukana tulevassa aineistossa on oltava tämä lisenssi kokonaisuudessaan. 1.2. VIENTIRAJOITUKSET Ohjelmistoa tai sen osia ei saa viedä Amerikan Yhdysvaltoihin ilman tekijöiden erillistä suostumusta. 2. OHJELMISTON KÄYTTÖ (EULA) 2.1 KÄYTTÖEHDOT Ohjelmiston käyttäjän tulee joskus suorittaa vähintään yksi seuraavista toimista: a) Tarjota omalla kustannuksellaan olut tasokkaassa ravintolassa, pubissa tai muussa vastaavassa anniskelua harjoittavassa liikkeessä kullekin tekijöistä, sekä ilmoittaa tästä tarjouksesta. b) Tarjota tekijöille omalla kustannuksellaan pääsy tapahtumaan, jonka yhteydessä sovellusta on käytetty, ja ilmoittaa tästä tarjouksesta tekijöille. Ilmoittamisella tarkoitetaan vähintään viikkoa ennen tarjouk- sen täytäntöönpanoa tekijöille lähetettyä sähköpostia, jossa ilmoitetaan ohjelmiston käyttäjän nimi ja yhteystiedot sekä tarjous ja sen ajankohta. Jos käyttöehdot eivät ole täyttyneet, ohjelmistoa ei saa käyttää. 2.1. TAKUU Tekijänoikeuden haltijat ja ohjelmiston kehittäjät tarjoavat tämän ohjelmiston "sellaisena kuin se on". Sovellukselle ei myönnetä minkäänlaista takuuta kaupallisesti hyväksyttävästä laadusta eikä sen taata soveltuvan mihinkään tarkoitukseen. 2.2. VASTUUNRAJOITUS Tekijänoikeuden haltija ja ohjelmiston kehittäjät eivät ole missään tilanteessa vastuussa suorista, epäsuorista, yleisistä, erityisistä, satunnaisista tai seurauksellisista vahingoista (sisältäen, muttei tyhjentävästi, korvaavan tuotteen tai palvelun hankinnan, käyttömahdollisuuden, tiedon tai voittojen menetykset, tai liiketoiminnan keskeytymisen), jotka aiheutuvat miten tahansa ja millä tahansa vahingonkorvausoikeudellisella perusteella mukaanlukien sopimusvastuu, ankara vastuu ja sopimuksen ulkoinen vastuu (huolimattomuus tai muu), vaikka kyseisten vahinkojen mahdollisuudesta olisi kerrottu.

Version:
1.0
Author:
Anna Seppänen
Constructor Detail

TimeTableModel

public TimeTableModel(java.lang.String d)
Constructor
Parameters:
d - String

Method Detail

getDate

public java.lang.String getDate()
Returns date
Returns:
String, formatted date

getValueAt

public java.lang.Object getValueAt(int row,
                                   int col)
Returns object in a cell. If row or column is 0, returned object is Hall or Block, else it's TimeTableCell.
Parameters:
row - int
col - int
Returns:
Object, value in cell

getRowValue

public concept.structure.Block getRowValue(int row)
Returns block of certain row.
Parameters:
row - int
Returns:
Block, block at row

addBlocks

public void addBlocks(concept.structure.Block[] b)
Adds multiple new blocks in this timetable.
Parameters:
b - Block[]

addBlock

public void addBlock(concept.structure.Block newBlock)
Adds new block at right place in this timetable. Blocks are arranged according to their begin times. Adds also new cells for the block.
Parameters:
newBlock - Block

removeBlock

public java.util.Vector removeBlock(int index)
Removes block from selected index and removes cells of the block. Returns sessions that were sheduled in the removed block.
Parameters:
index - int
Returns:
Vector, sessions in removed block

updateBlock

public void updateBlock(concept.structure.Block b)
Updates block at right place in timetable. Sessions are moved as well.
Parameters:
b - Block

updateSession

public void updateSession(concept.structure.Session session)
Searces the cell in which sesison is placed and updates the cell in timetable.
Parameters:
session - Session

insertBlockInRightPlace

private void insertBlockInRightPlace(concept.structure.Block b)
Inserts new block at right place.
Parameters:
b - Block

getDurationInMin

public int getDurationInMin(int index)
Returns duration of a block in minutes
Parameters:
index - int
Returns:
int, duration in minutes

getBlockOf

public concept.structure.Block getBlockOf(concept.structure.Session session)
Returns block of session, if session is placed in this timetable, else returns null.
Parameters:
session - Session
Returns:
Block, block in which session is sheduled

hasSession

public boolean hasSession(concept.structure.Session session)
Returns whether a session is placed in this timetable.
Parameters:
session - Session
Returns:
boolean, is session in timetable

hasBlock

public boolean hasBlock(concept.structure.Block block)
Returns whether a block is placed in this timetable.
Parameters:
block - Block
Returns:
boolean, is block in timetable

hasHall

public boolean hasHall(concept.structure.Hall hall)
Returns whether hall is added to this timetable.
Parameters:
hall - Hall
Returns:
boolean, is hall in timetable

insertSession

public boolean insertSession(concept.structure.Block block,
                             concept.structure.Hall hall,
                             concept.structure.Session session)
Inserts session in timetable to given hall and block.
Parameters:
block - Block
hall - Hall
session - Session
Returns:
boolean, was operation succesfull

indexOf

public int indexOf(concept.structure.Block block)
Returns index of given block.
Parameters:
block - Block
Returns:
int, index of block

indexOf

public int indexOf(concept.structure.Hall hall)
returns index of given hall.
Parameters:
hall - Hall
Returns:
int, index of Hall

removeSession

public void removeSession(concept.structure.Block block,
                          concept.structure.Hall hall)
Removes session that is palced in given block and hall.
Parameters:
block - Block
hall - Hall

getColumnCount

public int getColumnCount()
Returns number of columns.
Returns:
int, column count

getRowCount

public int getRowCount()
Returns number of rows.
Returns:
int, row count

getColumnValue

public concept.structure.Hall getColumnValue(int col)
Returns hall at given index.
Parameters:
col - int
Returns:
Hall, hall at column

addHalls

public void addHalls(concept.structure.Hall[] halls)
Adds multiple new halls to timetable.
Parameters:
halls - Hall[]

addHall

public void addHall(concept.structure.Hall hall)
Adds new hall to timetable if it is not already added. Adds also new cells for the hall.
Parameters:
hall - Hall

removeHall

public java.util.Vector removeHall(int index)
Removes hall from this timetable. Returns sessions that are placed in the hall.
Parameters:
index - int
Returns:
Vector, sessions in hall