SimpleFeature.java
/*
* (C) Copyright 2015-2017 by MSDK Development Team
*
* This software is dual-licensed under either
*
* (a) the terms of the GNU Lesser General Public License version 2.1 as published by the Free
* Software Foundation
*
* or (per the licensee's choosing)
*
* (b) the terms of the Eclipse Public License v1.0 as published by the Eclipse Foundation.
*/
package io.github.msdk.datamodel.impl;
import java.util.List;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import io.github.msdk.datamodel.chromatograms.Chromatogram;
import io.github.msdk.datamodel.features.Feature;
import io.github.msdk.datamodel.ionannotations.IonAnnotation;
import io.github.msdk.datamodel.rawdata.MsScan;
/**
* Implementation of the Feature interface.
*
* @since 0.0.8
*/
public class SimpleFeature implements Feature {
private @Nonnull Double mz;
private @Nonnull Float retentionTime;
private @Nullable Float area, height, snRatio, score;
private @Nullable Chromatogram chromatogram;
private @Nullable List<MsScan> msmsSpectra;
private @Nullable IonAnnotation ionAnnotation;
/** {@inheritDoc} */
@Override
public Double getMz() {
return mz;
}
/** {@inheritDoc} */
@Override
public Float getRetentionTime() {
return retentionTime;
}
/** {@inheritDoc} */
@Override
public Float getArea() {
return area;
}
/** {@inheritDoc} */
@Override
public Float getHeight() {
return height;
}
/** {@inheritDoc} */
@Override
public Float getSNRatio() {
return snRatio;
}
/** {@inheritDoc} */
@Override
public Float getScore() {
return score;
}
/** {@inheritDoc} */
@Override
public Chromatogram getChromatogram() {
return chromatogram;
}
/** {@inheritDoc} */
@Override
public List<MsScan> getMSMSSpectra() {
return msmsSpectra;
}
/** {@inheritDoc} */
@Override
public IonAnnotation getIonAnnotation() {
return ionAnnotation;
}
/**
* <p>Setter for the field <code>mz</code>.</p>
*
* @param mz a {@link java.lang.Double} object.
*/
public void setMz(Double mz) {
this.mz = mz;
}
/**
* <p>Setter for the field <code>retentionTime</code>.</p>
*
* @param retentionTime a {@link java.lang.Float} object.
*/
public void setRetentionTime(Float retentionTime) {
this.retentionTime = retentionTime;
}
/**
* <p>Setter for the field <code>area</code>.</p>
*
* @param area a {@link java.lang.Float} object.
*/
public void setArea(Float area) {
this.area = area;
}
/**
* <p>Setter for the field <code>height</code>.</p>
*
* @param height a {@link java.lang.Float} object.
*/
public void setHeight(Float height) {
this.height = height;
}
/**
* <p>setSNRatio.</p>
*
* @param snRatio a {@link java.lang.Float} object.
*/
public void setSNRatio(Float snRatio) {
this.snRatio = snRatio;
}
/**
* <p>Setter for the field <code>score</code>.</p>
*
* @param score a {@link java.lang.Float} object.
*/
public void setScore(Float score) {
this.score = score;
}
/**
* <p>Setter for the field <code>chromatogram</code>.</p>
*
* @param chromatogram a {@link io.github.msdk.datamodel.chromatograms.Chromatogram} object.
*/
public void setChromatogram(Chromatogram chromatogram) {
this.chromatogram = chromatogram;
}
/**
* <p>setMSMSSpectra.</p>
*
* @param msmsSpectra a {@link java.util.List} object.
*/
public void setMSMSSpectra(List<MsScan> msmsSpectra) {
this.msmsSpectra = msmsSpectra;
}
/**
* <p>Setter for the field <code>ionAnnotation</code>.</p>
*
* @param ionAnnotation a {@link io.github.msdk.datamodel.ionannotations.IonAnnotation} object.
*/
public void setIonAnnotation(IonAnnotation ionAnnotation) {
this.ionAnnotation = ionAnnotation;
}
}