// Path: Java/statsdb-api/src/main/java/uk/ac/tgac/statsdb/exception/QCAnalysisException.java
// public class QCAnalysisException extends Exception {
//   public QCAnalysisException(String s) {
//     super(s);
//   }
// 
//   public QCAnalysisException(String s, Throwable cause) {
//     super(s);
//     if (cause != null) {
//         initCause(cause);
//     }
//   }
// }


import uk.ac.tgac.statsdb.exception.QCAnalysisException;
import java.util.List;
import java.util.Map;
package uk.ac.tgac.statsdb.analysis;



/**
 * Interface defining the contract of QCAnalysis objects
 *
 * @author Rob Davey
 * @date 02/07/13
 * @since 1.0-SNAPSHOT
 */
public interface QCAnalysis {
  /**
   * Get the QCAnalysis ID
   * @return the QCAnalysis object ID
   */
  public long getId();

  /**
   * Sets the ID of this QCAnalysis object
   * @param id
   */
  public void setId(long id);

  /**
   * Retrieve an analysis property value associated with a given key
   *
   * @param key
   * @return
   * @throws QCAnalysisException
   */
// Path: Java/statsdb-api/src/main/java/uk/ac/tgac/statsdb/exception/QCAnalysisException.java
// public class QCAnalysisException extends Exception {
//   public QCAnalysisException(String s) {
//     super(s);
//   }
// 
//   public QCAnalysisException(String s, Throwable cause) {
//     super(s);
//     if (cause != null) {
//         initCause(cause);
//     }
//   }
// }


// Path: Java/statsdb-api/src/main/java/uk/ac/tgac/statsdb/analysis/QCAnalysis.java
import uk.ac.tgac.statsdb.exception.QCAnalysisException;
import java.util.List;
import java.util.Map;

package uk.ac.tgac.statsdb.analysis;



/**
 * Interface defining the contract of QCAnalysis objects
 *
 * @author Rob Davey
 * @date 02/07/13
 * @since 1.0-SNAPSHOT
 */
public interface QCAnalysis {
  /**
   * Get the QCAnalysis ID
   * @return the QCAnalysis object ID
   */
  public long getId();

  /**
   * Sets the ID of this QCAnalysis object
   * @param id
   */
  public void setId(long id);

  /**
   * Retrieve an analysis property value associated with a given key
   *
   * @param key
   * @return
   * @throws QCAnalysisException
   */
  public String getProperty(String key) throws QCAnalysisException;