package org.csstudio.platform.model;

/**
 * Interface to a control system process variable with archive data source.
 * <p>
 *
 * @see IProcessVariableName
 * @see IArchiveDataSource
 * @author Jan Hatje and Helge Rickens
 *
 */
public interface IProcessVariableWithSample extends IProcessVariable {
	/**
	 * The global type id.
	 */
	String TYPE_ID = "css:processVariableWithSample"; //$NON-NLS-1$

	/**
	 *
	 *
	 * @return
	 */
	double[] getSampleValue();
	/**
	 *
	 *
	 * @return
	 */
	double[] getTimeStamp();
	/**
	 *
	 *
	 * @return
	 */
	String[] getStatus();
	/**
	 *
	 *
	 * @return
	 */
	String[] getSeverity();
	/**
	 *
	 *
	 * @return
	 */
	int getDBRTyp();
	/**
	 *
	 *
	 * @return
	 */
	String getEGU();
	/**
	 *
	 *
	 * @return
	 */
	int getPrecision();
	/**
	 *
	 *
	 * @return
	 */
	double getLow();
	/**
	 *
	 *
	 * @return
	 */
	double getHigh();

}

@@ -218,17 +218,263 @@
 ckens%0A *
+ %0A * TODO It's actually ... process variable with actual data.%0A * TODO This is limited to double-type samples.%0A * Use either DAL, or the intermediate Value from org.csstudio.utility.pv,%0A * which supports more data types as well as their MetaData.
 %0A
-
  */%0Apubl
@@ -641,36 +641,32 @@
 LS-1$%0A%0A%09/**%0A%09 *%0A
-%09 *%0A
 %09 * @return%0A%09 */
@@ -695,35 +695,103 @@
 lue();%0A%09/**%0A%09 *%0A
-
 %09 *
+ TODO Use the Timestamp (ITimestamp) found elsewhere in this plugin.
 %0A%09 * @return%0A%09 *

Replace with something that handles more than just 'double' ...