Version: $Id: package.html 39095 2010-08-30 14:53:57Z walla $
The definition of different interfaces are defined here, most of it are to
inherit with a final enumeration class. The root interface of all enumeration
classes is called IEEnum which every enumeration interface inherits. Each
concrete enumeration will implement one of the interfaces
(except the IEEnum) and implement the methods. But here also exists
different classes, one to implement a runnable and a utility class
with different static methods which can be used by every concrete project
class.
So I have defined the following enumeration interfaces with different
proposes:
- IEEnum: This is the root interface. All other enumeration interfaces
will inherit this one. It has only one method which will return the description
of the enumeration in a String value.
- IEDeviceGroup: This enumeration interface describes a range of different
devices.
- IEData: This is the TINE data property enumeration interface
which response to the implemented enumeration and represents a connection
between the view data element and the TINE transmitted one. For this interface
there exist different special interfaces for getting special parameters,
for example the range of a data instance via the interface of
IEDataRange. All of these interfaces start with a IEData....
- IEDevice: This describes different devices. This was adopted
by the program "Instant Client" which runs on every developer computer system.
- IEDeviceElement: Each device can have different elements.
- IEDeviceView: This describes different device views. This belongs
to the graphical user interface which is displayed on screen.
- IEButton: This describes as an enumeration different buttons and
its corresponding description and name. It is an express-able thing which is
there for be mentioned in the view part of the MVC design pattern. It has
currently no methods.
- IEPanel: This is only an enumeration type of the viewable panel
description. It has currently no methods.
- IEExpectList: This describes different expected values. These are the
returned values by the execution, and therefore synchronous calls of a TLink. It
will try to get the data. During getting it no other operation is possible.
- IEFlag: This describes different flag values. It represents the flag
of a status register in the hardware.
- IEViewDevice: This is only a dummy interface for a device
view. It is a common interface for the view in the MVC design pattern.
Moreover here also exists the Observer Design Pattern. This is include in
the interfaces of IObserver and IDeviceSubject.
Adjustment of Values in IEData
The adjustment of component values was delivered in the enumeration interface of
IEData. There exists on method which tell the caller if this
component is adjusted or not. With adjustment I mean that you drag the component
by pressing down a mouse button and then moving it to the position you want it.
After doing so, you leaf the mouse button. During the hole dragging of the component
the adjustment method will return a true value.
The solution to put this information into an enumeration interface was not
a good one. You should find a better one. Explicitly that I set the adjustment
in the enumeration type sounds for my ears very bat. But its works very good.
Fire Event in IEData
Normally all elements of these enumeration interface will fire an event to
modified it in the CDI server and therefore in the hardware and not only on screen.
This is currently done if this method returns a true value. If not it
will return a false.
You can also set this value by calling the method of putFireEvent(boolean)
which will set corresponding boolean value of the firing event behavior.
Send Pre Values to the Server
Some transmitters need to send values to the server before returning the
current ones to the client application. For setting these values there exists
in this library the interface of {@code de.desy.mst.libs.accelerator.IESendValue}
which returns the pre set values with the method of
{@code IESendValue.preSendValue():int[]}.
If you need this method in the interface you only need to implement this
interface in the concrete enumeration.
The concrete values are set in the enumeration constructor and delclared by
each enumeration element.
CHANGES
- 23.10.06: Created this package.
- 23.10.06: Moved from the project P3Temperaturen from the
package de.desy.mst.petra.instruments.temperaturen.common the
interfaces and final classes called Constant, ISubject,
IObserver and IDeviceView.
- 23.10.06: Moved the test class for the final class Constant
to here. The classes was named ConstantTest.
- 23.10.06: Build new interfaces called IDeviceName and
IMonitorName. These are the dummy interfaces for the concrete enumeration
in the projects.
- 24.10.06: Moved the interface IMonitorName to the package
...common.monitor.
- 16.11.06: Added the class Utility with different static class methods.
- 21.11.06: Added the interface IFlag. It represents the flag
of a status register in the hardware.
- 22.11.06: Moved the IPropertyName to this package.
- 22.11.06: Added the IResult to this package.
- 30.11.06: Added the interface IEnum and IExertValue
to this package.
- 14.12.06: Changed the package name from de.desy.mst.petra.instruments.common...
to de.desy.mst.libaccelerator.
- 15.12.06: Added the interface of accessible TINE connections called
IAccess. This will be inherited to the enumeration of accessing the
connections in the monitor packages.
- 19.01.07: Renamed the enumeration interface to an obvious name (of
an interface which should be inherited by enumerations). These are IEAccess,
IEDeviceName, IEDeviceView, IEEnum, IEExertValue,
IEFlag, IEPropertyName, IEResult. Created a new
interface of an enumeration called IEPanel.
- 19.01.07: Moved from the package de.desy.mst.libaccelerator.view
to here the interface of enumeration IEButton. Before moving it I have
renamed it from IButton.
- 13.02.07: Changed the interface name of IEExertValue (which
is a worse description of what it really should describe) to IEExpectList.
- 26.02.07: Add the two enumeration of EGraphicComponent and
EViewElement.
- 27.03.07: Renamed the the enumeration from IEDeviceName to
IEDevices.
- 30.03.07: Moved the interfaces of IComponentSubject from the
package ...view to here and renamed the interface of ISubject
to IDeviceSubject.
- 07.05.07: Moved the interfaces of IEGenericView, IEViewContainer
from the package of ...view to here and renamed the interface of IEGenericView
to IEViewGeneric. Moreover I have renamed the enumeration interface of
IEDeviceView to IEViewDevice.
- 07.05.07: Moved the enumeration interfaces of IEDataComponent
to this package.
- 25.05.07: Created the new enumeration interface called IEDeviceElement
for the qualification of the devices.
- 06.06.07: Created three new comparator classes for comparing with
integers, strings, and the enumeration interface of IEDataComponent.
These classes are called ComparatorInt, ComparatorStr,
and ComparatorData.
- 14.10.07: Created a new description enumeration called EDescription.
It helps to describe the returned value in the method of
IEEnum.getName(EDescription).
- 14.10.07: Renamed the enumeration form EDescription to
EName.
- 17.10.07: Moved the interface IRunnable from the PIA RF
client application into this library.
- 25.10.07: Added two new annotations which are responsible for
the version control of the application and classes, and a new enumeration which
tells the developer the release type.
- 14.11.07: Added two new classes (CGeneralConstant and
ADataRunnable) and an enumeration (EServer). The first class
provides the general constant fields and a method, which returns if the current server
is write protected or not. The second class provides an abstract class which inherits
IRunnable and implements the method of isActive,
isError and setValue but leaves run. The enumeration
tells which server you mean (currently used in the method
CGeneralConstant.isWriteArmed(EServer):boolean).
- 14.11.07: Removed the class Constant.
- 15.01.08: Added the enumeration interface of IESendValue.
- 22.01.08: Removed the enumeration interface called IEDataSendShort
and IEDataSendInt and created a new meta interface called
IEDataPreSendValue for the pre send value.
- 22.01.08: Renamed the enumeration interface from IEDataComponent to
IEData.
- 26.01.08: Created different special data interfaces and delete a lot
of method names from the enumeration interface IEData:
IEDataAddress, IEDataCavity, IEDataFactor, IEDataRange,
and IEDataSetValues.
- 01.02.08: Created the new interface for data component which allows
to send values before sending the special ones. It is called
IEDataSendNumber.
- 13.02.08: Created a new interface IRunnableExtension which
extends IRunnable with two methods which I have taken from the extended
interface.
- 14.02.08: Renamed the interface of IEDataPreSendValue to
IEDataMetaValue.
- 28.03.08: Recreated the class ComparatorData.
- 16.04.08: Created new class ApplicationInitialization.
- 30.05.08: Created new interface IEDataMpxChannel.
- 27.06.08: Moved the class of Version from the special
accelerator projects to this common library.
- 25.08.08: Created new enumeration ESeverity.
- 28.11.08: Created a new interface for sending a TINE data type for
the data element interface IEData. The interface is called
IEDataSendDataType.
- 02.03.09: Created a new interface for sending the pre defined meta
value for the data element interface called IEDataMetaDataType.
- 05.03.09: Created two new data element interfaces which uses as its
base interface IEData. Both deliver a TINE data construction,
which is provided by a super class of TTaggedStructure (this is the
new created interface of IEDataReadStructureType) or by the interface
of TCompoundDataObject (this is the new created interface of
IEDataReadCompoundDataType).
- 09.03.09: Created a new class which reflects with its static class
methods all arguments which are set by calling it from a JNLP or from a command
line terminal. It is called ApplicationArguments.
- 29.10.09: Created a new interface for the Drag and Drop facilities
of Java's AWT framework. This class is called IEDataMetaDragAndDrop.
- 30.03.10: Added new enumeration for the service elements, which
currently consists of the maximum, minimum, and unit values. The enumeration
is called EServiceElement.
- 30.03.10: Added new data preference enumeration which inherits the
concrete IEData enumeration interface. Reflects the preference elements
which can be retrived from the enumeration of EServiceElement. This
interface is called EDataPreference.
- 31.03.10: Added new final little class called Counter
which increments a counter and request if the counter has reached the
upper limit value.
- 30.08.10: Added new final class called Agency. Does really
the same as the Counter class, execept that their exists a
key element which returns the corresponding Agency.Tracer instance.
TODO