com.fump
Class Ordner

java.lang.Object
  |
  +--com.fump.Ordner
All Implemented Interfaces:
Knoten, java.io.Serializable

public class Ordner
extends java.lang.Object
implements Knoten, java.io.Serializable

Version:
$Id: Ordner.html,v 1.1 2001/07/11 19:01:38 olesen Exp $
Author:
Markus Hindorf / Philipp Ottlinger
See Also:
Serialized Form

Field Summary
private  java.lang.String benutzer
           
 java.util.Vector elemente
           
 java.lang.String name
          Attribute Name des aktuellen Ordners private String name; Vorgaenger des aktuellen Ordners private Ordner vorgaenger; beinhaltet die Ordner-Objekte waehrend des Abstiegs im Baum private Vector pfad; Unterelemente, die ein Vektor von Knoten sind private Vector elemente; Pfad und Dateiname für Serialisierung private String speicherDatei; Benutzer, dem dieser Ordner gehört private String benutzer;
private  java.util.Vector pfad
           
private static java.io.File speicherDatei
           
 Ordner vorgaenger
           
 
Constructor Summary
Ordner()
          Konstruktor2 - erstellt leeren Wurzelordner mit den 4 standardordnern Das sind in Wurzel: 1.Eingang 2.Ausgang 3.Muell 4.Gesendet 5.Suchergebnisse
Ordner(java.lang.String benutzername, java.io.File serialisierteDatei)
          Konstruktor3 - gibt zum uebergebenen Benutzername den serialisierten Ordner zurueck
Ordner(java.lang.String name, java.lang.String besitzer, java.util.Vector pfad, Ordner vorgaenger)
          Konstruktor1 - erstellt neuen Ordner mit name unter pfad
 
Method Summary
 void addElement(Mail neuesElement)
          Hilfsfunktion: fügt dem aktuellen Ordner das übergebene Mailobjekt ohne Fehlerprüfung hinzu
 void addInAusgang(Mail neueMail)
          schmeisst uebergebene Mail in Ausgang - muss auf dem root-Ordner aufgerufen werden
 void addInEingang(Mail neueMail)
          schmeisst uebergebene Mail in Eingang - muss auf dem root-Ordner aufgerufen werden
 void addInMuell(Mail neueMail)
          schmeisst uebergebene Mail in Muell-Ordner - muss auf dem root-Ordner aufgerufen werden
 void addInSuchergebnisse(Mail neueMail)
          schmeisst uebergebene Mail in Suchergebnisse-Ordner - muss auf dem root-Ordner aufgerufen werden
 void exportieren()
           
static void externSpeichern(Ordner ord)
          Hilfsfunktion: serialisert aktuelle Ordnerstruktur - damit alles gespeichert wird, sollte diese Prozedur auf dem WURZEL-Ordner aufgerufen werden -> zZt zu speichernder Ordner als Parameter
 java.lang.String getBesitzer()
          Hilfsfunktion: gibt Besitzer/Username dieses Objekts zurueck
 java.util.Vector getElemente()
          Hilfsfunktion: gibt aktuellen Inhalt als Vector zurück
 java.lang.String getName()
          Name des aktuellen Ordners zurueckgeben
 Ordner getOrdnerObject(javax.swing.tree.TreePath pfad)
          Hilfsmethode, die ein Objekt zurueckgibt, auf das der uebergebene TreePath zeigt
 java.util.Vector getPfad()
          Hilfsfunktion: gibt aktuellen Pfad als Vector zurück
 java.util.Vector getPfadAlsVector(javax.swing.tree.TreePath aktPfad)
          Hilfsfunktion: gibt uebergebenen TreePath als Vector der richtigen Objektreferenzen zurueck, damit man damit arbeiten kann und Zugriff auf die richtigen Ordner/Mailinhalte hat und nicht nur den Namen als String
 java.io.File getSicherungsdatei()
          Hilfsfunktion: gibt Namen der Quelldatei zur Serialisierung zurueck
 java.util.Vector gibAlleMails()
          wichtig fuer GUI - gibt alle Mails des aktuellen Ordners
 java.util.Vector gibAlleUnterordner()
          wichtig fuer GUI - gibt alle Unterordner des aktuellen Ordners
