Class JEPConverterHolder<S extends javax.measure.Quantity<S>,T extends javax.measure.Quantity<T>>
- All Implemented Interfaces:
Findable,IConverter<javax.measure.Quantity<S>,,javax.measure.Quantity<T>> IQuantitiesConverter<S,,T> IQuantityConverter<S,,T> IReloadableQuantitiesConverter<S,T>
An instance of this object is to be created by the Castor system within the ObjectServer due to presence in the main xml file of content of the from:
The object implements findable so it can be found via the Jython script using the command
converter = finder.find("dcm_energy_perp_converter")
The object implements IReloadableQuantitiesConverter so that the lookup table can be re-read using the command:
finder.find("dcm_energy_perp_converter").ReloadConverter
The object implements IQuantitiesConverter so that the object can be referenced by CombinedDOF.
The object implements IQuantityConverter to allow the conversion to be easily tested using the commands:
converter = finder.find("dcm_energy_perp_converter")
import org.jscience.physics.quantities.Quantity as Quantity
q = Quantity.valueOf(-200, converter.AcceptableTargetUnits().get(0))
converter.ToSource(q)
The expression file is to be found in the folder pointed to be LocalProperties.get("gda.function.columnDataFile.lookupDir").
The expression file is to be of the form:
<JEPQuantityConverter> <ExpressionTtoS>X/2</ExpressionTtoS> <ExpressionStoT>2X</ExpressionStoT> <AcceptableSourceUnits>Angstrom</AcceptableSourceUnits> <AcceptableTargetUnits>mm</AcceptableTargetUnits> </JEPQuantityConverter>
-
Constructor Summary
ConstructorsConstructorDescriptionJEPConverterHolder(String name, String expressionFileName) Creates a JEPConverterHolder with the specified name which loads converter information from the specified file. -
Method Summary
Modifier and TypeMethodDescriptionjavax.measure.Quantity<T>[]calculateMoveables(javax.measure.Quantity<S>[] sources, Object[] moveables) Calculates an array of values in units of the source given an array of quantities in units of the sourceReturns the units in which the targets quantities passed into ToSource can be expressedReturns the units in which the sources quantities passed into calculateMoveables can be expressedReturns the filename of the expression file.booleanbooleanvoidReload its state from any resource on which it may depend e.g.voidSet or change the name of the object (as defined in XML).booleanReturns true is the conversion reverses the sense.javax.measure.Quantity<S> Calculates a value for Source given the value of the targetjavax.measure.Quantity<S>[]Calculates an array of values in units of the source given an array of quantities in units of the moveablestoString()javax.measure.Quantity<T> Calculates a value for Target given the value of the sourceMethods inherited from class gda.factory.FindableBase
equals, getName, hashCode
-
Constructor Details
-
JEPConverterHolder
Creates a JEPConverterHolder with the specified name which loads converter information from the specified file.- Parameters:
name- the converter nameexpressionFileName- the converter expression filename
-
-
Method Details
-
getExpressionFileName
Returns the filename of the expression file.- Returns:
- the expression filename
-
setName
Description copied from interface:FindableSet or change the name of the object (as defined in XML).- Specified by:
setNamein interfaceFindable- Overrides:
setNamein classFindableBase- Parameters:
name- the object name
-
reloadConverter
public void reloadConverter()Description copied from interface:IReloadableQuantitiesConverterReload its state from any resource on which it may depend e.g. re-read a lookup table.- Specified by:
reloadConverterin interfaceIReloadableQuantitiesConverter<S extends javax.measure.Quantity<S>,T extends javax.measure.Quantity<T>>
-
getAcceptableMoveableUnits
Description copied from interface:IQuantitiesConverterReturns the units in which the targets quantities passed into ToSource can be expressed- Specified by:
getAcceptableMoveableUnitsin interfaceIQuantitiesConverter<S extends javax.measure.Quantity<S>,T extends javax.measure.Quantity<T>> - Returns:
- Each element of the array is an array of units that is acceptable for the corresponding target in calls to ToSource
-
getAcceptableUnits
Description copied from interface:IQuantitiesConverterReturns the units in which the sources quantities passed into calculateMoveables can be expressed- Specified by:
getAcceptableUnitsin interfaceIQuantitiesConverter<S extends javax.measure.Quantity<S>,T extends javax.measure.Quantity<T>> - Returns:
- Each element of the array is an array of units that is acceptable for the corresponding source in calls to calculateMoveables
-
calculateMoveables
public javax.measure.Quantity<T>[] calculateMoveables(javax.measure.Quantity<S>[] sources, Object[] moveables) throws Exception Description copied from interface:IQuantitiesConverterCalculates an array of values in units of the source given an array of quantities in units of the source- Specified by:
calculateMoveablesin interfaceIQuantitiesConverter<S extends javax.measure.Quantity<S>,T extends javax.measure.Quantity<T>> - Parameters:
sources- Array of values in units of the sources to be converted.moveables- Array ofMoveable- Returns:
- Array of calculated values in units of the moveables
- Throws:
Exception
-
toSource
public javax.measure.Quantity<S>[] toSource(javax.measure.Quantity<T>[] targets, Object[] moveables) throws Exception Description copied from interface:IQuantitiesConverterCalculates an array of values in units of the source given an array of quantities in units of the moveables- Specified by:
toSourcein interfaceIQuantitiesConverter<S extends javax.measure.Quantity<S>,T extends javax.measure.Quantity<T>> - Parameters:
targets- Array of values in units of the moveables to be converted.moveables- Array ofMoveable- Returns:
- Array of calculated values in units of the source
- Throws:
Exception
-
toString
-
getAcceptableSourceUnits
- Specified by:
getAcceptableSourceUnitsin interfaceIQuantityConverter<S extends javax.measure.Quantity<S>,T extends javax.measure.Quantity<T>> - Returns:
- AcceptableSourceUnits
-
getAcceptableTargetUnits
- Specified by:
getAcceptableTargetUnitsin interfaceIQuantityConverter<S extends javax.measure.Quantity<S>,T extends javax.measure.Quantity<T>> - Returns:
- AcceptableTargetUnits
-
toSource
Description copied from interface:IConverterCalculates a value for Source given the value of the target -
toTarget
Description copied from interface:IConverterCalculates a value for Target given the value of the source -
sourceMinIsTargetMax
public boolean sourceMinIsTargetMax()Description copied from interface:IConverterReturns true is the conversion reverses the sense. So that to get the max of the source you convert the min of the target and vice versa- Specified by:
sourceMinIsTargetMaxin interfaceIConverter<S extends javax.measure.Quantity<S>,T extends javax.measure.Quantity<T>> - Returns:
- true is the conversion reverses the sense.
-
handlesStoT
public boolean handlesStoT()- Specified by:
handlesStoTin interfaceIQuantityConverter<S extends javax.measure.Quantity<S>,T extends javax.measure.Quantity<T>> - Returns:
- true if the converter converts from S to T
-
handlesTtoS
public boolean handlesTtoS()- Specified by:
handlesTtoSin interfaceIQuantityConverter<S extends javax.measure.Quantity<S>,T extends javax.measure.Quantity<T>> - Returns:
- true if the converter converts from T to S
-