de.guibuilder.framework
Class GuiUtil

java.lang.Object
  |
  +--de.guibuilder.framework.GuiUtil

public final class GuiUtil
extends java.lang.Object

Hilfsklasse für diverse Berechnungen und globale Zustände.

Für verschiedene Methoden muß die interne CodeBase zuvor gesetzt werden.

See Also:
setCodeBase(java.net.URL)

Field Summary
static int GET
           
static java.lang.String GUIBUILDER_PROPERTIES
          Dateiname der Properties für den GuiBuilder in der CodeBase: "GuiBuilder.properties".
static int NONE
           
static int PUT
           
static int SCRIPT_BEANSHELL
           
static int SCRIPT_PNUTS
           
 
Constructor Summary
GuiUtil()
           
 
Method Summary
static void copyFile(java.lang.String source_name, java.lang.String dest_name)
          This example is from the book _Java in a Nutshell_ by David Flanagan.
static java.lang.String createDocument(java.lang.String template, java.lang.String name)
          Erzeugt ein Office-Dokument aus einem Template und gibt den Dateiname zurück.
static electric.xml.Element exportGuiElement(electric.xml.Document doc)
          Wandelt die Eingaben im Property-Editor in ein Element für den GuiBuilder um.
static java.lang.String[] fileOpenDialog(GuiWindow parent, java.lang.String dialogTitle, java.lang.String directoryName, java.lang.String fileName)
          Startet einen (Plattform-spezifischen) Datei-Öffenen-Dialog.
static java.lang.String[] fileSaveDialog(GuiWindow parent, java.lang.String dialogTitle, java.lang.String directoryName, java.lang.String fileName)
          Startet einen (Plattform-spezifischen) Datei-Speichern-Dialog.
static java.lang.String fileToString(java.lang.String fileName)
          Konvertiert den Inhalt eines Files unter Angabe seines Namens zu einem String.
static java.util.Vector fileToTableData(java.lang.String filename)
          Erzeugt einen Vector von Vectoren aus einer Textdatei; Spaltentrenner ist "|".
static electric.xml.Document fileToXml(java.lang.String filename)
          Liefert ein XmlDocument unter Angabe eines Dateinamens; relativ zur DokumentBase.
static GuiApplet getApplet()
          Liefert das Applet des GuiBuilders oder null.
static java.net.URL getCodeBase()
          Liefert die gesetzte Codebase.
static java.lang.String getCurrentDir()
          Liefert das Directory der DocumentBase oder "c:\temp" bei HTTP-Protocol.
static java.lang.String getCurrentFile()
          Liefert den von der Methode fileToString zuletzt gelesenen File (wenn FileProtocol).
static boolean getDebug()
          Liefert den Debug-Modus.
static java.util.ResourceBundle getDefaultResourceBundle()
           
static java.net.URL getDocumentBase()
          Liefert die DocumentBase.
static java.lang.String getGuiDocComment(electric.xml.Element ele)
          Liefert den XML-Kommentar, der vor diesem Element steht.
static java.util.Properties getGuiProp()
          Liefert die GuiBuilder Properties.
static java.lang.String getGuiProp(java.lang.String name)
          Liefert einen Eintrag aus GuiBuilder.properties.
static java.lang.String getGuiProp(java.lang.String name, java.lang.String defaultValue)
          Liefert einen Eintrag aus GuiBuilder.properties.
static int getHttpUsage()
          Liefert die HTTP-Policy.
static java.util.HashSet getKeywordAttributes(java.lang.String keyword)
          Liefert eine HashSet mit erlaubten Namen von Attributen zu dem übergebenen Schlüsselwort aus KeywordAttributes.properties.
static java.util.Locale getLocale()
           
static java.awt.Color getNNColor()
          Liefert der Hintergrundfarbe für notnull-Felder.
static java.lang.String getProtocol()
          Liefert "file" oder "http" je nach Codebase.
static java.lang.String getRepository()
          Liefert den Dateinamen des Repository.
static java.lang.String getTempDir()
          Liefert das Temp-Directory; bei Windows c:\temp, bei Unix /temp.
static java.lang.String getUserDir()
          Liefert das Directory der CodeBase oder "c:\temp" bei HTTP-Protocol.
static java.lang.String getVersion()
          Liefert die eingestellte Version des GuiBuilders; default ist "default".
static boolean hasScripting()
          Zeigt an, ob Scripting mit Pnuts verfügbar ist.
static electric.xml.Document importGuiScript(electric.xml.Document doc)
           
static boolean isAPI()
          Wenn true, dann wird der GuiBuilder zur Laufzeit verwendet;
wenn false, dann für Spezifikation.
static boolean isApplet()
          Liefert das Kennzeichen, ob die Anwendung als Applet oder Application läuft.
static boolean isCheckNN()
           
static java.lang.String labelToName(java.lang.String label)
          Wandelt ein Label in einen legalen Bezeichner um.
static void loadGuiProp()
          Initialisiert die Properties.
static java.util.Properties loadProperties(java.lang.String name)
          Liefert einen Satz von Properties unter Angabe ihres Namens.
static java.awt.Image makeAwtImage(java.lang.String fileName)
          Liefert ein awt.Image auf Basis eines Dateinamens.
static javax.swing.ImageIcon makeIcon(java.lang.String fileName)
          Liefert einen Swing-ImageIcon auf Basis eines Dateinamens.
static boolean okCancelMessage(GuiWindow parent, java.lang.String title, java.lang.String message)
           
static java.io.File parent(java.io.File f)
           
static void resetDocumentBase()
          Setzt die DocumentBase auf den Wert der CodeBase.
static void saveGuiProp()
          Speichert die Properties des GuiBuilder in "GuiBuilder.properties".
static void saveProperties(java.util.Properties p, java.lang.String fileName)
          Speichert Properties in der angegebenen Datei.
static void setAPI(boolean b)
          Wenn true, dann wird der GuiBuilder zur Laufzeit verwendet;
wenn false, dann für Spezifikation.
static void setApplet(GuiApplet a)
          Legt fest, daß der GuiBuilder als Applet läuft.
static void setCheckNN()
          Legt fest, ob Felder mit dem Attribut notnull=true wirklich geprüft werden sollen.
static void setCodeBase(java.net.URL url)
          Setzt die Codebase für alle Klassen.
static void setDebug(boolean b)
          Setzt den Debug-Modus für die Factory.
static void setDebug(java.lang.String s)
          Setzt den Debug-Modus für die Factory.
static void setDefaultResourceBundle(java.lang.String name)
           
static void setDocumentBase(java.lang.String offset)
          Setzt die DocumentBase relativ zur CodeBase.
static void setDocumentBase(java.net.URL url)
          Setzt die DocumentBase absolut unter Angabe einer URL.
static void setHttpUsage(java.lang.String s)
          Setzt die HTTP-Policy für HTTP-Protocol.
static void setLocale(java.lang.String loc)
           
static void setLocale(java.lang.String language, java.lang.String country)
          Hiermit kann das Default-Locale geändert werden.
static void setRepository(java.lang.String s)
          Setzt den Dateinamen des Repository.
static void setUiManager(java.lang.String ui)
          Setzt den UI Manager.
static void setVersion(java.lang.String v)
          Setzt die Version für die Factory.
static void showDocument(java.lang.String fileName)
           
static void showEx(java.lang.Throwable ex)
          Diese Methode wird im Fehlerfall (catch) aufgerufen und zeigt die Fehlermeldung an.
static void showHelp(java.net.URL url, java.lang.String target)
          Zeigt das Hilfe-Fenster.
static void showImageCacheHits()
          Zeigt die Größe des Image-Caches und die Anzahl Treffer.
static void showMessage(GuiWindow parent, java.lang.String title, java.lang.String type, java.lang.String message)
          Einfache Benachrichtigung an den Benutzer (nur Button OK).
static boolean yesNoMessage(GuiWindow parent, java.lang.String title, java.lang.String message)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NONE

public static final int NONE
See Also:
setHttpUsage(java.lang.String), Constant Field Values

GET

public static final int GET
See Also:
setHttpUsage(java.lang.String), Constant Field Values

PUT

public static final int PUT
See Also:
setHttpUsage(java.lang.String), Constant Field Values

GUIBUILDER_PROPERTIES

public static final java.lang.String GUIBUILDER_PROPERTIES
Dateiname der Properties für den GuiBuilder in der CodeBase: "GuiBuilder.properties".

See Also:
Constant Field Values

SCRIPT_PNUTS

public static final int SCRIPT_PNUTS
See Also:
Constant Field Values

SCRIPT_BEANSHELL

public static final int SCRIPT_BEANSHELL
See Also:
Constant Field Values
Constructor Detail

GuiUtil

public GuiUtil()
Method Detail

getKeywordAttributes

public static java.util.HashSet getKeywordAttributes(java.lang.String keyword)
                                              throws java.lang.Exception
Liefert eine HashSet mit erlaubten Namen von Attributen zu dem übergebenen Schlüsselwort aus KeywordAttributes.properties.
Für PropertyEditor

java.lang.Exception

