
org.tango.server.annotation.Command Maven / Gradle / Ivy
/**
* Copyright (C) : 2012
*
* Synchrotron Soleil
* L'Orme des merisiers
* Saint Aubin
* BP48
* 91192 GIF-SUR-YVETTE CEDEX
*
* This file is part of Tango.
*
* Tango is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Tango 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 Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Tango. If not, see .
*/
package org.tango.server.annotation;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.tango.DeviceState;
import org.tango.server.command.CommandConfiguration;
import fr.esrf.Tango.DevVarDoubleStringArray;
import fr.esrf.Tango.DevVarLongStringArray;
import fr.esrf.Tango.DispLevel;
/**
*
* Declare a command of a tango device.
*
* Declares a command myCommand with parameter of type int and returns double
*
*
* @Command
* public double myCommand(int value){..};
*
*
*
* Possible parameter types and return types are:
*
* boolean, boolean[], short, short[], long, long[], float, float[], double, double[], String, String[], int, int[],
* {@link DeviceState}, {@link DeviceState}[], byte, byte[], DevEncoded, {@link DevVarLongStringArray},
* {@link DevVarDoubleStringArray}
*
* @author ABEILLE
*
*/
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Command {
/**
* Default name is method name
*
* @return The command name.
*/
String name() default "";
String inTypeDesc() default CommandConfiguration.UNINITIALISED;
/**
* The command output documentation
*
* @return output doc
*/
String outTypeDesc() default CommandConfiguration.UNINITIALISED;
/**
* The command display level. see @link {@link DispLevel}
*
* @return the display level
*/
int displayLevel() default 0;
/**
* define if attribute is polling. period must be configured. see {@link Attribute#pollingPeriod()}
*
* @return is polled
*/
boolean isPolled() default false;
/**
* Configure polling period in ms. use only is {@link Attribute#isPolled()} is true
*
* @return polling period
*/
int pollingPeriod() default 0;
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy