eva/3 Application BuilderEntwicklung eigener eva/3 KomponentenEigene Befehle 

Command Klasse

Bevor im Befehlseditor weitere Einstellungen vorgenommen werden, sollte zunächst die Befehlsklasse angelegt werden. Hierfür ist eine neue Javaklasse anzulegen, die das Interface Command implementiert. Das Interface Command schreibt die Methode

public Object action(Object[] args, Macro macro)

vor. Die Methode stellt den Einstiegspunkt der Befehlsklasse dar. Das Argument arg0 enthält die im Befehlseditor eingerichteten Parameter als Object-Array, das die Parameterwerte als String enthält.

Die Methode

public Parameter[] getParameters()

gibt einen Parameter-Array zurück, das in die Parameterliste des Befehlseditors übernommen werden kann. Hierfür ist der Befehl mit der rechten Maustaste in der Navigator Sicht anzuklicken und der Menüpunkt eva/3 > Parameter aus Klassen wiederherstellen auszuwählen.

Außerdem sollte die Methode

public String getComment()

implementiert werden, die einen String zur Beschreibung des Befehls zurück gibt.

Beispiel:

package com.odc.eva3.wiz.utils;

// Import Section
...

public class OpenReportAndCloseCurrentWindow implements SystemCommand {
    
    // Gets the Comment String
    public String getComment() {
        return null;
    }

    // Gets the names for the Parameters
    public Parameter[] getParameters() {
        return new Parameter[] { new Parameter("Report frame", String.class,
            "Report frame to open"), new Parameter("show print menu", Boolean.TYPE,
            "show print menu")};
    }

    // Executes the Command
    public Object action(Object[] args, Macro macro) {
        String reportFrame = (String) args[0];
        boolean showPrintMenu = new Boolean((String) args[1]).booleanValue();

        try {
            ReportManager.previewReport(reportFrame, showPrintMenu);

            EvaUtils.getActiveSWindow().dispose();
            Frame frames = Frame.getFrames()[Frame.getFrames().length-1];

            frames.toFront();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
        return null;
    }
}

Häufig gebrauchte Klassen und Methoden in Befehlen werden im Abschnitt Typische Aufgaben eines Befehls vorgestellt.

Hinweis: Die Java-Klassen der Befehle sollten in einem separaten Quellenordner mit dem Namen src abgelegt werden. Die .command Dateien sind außerhalb dieses Ordners anzulegen.

Hinweis: Die Command Klasse darf nicht im Default Package liegen. Sie muss in einem "benannten" Package liegen:

Beispiel:

package com.odc.eva3.customerservices.actions;