package org.nextprot.api.isoform.mapper.domain.impl;
import org.nextprot.api.commons.bio.AminoAcidCode;
import org.nextprot.api.commons.bio.variation.prot.varseq.VaryingSequence;
/**
* A simple mutable implementation of VaryingSequence
*
* Created by fnikitin on 04.04.17.
*/
public class VaryingSequenceMutable implements VaryingSequence {
private AminoAcidCode first, last;
private int firstPos, lastPos;
public static VaryingSequenceMutable valueOf(VaryingSequence varyingSequence) {
VaryingSequenceMutable vs = new VaryingSequenceMutable();
vs.first = varyingSequence.getFirstAminoAcid();
vs.firstPos = varyingSequence.getFirstAminoAcidPos();
vs.last = varyingSequence.getLastAminoAcid();
vs.lastPos = varyingSequence.getLastAminoAcidPos();
return vs;
}
public void setFirst(AminoAcidCode first) {
this.first = first;
}
public void setLast(AminoAcidCode last) {
this.last = last;
}
public void setFirstPos(int firstPos) {
this.firstPos = firstPos;
}
public void setLastPos(int lastPos) {
this.lastPos = lastPos;
}
@Override
public AminoAcidCode getFirstAminoAcid() {
return first;
}
@Override
public int getFirstAminoAcidPos() {
return firstPos;
}
@Override
public AminoAcidCode getLastAminoAcid() {
return last;
}
@Override
public int getLastAminoAcidPos() {
return lastPos;
}
}