loadGuiProp

public static void loadGuiProp()
Initialisiert die Properties.

See Also:
getGuiProp(java.lang.String, java.lang.String), saveGuiProp()

getGuiProp

public static java.lang.String getGuiProp(java.lang.String name,
                                          java.lang.String defaultValue)
Liefert einen Eintrag aus GuiBuilder.properties.

Es wird auch dann der Default-Wert geliefert, wenn GuiBuilder.properties garnicht existiert oder beim Laden eine Exception aufgetreten ist.

Parameters:
name - Key
defaultValue -

getGuiProp

public static java.lang.String getGuiProp(java.lang.String name)
Liefert einen Eintrag aus GuiBuilder.properties.

Liefert null, wenn GuiBuilder.properties nicht lesbar ist.


getGuiProp

public static java.util.Properties getGuiProp()
Liefert die GuiBuilder Properties.


getNNColor

public static java.awt.Color getNNColor()
Liefert der Hintergrundfarbe für notnull-Felder.


setCheckNN

public static void setCheckNN()
Legt fest, ob Felder mit dem Attribut notnull=true wirklich geprüft werden sollen.
Siehe GuiBuilder.properties "checkNotNull"


isCheckNN

public static boolean isCheckNN()

saveGuiProp

public static void saveGuiProp()
Speichert die Properties des GuiBuilder in "GuiBuilder.properties".


setCodeBase

public static void setCodeBase(java.net.URL url)
Setzt die Codebase für alle Klassen.
Die DocumentBase wird gleichzeitig auf diesen Wert gesetzt, wenn sie null ist.


setDocumentBase

public static void setDocumentBase(java.net.URL url)
Setzt die DocumentBase absolut unter Angabe einer URL.


getCodeBase

public static java.net.URL getCodeBase()
Liefert die gesetzte Codebase.

Wenn die Codebase nicht gesetzt ist, wird das current Directory geliefert (aus der SystemProperty "user.dir").


setDocumentBase

public static void setDocumentBase(java.lang.String offset)
Setzt die DocumentBase relativ zur CodeBase.
Ist üblicherweise ein Unterverzeichnis der CodeBase; die CodeBase muß zuvor gesetzt werden.


resetDocumentBase

public static void resetDocumentBase()
Setzt die DocumentBase auf den Wert der CodeBase.


getDocumentBase

public static java.net.URL getDocumentBase()
Liefert die DocumentBase.
Wenn die DocumentBase nicht gesetzt ist, wird die CodeBase geliefert.


getRepository

public static java.lang.String getRepository()
Liefert den Dateinamen des Repository. "NONE" bedeutet, daß die eingebauten Standardeigenschaften der Factory verwendet werden.


setRepository

public static void setRepository(java.lang.String s)
Setzt den Dateinamen des Repository. "NONE" bedeutet, daß die eingebauten Standardeigenschaften der Factory verwendet werden sollen.


getProtocol

public static java.lang.String getProtocol()
Liefert "file" oder "http" je nach Codebase.
Wenn die CodeBase nicht gesetzt wurde, wird gleichfalls "file" zurückgegeben.


getTempDir

public static java.lang.String getTempDir()
Liefert das Temp-Directory; bei Windows c:\temp, bei Unix /temp.

Im .java.policy-File sollte der Nutzer hier Schreibberechtigung haben.


getCurrentDir

public static java.lang.String getCurrentDir()
Liefert das Directory der DocumentBase oder "c:\temp" bei HTTP-Protocol.


getUserDir

public static java.lang.String getUserDir()
Liefert das Directory der CodeBase oder "c:\temp" bei HTTP-Protocol.


setHttpUsage

public static void setHttpUsage(java.lang.String s)
Setzt die HTTP-Policy für HTTP-Protocol.
Erlaubt sind NONE, GET und PUT.


getHttpUsage

public static int getHttpUsage()
Liefert die HTTP-Policy. Default ist "GET".


getApplet

public static GuiApplet getApplet()
Liefert das Applet des GuiBuilders oder null.


setApplet

public static void setApplet(GuiApplet a)
Legt fest, daß der GuiBuilder als Applet läuft.

Die Codebase wird aus dem Applet übernommen.

See Also:
setCodeBase(java.net.URL)

isApplet

public static boolean isApplet()
Liefert das Kennzeichen, ob die Anwendung als Applet oder Application läuft.


getVersion

public static java.lang.String getVersion()
Liefert die eingestellte Version des GuiBuilders; default ist "default".
Die Menge der verfügbaren Versionen für den GuiBuilder wird im File "Version.lst" eingestellt.


