fr.esrf.TangoDs
Class TemplCommandInOut
java.lang.Object
fr.esrf.TangoDs.Command
fr.esrf.TangoDs.TemplCommand
fr.esrf.TangoDs.TemplCommandInOut
- All Implemented Interfaces:
- TangoConst
public class TemplCommandInOut
- extends TemplCommand
- implements TangoConst
This class is a class representing a command in the template command model
with input parameter and output parameter
- Version:
- $Revision: 1.4 $
- Author:
- $Author: pascal_verdier $
//
// Copyright (C) : 2004,2005,2006,2007,2008,2009
// European Synchrotron Radiation Facility
// BP 220, Grenoble 38043
// FRANCE
//
// This file is part of Tango.
//
// Tango 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.
//
// 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 General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Tango. If not, see .
//
// $Revision: 1.4 $
//
// $Log: TemplCommandInOut.java,v $
// Revision 1.4 2009/03/25 13:33:28 pascal_verdier
// ...
//
// Revision 1.3 2009/01/16 12:37:13 pascal_verdier
// IntelliJIdea warnings removed.
//
// Revision 1.2 2008/10/10 11:30:46 pascal_verdier
// Headers changed for LGPL conformity.
//
// Revision 1.1 2007/08/23 08:33:25 ounsy
// updated change from api/java
//
// Revision 3.9 2007/05/29 08:07:43 pascal_verdier
// Long64, ULong64, ULong, UShort and DevState attributes added.
//
// Revision 3.8 2005/12/02 09:55:46 pascal_verdier
// java import have been optimized.
//
// Revision 3.7 2004/06/29 04:05:09 pascal_verdier
// Comments used by javadoc added.
//
// Revision 3.6 2004/05/14 13:47:56 pascal_verdier
// Compatibility with Tango-2.2.0 cpp
// (polling commands and attibites).
//
// Revision 3.5 2004/03/12 14:07:56 pascal_verdier
// Use JacORB-2.1
//
// Revision 2.0 2003/01/09 16:02:58 taurel
// - Update release number before using SourceForge
//
// Revision 1.1.1.1 2003/01/09 15:54:39 taurel
// Imported sources into CVS before using SourceForge
//
// Revision 1.6 2001/10/10 08:11:25 taurel
// See Tango WEB pages for list of changes
//
// Revision 1.5 2001/07/04 15:06:38 taurel
// Many changes due to new release
//
// Revision 1.2 2001/05/04 12:03:22 taurel
// Fix bug in the Util.get_device_by_name() method
//
// Revision 1.1.1.1 2001/04/04 08:23:53 taurel
// Imported sources
//
// Revision 1.3 2000/04/13 08:23:02 taurel
// Added attribute support
//
// Revision 1.2 2000/02/04 09:10:01 taurel
// Just update revision number
//
// Revision 1.1.1.1 2000/02/04 09:08:24 taurel
// Imported sources
//
//
// copyleft : European Synchrotron Radiation Facility
// BP 220, Grenoble 38043
// FRANCE
//
//-============================================================================
package fr.esrf.TangoDs;
import fr.esrf.Tango.*;
import org.omg.CORBA.Any;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
/**
This class is a class representing a command in the template command model
with input parameter and output parameter, $Author: pascal_verdier $
| Fields inherited from interface fr.esrf.TangoDs.TangoConst |
ACCESS_READ, ACCESS_SERVICE, ACCESS_WRITE, ARCHIVE_EVENT, ATT_CONF_EVENT, Attr_AdmName, Attr_Description, Attr_Name, Attr_State, Attr_Status, Attr_Unknown, ATTRIBUTE, BY_CLASS, BY_DEVICE, BY_PROCESS, CHANGE_EVENT, COMMAND, CONTROL_SYSTEM, DATA_READY_EVENT, DEFAULT_LOCK_VALIDITY, eventNames, LOGGING_CONSOLE_TARGET, LOGGING_CONSOLE_TARGET_ID, LOGGING_DEBUG, LOGGING_DEF_RFT, LOGGING_DEVICE_TARGET, LOGGING_DEVICE_TARGET_ID, LOGGING_ERROR, LOGGING_FATAL, LOGGING_FILE_TARGET, LOGGING_FILE_TARGET_ID, LOGGING_INFO, LOGGING_LEVELS, LOGGING_MAX_RFT, LOGGING_MIN_RFT, LOGGING_OFF, LOGGING_SEPARATOR, LOGGING_UNKNOWN_TARGET_ID, LOGGING_WARN, NO_SYNC, NOT_STATELESS, NotANumber, Op_BlackBox, Op_Command, Op_Command_2, Op_Command_inout, Op_Command_inout_2, Op_Command_inout_history_2, Op_Command_list, Op_Command_list_2, Op_Get_Attr_Config, Op_Get_Attr_Config_2, Op_Info, Op_Ping, Op_Read_Attr, Op_Read_Attr_2, Op_Read_Attr_history_2, Op_Set_Attr_Config, Op_Unknown, Op_Write_Attr, PERIODIC_EVENT, QUALITY_EVENT, Req_Attribute, Req_Operation, Req_Unknown, SERVICE_PROP_NAME, STATELESS, Tango_AllAttr, Tango_AllAttr_3, Tango_AlrmValueNotSpec, Tango_AssocWritNotSpec, Tango_AttrDataFormatName, Tango_CLNT_TIMEOUT, Tango_CmdArgTypeName, Tango_CONST_DEV_STRING, Tango_DbObjName, Tango_DEFAULT_POLL_OLD_FACTOR, Tango_DEFAULT_TIMEOUT, Tango_DEFAULT_TIMEOUT_SEC, Tango_DefaultBlackBoxDepth, Tango_DefaultDocUrl, Tango_DefaultPollRingDepth, Tango_DefaultWritableProp, Tango_DELTA_T, Tango_DescNotSet, Tango_DescNotSpec, Tango_DEV_BOOLEAN, Tango_DEV_CHAR, Tango_DEV_DOUBLE, Tango_DEV_ENCODED, Tango_DEV_FLOAT, Tango_DEV_INT, Tango_DEV_LONG, Tango_DEV_LONG64, Tango_DEV_SHORT, Tango_DEV_STATE, Tango_DEV_STRING, Tango_DEV_UCHAR, Tango_DEV_ULONG, Tango_DEV_ULONG64, Tango_DEV_USHORT, Tango_DEV_VOID, Tango_DevStateName, Tango_DEVVAR_CHARARRAY, Tango_DEVVAR_DOUBLEARRAY, Tango_DEVVAR_DOUBLESTRINGARRAY, Tango_DEVVAR_FLOATARRAY, Tango_DEVVAR_LONG64ARRAY, Tango_DEVVAR_LONGARRAY, Tango_DEVVAR_LONGSTRINGARRAY, Tango_DEVVAR_SHORTARRAY, Tango_DEVVAR_STRINGARRAY, Tango_DEVVAR_ULONG64ARRAY, Tango_DEVVAR_ULONGARRAY, Tango_DEVVAR_USHORTARRAY, Tango_DevVersion, Tango_DISCARD_THRESHOLD, Tango_DispUnitNotSpec, Tango_DSDeviceDomain, Tango_EXPERT_ATTR, Tango_EXPERT_CMD, Tango_FormatNotSpec, Tango_InitialOutput, Tango_LabelNotSpec, TANGO_LOG_PATH, Tango_MAX_TRANSFER_SIZE, Tango_MaxServerNameLength, Tango_MIN_POLL_PERIOD, Tango_OPERATOR_ATTR, Tango_OPERATOR_CMD, Tango_POLL_ADD_OBJ, Tango_POLL_ATTR, Tango_POLL_CMD, Tango_POLL_REM_DEV, Tango_POLL_REM_OBJ, Tango_POLL_START, Tango_POLL_STOP, Tango_POLL_UPD_PERIOD, Tango_PollAttribute, Tango_PollCommand, Tango_QualityName, Tango_REL_1, Tango_REL_2, Tango_ResNotDefined, Tango_StdUnitNotSpec, Tango_SysProperty, Tango_TG_IMP_MINOR_DEVFAILED, Tango_TG_IMP_MINOR_NON_DEVFAILED, Tango_TG_IMP_MINOR_TO, Tango_TgLibVers, Tango_UnitNotSpec, USER_EVENT |
|
Constructor Summary |
TemplCommandInOut(java.lang.String name,
java.lang.String exe_method)
Constructs a newly allocated TemplCommandInOut object for a command with a
name and an execution method. |
TemplCommandInOut(java.lang.String name,
java.lang.String exe_method,
DispLevel disp)
Constructs a newly allocated TemplCommandInOut object for a command with a
name and an execution method. |
TemplCommandInOut(java.lang.String name,
java.lang.String exe_method,
java.lang.String state_method)
Constructs a newly allocated TemplCommandInOut object for a command with a
name, an execution method and a command allowed method. |
TemplCommandInOut(java.lang.String name,
java.lang.String exe_method,
java.lang.String state_method,
DispLevel disp)
Constructs a newly allocated TemplCommandInOut object for a command with a
name, an execution method and a command allowed method. |
TemplCommandInOut(java.lang.String name,
java.lang.String exe_method,
java.lang.String in_desc,
java.lang.String out_desc)
Constructs a newly allocated TemplCommandInOut object for a command with a
name, an execution method and a description for the
input and output command parameters
The command display type is set to OPERATOR_CMD. |
TemplCommandInOut(java.lang.String name,
java.lang.String exe_method,
java.lang.String in_desc,
java.lang.String out_desc,
DispLevel disp)
Constructs a newly allocated TemplCommandInOut object for a command with a
name, an execution method and a description for the
input and output command parameters |
TemplCommandInOut(java.lang.String name,
java.lang.String exe_method,
java.lang.String state_method,
java.lang.String in_desc,
java.lang.String out_desc)
Constructs a newly allocated TemplCommandInOut object for a command with a
name, an execution method, a command allowed method and a description for the
input and output command parameters. |
TemplCommandInOut(java.lang.String name,
java.lang.String exe_method,
java.lang.String state_method,
java.lang.String in_desc,
java.lang.String out_desc,
DispLevel disp)
Constructs a newly allocated TemplCommandInOut object for a command with a
name, an execution method, a command allowed method and a description for the
input and output command parameters. |
|
Method Summary |
void |
analyse_methods()
Analyse the method given at construction time. |
org.omg.CORBA.Any |
execute(DeviceImpl dev,
org.omg.CORBA.Any in_any)
Invoke the command execution method given at object creation time. |
boolean |
is_allowed(DeviceImpl dev,
org.omg.CORBA.Any data_in)
Invoke the command allowed method given at object creation time. |
| Methods inherited from class fr.esrf.TangoDs.Command |
extract_DevBoolean, extract_DevDouble, extract_DevFloat, extract_DevLong, extract_DevLong64, extract_DevShort, extract_DevState, extract_DevString, extract_DevULong, extract_DevULong64, extract_DevUShort, extract_DevVarCharArray, extract_DevVarDoubleArray, extract_DevVarDoubleStringArray, extract_DevVarFloatArray, extract_DevVarLong64Array, extract_DevVarLongArray, extract_DevVarLongStringArray, extract_DevVarShortArray, extract_DevVarStringArray, extract_DevVarULong64Array, extract_DevVarULongArray, extract_DevVarUShortArray, get_device_class_name, get_disp_level, get_in_type_desc, get_in_type, get_name, get_out_type_desc, get_out_type, get_polling_period, get_tag, insert_u, insert_u, insert_u, insert_u, insert_u, insert_u, insert, insert, insert, insert, insert, insert, insert, insert, insert, insert, insert, insert, insert, insert, insert, insert, insert, insert, is_template, set_device_class_name, set_disp_level, set_in_type_desc, set_out_type_desc, set_polling_period |
| Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
TemplCommandInOut
public TemplCommandInOut(java.lang.String name,
java.lang.String exe_method,
java.lang.String state_method)
- Constructs a newly allocated TemplCommandInOut object for a command with a
name, an execution method and a command allowed method.
This constructor set the command input and output type to Tango_DEV_VOID
The input and output parameter description are set to the default String
"Uninitialised".
The command display type is set to OPERATOR_CMD.
- Parameters:
name - The command nameexe_method - The command execution method namestate_method - The command allowed method name
TemplCommandInOut
public TemplCommandInOut(java.lang.String name,
java.lang.String exe_method)
- Constructs a newly allocated TemplCommandInOut object for a command with a
name and an execution method.
This constructor set the command input and output type to Tango_DEV_VOID.
The input and output parameter description are set to the default String
"Uninitialised".
The command display type is set to OPERATOR_CMD.
- Parameters:
name - The command nameexe_method - The command execution method name
TemplCommandInOut
public TemplCommandInOut(java.lang.String name,
java.lang.String exe_method,
java.lang.String state_method,
java.lang.String in_desc,
java.lang.String out_desc)
- Constructs a newly allocated TemplCommandInOut object for a command with a
name, an execution method, a command allowed method and a description for the
input and output command parameters.
This constructor set the command input and output type to Tango_DEV_VOID
The command display type is set to OPERATOR_CMD.
- Parameters:
name - The command nameexe_method - The command execution method namestate_method - The command allowed method namein_desc - The command input parameter descriptionout_desc - The command output parameter description
TemplCommandInOut
public TemplCommandInOut(java.lang.String name,
java.lang.String exe_method,
java.lang.String in_desc,
java.lang.String out_desc)
- Constructs a newly allocated TemplCommandInOut object for a command with a
name, an execution method and a description for the
input and output command parameters
The command display type is set to OPERATOR_CMD.
- Parameters:
name - The command nameexe_method - The command execution method namein_desc - The command input parameter descriptionout_desc - The command output parameter description
TemplCommandInOut
public TemplCommandInOut(java.lang.String name,
java.lang.String exe_method,
java.lang.String state_method,
DispLevel disp)
- Constructs a newly allocated TemplCommandInOut object for a command with a
name, an execution method and a command allowed method.
This constructor set the command input and output type to Tango_DEV_VOID
The input and output parameter description are set to the default String
"Uninitialised".
- Parameters:
name - The command nameexe_method - The command execution method namestate_method - The command allowed method namedisp - The command display type
TemplCommandInOut
public TemplCommandInOut(java.lang.String name,
java.lang.String exe_method,
DispLevel disp)
- Constructs a newly allocated TemplCommandInOut object for a command with a
name and an execution method.
This constructor set the command input and output type to Tango_DEV_VOID.
The input and output parameter description are set to the default String
"Uninitialised".
- Parameters:
name - The command nameexe_method - The command execution method namedisp - The command display type
TemplCommandInOut
public TemplCommandInOut(java.lang.String name,
java.lang.String exe_method,
java.lang.String state_method,
java.lang.String in_desc,
java.lang.String out_desc,
DispLevel disp)
- Constructs a newly allocated TemplCommandInOut object for a command with a
name, an execution method, a command allowed method and a description for the
input and output command parameters.
This constructor set the command input and output type to Tango_DEV_VOID
- Parameters:
name - The command nameexe_method - The command execution method namestate_method - The command allowed method namein_desc - The command input parameter descriptionout_desc - The command output parameter descriptiondisp - The command display type
TemplCommandInOut
public TemplCommandInOut(java.lang.String name,
java.lang.String exe_method,
java.lang.String in_desc,
java.lang.String out_desc,
DispLevel disp)
- Constructs a newly allocated TemplCommandInOut object for a command with a
name, an execution method and a description for the
input and output command parameters
- Parameters:
name - The command nameexe_method - The command execution method namein_desc - The command input parameter descriptionout_desc - The command output parameter descriptiondisp - The command display type
analyse_methods
public void analyse_methods()
throws DevFailed
- Analyse the method given at construction time.
This method check if the method(s) given at construction time fulfill the
required specification. It always analyse the execution method and eventually
the command allowed method. The analysis of the command execution method will
also set the command input and output type to the correct value depending on the
execution method input and output parameter type
- Overrides:
analyse_methods in class TemplCommand
- Throws:
DevFailed - If one of the method does not fulfill the requirements
Click here to read
DevFailed exception specification
is_allowed
public boolean is_allowed(DeviceImpl dev,
org.omg.CORBA.Any data_in)
- Invoke the command allowed method given at object creation time.
This method is automtically called by the TANGO core classes when the
associated command is requested by a client to check if the command is allowed
in the actual device state. If the user give a command allowed method
at object creation time, this method will be invoked.
- Overrides:
is_allowed in class TemplCommand
- Parameters:
dev - The device on which the command must be executeddata_in - The incoming data still packed in a CORBA Any object. This
data is passed to this method in case it is necessary to take the command
allowed decision
- Returns:
- A boolean set to true is the command is allowed. Otherwise, the
return value is false. This return value is always set to true if the user
does not supply a method to be excuted. If a method has been supplied, the
return value is the value returned by the user supplied mehod.
execute
public org.omg.CORBA.Any execute(DeviceImpl dev,
org.omg.CORBA.Any in_any)
throws DevFailed
- Invoke the command execution method given at object creation time.
This method is automtically called by the TANGO core classes when the
associated command is requested by a client. It first unpacks the incoming
data. Then, it invokes the user supplied
command execution method and packs the returned data into the outgoing
CORBA Any object
- Overrides:
execute in class TemplCommand
- Parameters:
dev - The device on which the command must be executedin_any - The incoming data still packed in a CORBA Any object.
- Returns:
- The CORBA Any object returned to the client.
- Throws:
DevFailed - If the execution method failed
Click here to read
DevFailed exception specification