package org.eclipse.scanning.api.scan;

import org.eclipse.scanning.api.IScannable;

/**
 * 
 * Clients do not need to consume this service, it is used
 * to provide connection to devices which already exist, like those in GDA8.
 * <p>
 * A bundle implements this service and the scanning
 * consumes the service. The tests provide the service
 * directly.
 * <p>
 * This service is designed to be implemented by GDA8 to 
 * provide scannables (existing ones) to the new system.
 * This can be done easily as IScannable is a subset of
 * Scannable in GDA8.
 * <p>
 * It also provides IDetectors. These are not analogous but
 * not the same as Detector in GDA. The service wraps both gda.device.Detector
 * into IReadableDetector and gda.px.detector.Detector into IScanner. In the
 * first case the model provides the collection time and anything else required.
 * In the later case the model provides the file path and omegaStart required.
 * <p>
 * It mirrors the other connector services like the jms one,
 * which push the details of getting connections outside the
 * core scanning API using declarative services.
 * 
 * @author Matthew Gerring
 *
 */
public interface IDeviceConnectorService {

	/**
	 * 
	 * @param name
	 * @return
	 * @throws ScanningException
	 */
	<T> IScannable<T> getScannable(String name) throws ScanningException;

	
	/**
	 * 
	 * @param name
	 * @return
	 * @throws ScanningException
	 */
	<U> IWritableDetector<U> getDetector(String name) throws ScanningException;

}

@@ -82,20 +82,16 @@
 e;%0A%0A/**%0A
- * %0A
  * Clien
@@ -140,19 +140,16 @@
  is used
-%0A *
  to prov
@@ -162,16 +162,19 @@
 nnection
+%0A *
  to devi
@@ -277,19 +277,16 @@
 scanning
-%0A *
  consume
@@ -303,16 +303,19 @@
 ice. The
+%0A *
  tests p
@@ -332,19 +332,16 @@
  service
-%0A *
  directl
@@ -407,20 +407,16 @@
 GDA8 to 
-%0A * 
 provide 
@@ -425,16 +425,19 @@
 annables
+%0A *
  (existi
@@ -463,19 +463,16 @@
  system.
-%0A *
  This ca
@@ -490,16 +490,26 @@
 asily as
+%0A * %7B@link
  IScanna
@@ -511,16 +511,17 @@
 cannable
+%7D
  is a su
@@ -527,19 +527,16 @@
 ubset of
-%0A *
  Scannab
@@ -578,17 +578,32 @@
 des 
-I
+%7B@link IWritable
 Detector
 s. T
@@ -598,16 +598,18 @@
 Detector
+%7D'
 s. These
@@ -613,20 +613,16 @@
 ese are 
-not 
 analogou
@@ -627,18 +627,22 @@
 ous 
+to, 
 but
-%0A *
  not
+%0A *
  the
@@ -713,22 +713,29 @@
 ctor
-%0A * into IRead
+ into%0A * %7B@link IWrit
 able
@@ -742,16 +742,17 @@
 Detector
+%7D
  and gda
@@ -781,25 +781,45 @@
 into
- IScanner
+%0A * %7B@link IWritableDetector%7D
 . In the
 %0A * 
@@ -814,19 +814,16 @@
 . In the
-%0A *
  first c
@@ -848,16 +848,19 @@
 ides the
+%0A *
  collect
@@ -895,19 +895,16 @@
 equired.
-%0A *
  In the 
@@ -915,32 +915,35 @@
 r case the model
+%0A *
  provides the fi
@@ -1038,19 +1038,16 @@
 the 
-jms
+JMS
  one,
-%0A *
  whi
@@ -1057,16 +1057,19 @@
 push the
+%0A *
  details
@@ -1103,19 +1103,16 @@
 side the
-%0A *
  core sc
@@ -1127,16 +1127,19 @@
 PI using
+%0A *
  declara
@@ -1384,10 +1384,8 @@
 n;%0A%0A
-%09%0A
 %09/**

Improve JavaDoc and autoformat