private  Ordner gibPassendenOrdner(java.util.Vector neuerPfad)
          Hilfsfunktion: Vergleiche Zielpfad mit aktuellem Pfad und pruefe auf Fehler
 void kopieren(java.util.Vector neuerPfad)
          Tiefe Kopie des aktuellen Ordners im Zielpfad erstellen
 void loescheAlleMails()
          Hilfsfunktion: entfernt alle Mails aus diesem Ordner
 void loescheMail(Mail zuLoeschendeMail)
          Hilfsfunktion: entfernt zuLoeschendeMail aus diesem Ordner TODOLIST: eventuell nicht public, da sonst jeder Mail loeschen kann ???
 void loeschen()
          aktuellen Ordner loeschen
private  void objektGeschuetztPruefung(java.lang.String nname)
          Prueft, anhand des Ordnernames, ob Ordner uU schreibgeschuetzt ist
 void print()
          Ausgabe der Baumstruktur auf Konsole fuer Testzwecke geeignet gibt nur eine "flache Ausgabe des Wurzelordners" - keine Komplettansicht
static void pruefeName(java.lang.String zuPruefenderName)
          Hilfsfunktion, die prüft, ob der angegebene Name Sonderzeichen enthält, die ungültig sind - d.h.
 void setBesitzer(java.lang.String nuser)
          Hilfsfunktion: setzt Besitzer/Username dieses Objekts
 void setSicherungsdatei(java.io.File ns)
          Hilfsfunktion: setzt Namen der Quelldatei zur Serialisierung zurueck
 java.lang.String toString()
          Ausgabe des Ordnernamen - wichtig fuer JTree
 void umbenennen(java.lang.String neuerName)
          aktuellen Ordner in neuerName umbenennen mit Fehlerpruefung
 void unterordnerAnlegen(java.lang.String name, java.util.Vector pfad)
          im aktuellen Ordner wird ein Unterordner mit dem uebergebenen Namen angelegt
 void verschieben(java.util.Vector neuerPfad)
          Verschiebt den aktuellen Ordner in den uebergebenen Pfad
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

name

public java.lang.String name
Attribute Name des aktuellen Ordners private String name; Vorgaenger des aktuellen Ordners private Ordner vorgaenger; beinhaltet die Ordner-Objekte waehrend des Abstiegs im Baum private Vector pfad; Unterelemente, die ein Vektor von Knoten sind private Vector elemente; Pfad und Dateiname für Serialisierung private String speicherDatei; Benutzer, dem dieser Ordner gehört private String benutzer;

vorgaenger

public Ordner vorgaenger

pfad

private java.util.Vector pfad

elemente

public java.util.Vector elemente

speicherDatei

private static java.io.File speicherDatei

benutzer

private java.lang.String benutzer
Constructor Detail

Ordner

public Ordner(java.lang.String name,
              java.lang.String besitzer,
              java.util.Vector pfad,
              Ordner vorgaenger)
Konstruktor1 - erstellt neuen Ordner mit name unter pfad
Throws:
-  

Ordner

public Ordner()
Konstruktor2 - erstellt leeren Wurzelordner mit den 4 standardordnern Das sind in Wurzel: 1.Eingang 2.Ausgang 3.Muell 4.Gesendet 5.Suchergebnisse
Throws:
-  

Ordner

public Ordner(java.lang.String benutzername,
              java.io.File serialisierteDatei)
       throws java.io.IOException
Konstruktor3 - gibt zum uebergebenen Benutzername den serialisierten Ordner zurueck
Throws:
IOException, - wenn Datei nicht existiert
Method Detail

getName

public java.lang.String getName()
Name des aktuellen Ordners zurueckgeben
Parameters:
-  
Returns:
String
Throws:
-  

pruefeName

public static void pruefeName(java.lang.String zuPruefenderName)
                       throws UngueltigerName
Hilfsfunktion, die prüft, ob der angegebene Name Sonderzeichen enthält, die ungültig sind - d.h. SPACE und Komma - wegen StringTokenizer, der nach ", " parst
Parameters:
String - zuPruefenderName
Returns:
void
Throws:
UngueltigerName -  

umbenennen

public void umbenennen(java.lang.String neuerName)
                throws ObjektIstGeschuetzt,
                       DoppelterName,
                       UngueltigerName