setVersion

public static void setVersion(java.lang.String v)
Setzt die Version für die Factory.
Ist das Argument null; wird die Version auf "default" gesetzt.


setDebug

public static void setDebug(boolean b)
Setzt den Debug-Modus für die Factory.


setDebug

public static void setDebug(java.lang.String s)
Setzt den Debug-Modus für die Factory.


getDebug

public static boolean getDebug()
Liefert den Debug-Modus. Default ist "false";


setUiManager

public static void setUiManager(java.lang.String ui)
Setzt den UI Manager.
Erlaubte Werte sind "windows", "metal", "motif".
Groß- und Kleinschreibung ist egal.
Es darf auch null übergeben werden, dann passiert aber auch nüscht.


fileToString

public static java.lang.String fileToString(java.lang.String fileName)
Konvertiert den Inhalt eines Files unter Angabe seines Namens zu einem String. Linefeeds bleiben erhalten.
Das Dokument wird per HTTP geladen wenn die Codebase auf "http" eingestellt ist.

See Also:
getProtocol()

fileToXml

public static electric.xml.Document fileToXml(java.lang.String filename)
Liefert ein XmlDocument unter Angabe eines Dateinamens; relativ zur DokumentBase.

See Also:
GuiFactory#perfBeginForm

fileToTableData

public static java.util.Vector fileToTableData(java.lang.String filename)
Erzeugt einen Vector von Vectoren aus einer Textdatei; Spaltentrenner ist "|".

See Also:
GuiFactory#perfBeginTable

getGuiDocComment

public static java.lang.String getGuiDocComment(electric.xml.Element ele)
Liefert den XML-Kommentar, der vor diesem Element steht. Oder null, wenn kein Kommentar.


createDocument

public static java.lang.String createDocument(java.lang.String template,
                                              java.lang.String name)
                                       throws java.lang.Exception
Erzeugt ein Office-Dokument aus einem Template und gibt den Dateiname zurück. Das alles geschieht in dem Verzeichnis, was in guibuilder.properties unter "office" definiert ist.

Parameters:
template - existierende Dokument-Vorlage
name - Namensprefix für die erzeuge Datei
Returns:
der erzeugte Dateiname
java.lang.Exception

exportGuiElement

public static electric.xml.Element exportGuiElement(electric.xml.Document doc)
Wandelt die Eingaben im Property-Editor in ein Element für den GuiBuilder um.


importGuiScript

public static electric.xml.Document importGuiScript(electric.xml.Document doc)

copyFile

public static void copyFile(java.lang.String source_name,
                            java.lang.String dest_name)
                     throws java.lang.Exception
This example is from the book _Java in a Nutshell_ by David Flanagan. Written by David Flanagan. Copyright (c) 1996 O'Reilly & Associates. You may study, use, modify, and distribute this example for any purpose. This example is provided WITHOUT WARRANTY either expressed or implied.

java.lang.Exception

parent

public static java.io.File parent(java.io.File f)

getCurrentFile

public static java.lang.String getCurrentFile()
Liefert den von der Methode fileToString zuletzt gelesenen File (wenn FileProtocol).


loadProperties

public static java.util.Properties loadProperties(java.lang.String name)
                                           throws java.lang.Exception
Liefert einen Satz von Properties unter Angabe ihres Namens. Wird auch vom Generator verwendet!
Als erstes wird versucht, die Properties aus guibuilder.jar zu entnehmen. Die Daten werden je nach Codebase mit http- oder file-Protocol gelesen. Als letztes wird versucht, die Properties aus guibuilder.jar zu entnehmen.

java.lang.Exception

saveProperties

public static void saveProperties(java.util.Properties p,
                                  java.lang.String fileName)
Speichert Properties in der angegebenen Datei.
Nur bei file-Protocol.

Parameters:
fileName - Name der Datei unterhalb von CodeBase

makeIcon

public static javax.swing.ImageIcon makeIcon(java.lang.String fileName)
Liefert einen Swing-ImageIcon auf Basis eines Dateinamens.

Dieser Dateiname muß relativ zur DocumentBase sein.

See Also:
setDocumentBase(java.net.URL)

showImageCacheHits

public static void showImageCacheHits()
Zeigt die Größe des Image-Caches und die Anzahl Treffer.


makeAwtImage

public static java.awt.Image makeAwtImage(java.lang.String fileName)
Liefert ein awt.Image auf Basis eines Dateinamens.
Zuvor muß die DocumentBase gesetzt werden.
Siehe Attribut gif= bei Form, Applet unf InternalFrame.

See Also:
setDocumentBase(java.net.URL)

