Class ScannableGroupNamed

All Implemented Interfaces:
Device, Scannable, IScannableGroup, IScannableGroupNamed, Configurable, Findable, gda.observable.IObservable, gda.observable.IObserver
Direct Known Subclasses:
AssemblyBase, DetectorArm, SampleStage

@ServiceInterface(IScannableGroupNamed.class) public class ScannableGroupNamed extends ScannableGroup implements IScannableGroupNamed
A logical group of Scannables that allows multiple Scannables to be moved at the same time, or allows further validation for movement, e.g. MotomanRobotScannableGroup's validation on simultaneous KTheta, KPhi movement, that can additionally be managed through the Finder. inputNames, extraNames and outputFormat are taken from the constituent Scannables, not maintained as a field of the Group. A ScannableGroupNamed is a logical group of Scannables that can be created through Spring instantiation or by adding Scannables from the Jython console, or through the use of Scannable names with the Finder. Configuring a ScannableGroup configures all of its component Scannables and adds itself as an IObserver, and the default behaviour of adding a Scannable to an already configured ScannableGroup is to configure the Scannable (although it can instead un-configure the group, allowing it to be configured again). ScannableGroups can add, remove or set Scannables by using the Scannables or their names, and additionally can remove Scannables by their index. The names within a ScannableGroupNamed are simply taken from the Scannables, not maintained seperately. For a more lightweight Name/Scannable group management object, see AssemblyBase, which maintains Scannables and Names seperately until configured.