1.1 --- a/java/rozsirene-atributy/src/cz/frantovo/rozsireneAtributy/Model.java Wed Dec 15 22:38:03 2010 +0100
1.2 +++ b/java/rozsirene-atributy/src/cz/frantovo/rozsireneAtributy/Model.java Wed Dec 15 23:29:14 2010 +0100
1.3 @@ -69,9 +69,13 @@
1.4 /** Měníme klíč – název atributu */
1.5 String novýKlíč = String.valueOf(value.toString());
1.6 if (!novýKlíč.equals(a.getKlic())) {
1.7 - souborovySystem.delete(a.getKlic());
1.8 + if (a.getKlic() != null) {
1.9 + souborovySystem.delete(a.getKlic());
1.10 + }
1.11 a.setKlic(novýKlíč);
1.12 - souborovySystem.write(a.getKlic(), a.getHodnotaBajty());
1.13 + if (a.getHodnotaBajty() != null) {
1.14 + souborovySystem.write(a.getKlic(), a.getHodnotaBajty());
1.15 + }
1.16 }
1.17 } else if (n == 1) {
1.18 /** Měníme hodnotu atributu */
1.19 @@ -91,18 +95,28 @@
1.20 posluchače.remove(l);
1.21 }
1.22
1.23 + /**
1.24 + * @param m číslo řádku
1.25 + * @return atribut, který se na něm nachází
1.26 + */
1.27 + public Atribut getAtribut(int m) {
1.28 + return atributy.get(m);
1.29 + }
1.30 +
1.31 public void přidejAtribut(Atribut a) {
1.32 atributy.add(a);
1.33 upozorniPosluchače();
1.34 }
1.35
1.36 - public void odeberAtribut(Atribut a) {
1.37 + public void odeberAtribut(Atribut a) throws IOException {
1.38 atributy.remove(a);
1.39 + souborovySystem.delete(a.getKlic());
1.40 upozorniPosluchače();
1.41 }
1.42
1.43 - private void načtiAtributy() throws IOException {
1.44 + public final void načtiAtributy() throws IOException {
1.45 List<String> jménaAtributů = souborovySystem.list();
1.46 + atributy.clear();
1.47 for (String jménoAtributu : jménaAtributů) {
1.48 ByteBuffer hodnotaAtributu = ByteBuffer.allocate(souborovySystem.size(jménoAtributu));
1.49 souborovySystem.read(jménoAtributu, hodnotaAtributu);