aktuellen Ordner in neuerName umbenennen mit Fehlerpruefung
Parameters:
String - neuerName
Returns:
void
Throws:
ObjektIstGeschuetzt, - DoppelterName, UngueltigerName

objektGeschuetztPruefung

private void objektGeschuetztPruefung(java.lang.String nname)
                               throws ObjektIstGeschuetzt
Prueft, anhand des Ordnernames, ob Ordner uU schreibgeschuetzt ist
Parameters:
-  
Returns:
void
Throws:
ObjektIstGeschuetzt -  

unterordnerAnlegen

public void unterordnerAnlegen(java.lang.String name,
                               java.util.Vector pfad)
                        throws DoppelterName,
                               ObjektIstGeschuetzt,
                               UngueltigerName
im aktuellen Ordner wird ein Unterordner mit dem uebergebenen Namen angelegt
Parameters:
String - name, Vector pfad
Returns:
void
Throws:
ObjektIstGeschuetzt, - DoppelterName, UngueltigerName

loeschen

public void loeschen()
              throws ObjektIstGeschuetzt
aktuellen Ordner loeschen
Specified by:
loeschen in interface Knoten
Parameters:
-  
Returns:
void
Throws:
ObjektIstGeschuetzt -  

verschieben

public void verschieben(java.util.Vector neuerPfad)
                 throws UngueltigerPfad,
                        DoppelterName
Verschiebt den aktuellen Ordner in den uebergebenen Pfad
Specified by:
verschieben in interface Knoten
Parameters:
Vector - neuerPfad
Returns:
void
Throws:
UngueltigerPfad, - DoppelterName

loescheMail

public void loescheMail(Mail zuLoeschendeMail)
Hilfsfunktion: entfernt zuLoeschendeMail aus diesem Ordner TODOLIST: eventuell nicht public, da sonst jeder Mail loeschen kann ???
Parameters:
Mail - zuLoeschendeMail
Returns:
 
Throws:
-  

loescheAlleMails

public void loescheAlleMails()
Hilfsfunktion: entfernt alle Mails aus diesem Ordner
Parameters:
-  
Returns:
 
Throws:
-  

addElement

public void addElement(Mail neuesElement)
Hilfsfunktion: fügt dem aktuellen Ordner das übergebene Mailobjekt ohne Fehlerprüfung hinzu
Parameters:
Mail - neuesElement
Returns:
 
Throws:
-  

getElemente

public java.util.Vector getElemente()
Hilfsfunktion: gibt aktuellen Inhalt als Vector zurück
Parameters:
-  
Returns:
Vector
Throws:
-  

getPfad

public java.util.Vector getPfad()
Hilfsfunktion: gibt aktuellen Pfad als Vector zurück
Parameters:
-  
Returns:
Vector
Throws:
-  

getSicherungsdatei

public java.io.File getSicherungsdatei()
Hilfsfunktion: gibt Namen der Quelldatei zur Serialisierung zurueck
Parameters:
-  
Returns:
String
Throws:
-  

setSicherungsdatei

public void setSicherungsdatei(java.io.File ns)
Hilfsfunktion: setzt Namen der Quelldatei zur Serialisierung zurueck
Parameters:
String -  
Returns:
 
Throws:
-  

getBesitzer

public java.lang.String getBesitzer()
Hilfsfunktion: gibt Besitzer/Username dieses Objekts zurueck
Parameters:
-  
Returns:
String
Throws:
-  

setBesitzer

public void setBesitzer(java.lang.String nuser)
Hilfsfunktion: setzt Besitzer/Username dieses Objekts
Parameters:
String - nuser
Returns:
 
Throws:
-  

externSpeichern

public static void externSpeichern(Ordner ord)
                            throws java.io.IOException
Hilfsfunktion: serialisert aktuelle Ordnerstruktur - damit alles gespeichert wird, sollte diese Prozedur auf dem WURZEL-Ordner aufgerufen werden -> zZt zu speichernder Ordner als Parameter
Parameters:
Ordner - ord
Returns:
 
Throws:
java.io.IOException -  

gibPassendenOrdner

private Ordner gibPassendenOrdner(java.util.Vector neuerPfad)
                           throws UngueltigerPfad
