SimpleIsolationInfo.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 javax.annotation.Nonnull;
import javax.annotation.Nullable;
import com.google.common.base.Preconditions;
import com.google.common.collect.Range;
import io.github.msdk.datamodel.rawdata.ActivationInfo;
import io.github.msdk.datamodel.rawdata.IsolationInfo;
/**
* Implementation of IsolationInfo
*/
public class SimpleIsolationInfo implements IsolationInfo {
private @Nonnull Range<Double> isolationMzRange;
private @Nullable Float ionInjectTime;
private @Nullable Double precursorMz;
private @Nullable Integer precursorCharge;
private @Nullable ActivationInfo activationInfo;
/**
* <p>Constructor for SimpleIsolationInfo.</p>
*
* @param isolationMzRange a {@link com.google.common.collect.Range} object.
*/
public SimpleIsolationInfo(@Nonnull Range<Double> isolationMzRange) {
Preconditions.checkNotNull(isolationMzRange);
this.isolationMzRange = isolationMzRange;
ionInjectTime = null;
precursorMz = null;
precursorCharge = null;
activationInfo = null;
}
/**
* <p>Constructor for SimpleIsolationInfo.</p>
*
* @param isolationMzRange a {@link com.google.common.collect.Range} object.
* @param ionInjectTime a {@link java.lang.Float} object.
* @param precursorMz a {@link java.lang.Double} object.
* @param precursorCharge a {@link java.lang.Integer} object.
* @param activationInfo a {@link io.github.msdk.datamodel.rawdata.ActivationInfo} object.
*/
public SimpleIsolationInfo(@Nonnull Range<Double> isolationMzRange, @Nullable Float ionInjectTime,
@Nullable Double precursorMz, @Nullable Integer precursorCharge,
@Nullable ActivationInfo activationInfo) {
Preconditions.checkNotNull(isolationMzRange);
this.isolationMzRange = isolationMzRange;
this.ionInjectTime = ionInjectTime;
this.precursorMz = precursorMz;
this.precursorCharge = precursorCharge;
this.activationInfo = activationInfo;
}
/** {@inheritDoc} */
@Override
@Nonnull
public Range<Double> getIsolationMzRange() {
return isolationMzRange;
}
/** {@inheritDoc} */
@Override
@Nullable
public Float getIonInjectTime() {
return ionInjectTime;
}
/** {@inheritDoc} */
@Override
@Nullable
public Double getPrecursorMz() {
return precursorMz;
}
/** {@inheritDoc} */
@Override
@Nullable
public Integer getPrecursorCharge() {
return precursorCharge;
}
/** {@inheritDoc} */
@Override
@Nullable
public ActivationInfo getActivationInfo() {
return activationInfo;
}
}