/* * This file is part of Alida, a Java library for * Advanced Library for Integrated Development of Data Analysis Applications. * * Copyright (C) 2010 - @YEAR@ * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. * * Fore more information on Alida, visit * * http://www.informatik.uni-halle.de/alida/ * */ package de.unihalle.informatik.Alida.demo; import java.util.Vector; import de.unihalle.informatik.Alida.datatypes.ALDDirectoryString; import de.unihalle.informatik.Alida.datatypes.ALDFileString; import de.unihalle.informatik.Alida.exceptions.ALDOperatorException; import de.unihalle.informatik.Alida.operator.ALDOperator; import de.unihalle.informatik.Alida.annotations.ALDAOperator; import de.unihalle.informatik.Alida.annotations.Parameter; /** * Dummy operator class for demo and testing of input parameter types. * <p> * Note: this operator has no functionality except printing the values of * its input parameters to console. * * @author moeller */ @ALDAOperator(genericExecutionMode=ALDAOperator.ExecutionMode.SWING) public class ALDParameterTester extends ALDOperator { @Parameter( label= "Info-String", required = false, dataIOOrder = -1, direction = Parameter.Direction.IN, description = "Dummy parameter.", info = true) private String infoString = "<i>Info</i> - Set of parameters to test: "; @Parameter( label= "String", required = false, dataIOOrder = 0, direction = Parameter.Direction.IN, description = "Dummy parameter.") private String param_String = null; @Parameter( label= "boolean", required = false, dataIOOrder = 1, direction = Parameter.Direction.IN, description = "Dummy parameter.") private boolean param_boolean = true; @Parameter( label= "byte", required = false, dataIOOrder = 2, direction = Parameter.Direction.IN, description = "Dummy parameter.") private byte param_byte; @Parameter( label= "double", required = false, dataIOOrder = 3, direction = Parameter.Direction.IN, description = "Dummy parameter.") private double param_double; @Parameter( label= "float", required = false, dataIOOrder = 4, direction = Parameter.Direction.IN, description = "Dummy parameter.") private float param_float; @Parameter( label= "int", required = false, dataIOOrder = 5, direction = Parameter.Direction.IN, description = "Dummy parameter.") private int param_int; @Parameter( label= "long", required = false, dataIOOrder = 6, direction = Parameter.Direction.IN, description = "Dummy parameter.") private long param_long; @Parameter( label= "short", required = false, dataIOOrder = 7, direction = Parameter.Direction.IN, description = "Dummy parameter.") private short param_short; @Parameter( label= "Boolean", required = false, dataIOOrder = 8, direction = Parameter.Direction.IN, description = "Dummy parameter.") private Boolean param_Boolean; @Parameter( label= "Byte", required = false, dataIOOrder = 9, direction = Parameter.Direction.IN, description = "Dummy parameter.") private Byte param_Byte; @Parameter( label= "Double", required = false, dataIOOrder = 10, direction = Parameter.Direction.IN, description = "Dummy parameter.") private Double param_Double; @Parameter( label= "Float", required = false, dataIOOrder = 11, direction = Parameter.Direction.IN, description = "Dummy parameter.") private Float param_Float; @Parameter( label= "Integer", required = false, dataIOOrder = 12, direction = Parameter.Direction.IN, description = "Dummy parameter.") private Integer param_Integer; @Parameter( label= "Long", required = false, dataIOOrder = 13, direction = Parameter.Direction.IN, description = "Dummy parameter.") private Long param_Long; @Parameter( label= "Short", required = false, dataIOOrder = 14, direction = Parameter.Direction.IN, description = "Dummy parameter.") private Short param_Short; @Parameter( label= "String_array", required = false, dataIOOrder = 15, direction = Parameter.Direction.IN, description = "Dummy parameter.") private String [] array_String = null; // new String[]{"AAA","BBB","CCC","DDD","EEE"}; @Parameter( label= "Integer_array", required = false, dataIOOrder = 16, direction = Parameter.Direction.IN, description = "Dummy parameter.") private Integer [] array_Integer = null; // new Integer[]{new Integer(1), new Integer(2), new Integer(3)}; @Parameter( label= "String_array_2D", required = false, dataIOOrder = 17, direction = Parameter.Direction.IN, description = "Dummy parameter.") private String [][] array_String_2D = new String[][]{{"AAA","BBB","CCC","DDD","EEE"}, {"aaa","bbb","ccc","ddd","eee"}}; @Parameter( label= "Integer_array_2D", required = false, dataIOOrder = 18, direction = Parameter.Direction.IN, description = "Dummy parameter.") private Integer [][] array_Intege_2D = new Integer[][]{ {new Integer(1), new Integer(2), new Integer(3) }, {new Integer(11),new Integer(22),new Integer(33)}}; private static enum EnumSelection { FIRST_VALUE, SECOND_VALUE, THIRD_VALUE } @Parameter( label= "Enum", required = false, dataIOOrder = 19, direction = Parameter.Direction.IN, description = "Dummy parameter.") private EnumSelection param_enum = null; @Parameter( label= "Vector_Double", required = false, dataIOOrder = 20, direction = Parameter.Direction.IN, description = "Dummy parameter.") private Vector<Double> param_vectorDouble = null; @Parameter( label= "Vector_Byte", required = false, dataIOOrder = 20, direction = Parameter.Direction.IN, description = "Dummy parameter.") private Vector<Byte> param_vectorByte = null; @Parameter( label= "File", required = false, dataIOOrder = 21, direction = Parameter.Direction.IN, description = "Dummy parameter.") private ALDFileString param_file = null; @Parameter( label= "Directory", required = false, dataIOOrder = 22, direction = Parameter.Direction.IN, description = "Dummy parameter.") private ALDDirectoryString param_dir = null; // output parameter @Parameter( label= "Output Boolean", required = false, dataIOOrder = 1, direction = Parameter.Direction.OUT, description = "Dummy output parameter.") private Boolean out_Boolean; @Parameter( label= "Output Byte", required = false, dataIOOrder = 2, direction = Parameter.Direction.OUT, description = "Dummy output parameter.") private Byte out_Byte; @Parameter( label= "Output Double", required = false, dataIOOrder = 3, direction = Parameter.Direction.OUT, description = "Dummy output parameter.") private Double out_Double; @Parameter( label= "Output Float", required = false, dataIOOrder = 4, direction = Parameter.Direction.OUT, description = "Dummy output parameter.") private Float out_Float; @Parameter( label= "Output Integer", required = false, dataIOOrder = 5, direction = Parameter.Direction.OUT, description = "Dummy output parameter.") private Integer out_Integer; @Parameter( label= "Output Long", required = false, dataIOOrder = 6, direction = Parameter.Direction.OUT, description = "Dummy output parameter.") private Long out_Long; @Parameter( label= "Output Short", required = false, dataIOOrder = 7, direction = Parameter.Direction.OUT, description = "Dummy output parameter.") private Short out_Short; @Parameter( label= "Output double", required = false, dataIOOrder = 8, direction = Parameter.Direction.OUT, description = "Dummy output parameter.") private double out_double; @Parameter( label= "Output Vector_Double", required = false, dataIOOrder = 9, direction = Parameter.Direction.OUT, description = "Dummyoutput parameter.") private Vector<Double> out_vectorDouble = null; @Parameter( label= "out_Vector_Byte", required = false, dataIOOrder = 10, direction = Parameter.Direction.OUT, description = "Dummy output parameter.") private Vector<Byte> out_vectorByte = null; @Parameter( label= "Output String_array", required = false, dataIOOrder = 15, direction = Parameter.Direction.OUT, description = "Dummy parameter.") private String [] out_array_String = null; @Parameter( label= "Output Integer_array", required = false, dataIOOrder = 16, direction = Parameter.Direction.OUT, description = "Dummy parameter.") private Integer [] out_array_Integer = null; /** * Default constructor. * @throws ALDOperatorException */ public ALDParameterTester() throws ALDOperatorException { super(); } @Override protected void operate() { System.out.println("Parameter settings:"); for (String param : this.getParameterNames()) { try { String value = "null"; if (this.getParameter(param) != null) value = this.getParameter(param).toString(); System.out.println("- " + param + " = " + value); } catch (ALDOperatorException e) { System.err.println("=> Problems printing parameter " + param); continue; } } if (this.array_String != null) { System.out.println("Size of string array = " + this.array_String.length); for (int i=0;i<this.array_String.length;++i) System.out.println("- i = " + i + " -> " + this.array_String[i]); } else { System.out.println("String array not configured!"); } if (this.array_String_2D != null) { System.out.println("2D string array:"); for (int i=0;i<this.array_String_2D.length;++i) { for (int j=0;j<this.array_String_2D[i].length;++j) { System.out.println("- i = " + i + " , j = " + j + " -> " + this.array_String_2D[i][j]); } } } else { System.out.println("String array not configured!"); } if (this.param_vectorDouble != null) { System.out.println("Size of double vector = " + this.param_vectorDouble.size()); for (int i=0;i<this.param_vectorDouble.size();++i) System.out.println("- i = "+i+ " -> " +this.param_vectorDouble.get(i)); } else { System.out.println("Parameter vector double not configured!"); } this.out_Boolean = this.param_Boolean; this.out_Byte = this.param_Byte; this.out_Short = this.param_Short; this.out_Integer = this.param_Integer; this.out_Float = this.param_Float; this.out_Double = this.param_Double; this.out_Long = this.param_Long; this.out_double = this.param_double; this.out_vectorDouble = this.param_vectorDouble; this.out_vectorByte = this.param_vectorByte; this.out_array_String = this.array_String; this.out_array_Integer = this.array_Integer; } } /*BEGIN_MITOBO_ONLINE_HELP This operator has a huge amount of input and output parameters of various types. <p> It basically copies the given input data values to the corresponding output parameter variables. <p> It is mainly intended to be used for testing the functionality of the different data I/O providers. END_MITOBO_ONLINE_HELP*/