Hilfsfunktion: Vergleiche Zielpfad mit aktuellem Pfad und pruefe auf Fehler
Parameters:
Vector - neuerPfad
Returns:
Ordner - Zielpfadordner
Throws:
UngueltigerPfad -  

gibAlleMails

public java.util.Vector gibAlleMails()
                              throws KeineMailsDa
wichtig fuer GUI - gibt alle Mails des aktuellen Ordners
Parameters:
-  
Returns:
Vector (von Message-Objekten)
Throws:
KeineMailsDa - - aktueller Ordner enthaelt keine Mails

gibAlleUnterordner

public java.util.Vector gibAlleUnterordner()
                                    throws KeineUnterordnerDa
wichtig fuer GUI - gibt alle Unterordner des aktuellen Ordners
Parameters:
-  
Returns:
Vector (von Ordner-Objekten)
Throws:
KeineUnterordnerDa -  

toString

public java.lang.String toString()
Ausgabe des Ordnernamen - wichtig fuer JTree
Overrides:
toString in class java.lang.Object
Parameters:
-  
Returns:
String
Throws:
-  

print

public void print()
Ausgabe der Baumstruktur auf Konsole fuer Testzwecke geeignet gibt nur eine "flache Ausgabe des Wurzelordners" - keine Komplettansicht
Parameters:
-  
Returns:
void
Throws:
void -  

kopieren

public void kopieren(java.util.Vector neuerPfad)
              throws UngueltigerPfad,
                     DoppelterName
Tiefe Kopie des aktuellen Ordners im Zielpfad erstellen
Specified by:
kopieren in interface Knoten
Parameters:
-  
Returns:
void
Throws:
UngueltigerPfad, - DoppelterName

exportieren

public void exportieren()
Specified by:
exportieren in interface Knoten
Parameters:
-  
Returns:
void
Throws:
-  

getPfadAlsVector

public java.util.Vector getPfadAlsVector(javax.swing.tree.TreePath aktPfad)
                                  throws UngueltigerPfad
Hilfsfunktion: gibt uebergebenen TreePath als Vector der richtigen Objektreferenzen zurueck, damit man damit arbeiten kann und Zugriff auf die richtigen Ordner/Mailinhalte hat und nicht nur den Namen als String
Specified by:
getPfadAlsVector in interface Knoten
Parameters:
TreePath - aktPfad
Returns:
Vector (von Ordner- Objekten)
Throws:
UngueltigerPfad -  

getOrdnerObject

public Ordner getOrdnerObject(javax.swing.tree.TreePath pfad)
                       throws UngueltigerPfad
Hilfsmethode, die ein Objekt zurueckgibt, auf das der uebergebene TreePath zeigt
Parameters:
TreePath -  
Returns:
Ordner-Objekt
Throws:
UngueltigerPfad -  

addInEingang

public void addInEingang(Mail neueMail)
                  throws UngueltigerPfad
schmeisst uebergebene Mail in Eingang - muss auf dem root-Ordner aufgerufen werden
Parameters:
-  
Returns:
void
Throws:
UngueltigerPfad - wenn die Methode nicht auf root-Ordner aufgerufen wird

addInAusgang

public void addInAusgang(Mail neueMail)
                  throws UngueltigerPfad
schmeisst uebergebene Mail in Ausgang - muss auf dem root-Ordner aufgerufen werden
Parameters:
-  
Returns:
void
Throws:
UngueltigerPfad - wenn die Methode nicht auf root-Ordner aufgerufen wird

addInMuell

public void addInMuell(Mail neueMail)
                throws UngueltigerPfad
schmeisst uebergebene Mail in Muell-Ordner - muss auf dem root-Ordner aufgerufen werden
Parameters:
-  
Returns:
void
Throws:
UngueltigerPfad - wenn die Methode nicht auf root-Ordner aufgerufen wird

addInSuchergebnisse

public void addInSuchergebnisse(Mail neueMail)
                         throws UngueltigerPfad
schmeisst uebergebene Mail in Suchergebnisse-Ordner - muss auf dem root-Ordner aufgerufen werden
Parameters:
-  
Returns:
void
Throws:
UngueltigerPfad - wenn die Methode nicht auf root-Ordner aufgerufen wird