labelToName

public static java.lang.String labelToName(java.lang.String label)
Wandelt ein Label in einen legalen Bezeichner um. Es werden alle Zeichen weggelassen, die nicht Buchstabe oder Zahl sind.
Buchstaben, die nach einem Leerzeichen stehen, werden in Großbuchstaben verwandelt.
Deutsche Umlaute werden konvertiert. Der erste Buchstabe wird zu einem Kleinbuchstaben.


isAPI

public static boolean isAPI()
Wenn true, dann wird der GuiBuilder zur Laufzeit verwendet;
wenn false, dann für Spezifikation.

Wenn true, werden


setAPI

public static void setAPI(boolean b)
Wenn true, dann wird der GuiBuilder zur Laufzeit verwendet;
wenn false, dann für Spezifikation.

Wenn true, werden


showEx

public static void showEx(java.lang.Throwable ex)
Diese Methode wird im Fehlerfall (catch) aufgerufen und zeigt die Fehlermeldung an.


showHelp

public static void showHelp(java.net.URL url,
                            java.lang.String target)
Zeigt das Hilfe-Fenster.

Wenn die Anwendung als Applet läuft, wird der Browser zur Anzeige der Hilfe verwendet.
Ansonsten wird unter Windows die mit der Extension "html" verknüpfte Anwendung gestartet, bei anderen Betriebsystemen die Klasse GuiEditor.

See Also:
setApplet(de.guibuilder.framework.GuiApplet), GuiEditor

showDocument

public static void showDocument(java.lang.String fileName)

showMessage

public static void showMessage(GuiWindow parent,
                               java.lang.String title,
                               java.lang.String type,
                               java.lang.String message)
Einfache Benachrichtigung an den Benutzer (nur Button OK).

Parameters:
title - Titel der Nachricht
type - Art der Nachricht: Error, Info, Warn, Ask
message - Text der Nachricht.

yesNoMessage

public static boolean yesNoMessage(GuiWindow parent,
                                   java.lang.String title,
                                   java.lang.String message)

okCancelMessage

public static boolean okCancelMessage(GuiWindow parent,
                                      java.lang.String title,
                                      java.lang.String message)

fileOpenDialog

public static java.lang.String[] fileOpenDialog(GuiWindow parent,
                                                java.lang.String dialogTitle,
                                                java.lang.String directoryName,
                                                java.lang.String fileName)
Startet einen (Plattform-spezifischen) Datei-Öffenen-Dialog.

Parameters:
parent - ParentWindow oder null
dialogTitle - Beschriftung der Titelzeile des Dialoges.
directoryName - das Das Directory, in dem der Dialog per default stehen soll.
fileName - default für Filename; hier kann unter Windows auch ein Dateifilter z.B. im Format "*.xml;*.txt" angegeben werden.
Returns:
ein StringArray mit drei Elementen: 0: den vollen Dateinamen (mit Pfad)
1: Das gewählte Directory
2: Der Filename ohne Pfad
oder null, wenn der Benutzer den Dialog abgebrochen hat.

fileSaveDialog

public static java.lang.String[] fileSaveDialog(GuiWindow parent,
                                                java.lang.String dialogTitle,
                                                java.lang.String directoryName,
                                                java.lang.String fileName)
Startet einen (Plattform-spezifischen) Datei-Speichern-Dialog.

Parameters:
parent - ParentWindow oder null
dialogTitle - Beschriftung der Titelzeile des Dialoges.
directoryName - das Das Directory, in dem der Dialog per default stehen soll.
fileName - default für Filename; hier kann unter Windows auch ein Dateifilter z.B. im Format "*.xml;*.txt" angegeben werden.
Returns:
ein StringArray mit drei Elementen: 0: den vollen Dateinamen (mit Pfad)
1: Das gewählte Directory
2: Der Filename ohne Pfad
oder null, wenn der Benutzer den Dialog abgebrochen hat.

getDefaultResourceBundle

public static java.util.ResourceBundle getDefaultResourceBundle()

setDefaultResourceBundle

public static void setDefaultResourceBundle(java.lang.String name)

setLocale

public static void setLocale(java.lang.String language,
                             java.lang.String country)
Hiermit kann das Default-Locale geändert werden.


setLocale

public static void setLocale(java.lang.String loc)

getLocale

public static java.util.Locale getLocale()

hasScripting

public static boolean hasScripting()
Zeigt an, ob Scripting mit Pnuts verfügbar ist.

Scripting funktioniert nicht wenn GuiBuilder als Applet läuft, oder wenn Pnuts nicht im Classpath enthalten ist.