Da es nicht vorrangiges Ziel dieses Projektes war, perfekte Verschlüsselungsalgorithmen zu entwickeln, ist die Verschlüsselung eher mäßig ausgefallen. Für eigene Verbesserungen ist vor allem die Klassenhierarchie interessant:
Cypher (Cypher.java) -+- DataCypher (DataCypher.java)
+- PasswdCypher (PasswdCypher.java)
Cypher ist eine abstrakte Basisklasse, DataCypher ist für die Verschlüsselung der am Server abgelegten Daten verantwortlich. PasswdCypher ist für die Verschlüsselung von Paßwörtern zuständig, die Methode decypher liefert nur null, da ein Entschlüsseln von Paßwörtern nicht möglich sein soll.
Jedesmal, wenn im gesamten Programm irgendwo eine Calendar- Klasse benötigt wird, wird in der Klasse CalendarCreator die statische Methode get aufgerufen. Die CalendarCreator- Klasse ist somit der zentrale Punkt, an dem Kalendereigenschaften wie das Datum der Umstellung auf Sommerzeit bei Bedarf modifiziert werden sollten.
Die Endungen der Datenfiles können bei Bedarf in der Klasse FileDatabase umgestellt werden (Konstanten: STANDARD_EXT, MESSAGE_EXT und PERIODIC_EXT).
Um am Server eine neue Funktion zu implementieren, empfehle ich folgende Vorgangsweise:
Dazu können Sie in den Klassen DaylyPanel und WeeklyPanel die Konstante MINUTES_PER_CELL nach eigenem Ermessen ändern.
Die Zeit zwischen zwei Versuchen, neue Termine vom JavaNotes Server zu laden, kann in der Konstanten GETMESSAGES_TIME in der Klasse JavaNotesGUI angepaßt werden (Zeit in Millisekunden).