package nl.tudelft.lifetiles.sequence.model; import java.util.ArrayList; import java.util.List; /** * Contains an entire sequence. * * @author Rutger van den Berg */ public class DefaultSequence implements Sequence { /** * Identifier for this sequence. */ private final String ident; /** * List of sequence segments related to this sequence. */ private final List<SequenceSegment> sequenceList; /** * @param identifier * The identifier for this sequence. */ public DefaultSequence(final String identifier) { ident = identifier; sequenceList = new ArrayList<>(); } /** * {@inheritDoc} */ @Override public void appendSegment(final SequenceSegment segment) { sequenceList.add(segment); } /** * {@inheritDoc} */ @Override public String getIdentifier() { return ident; } /** * {@inheritDoc} */ @Override public List<SequenceSegment> getSegments() { return sequenceList; } /** * {@inheritDoc} */ @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result; if (ident != null) { result += ident.hashCode(); } return result; } /** * {@inheritDoc} */ @Override public boolean equals(final Object other) { if (other instanceof Sequence) { return ident.equals(((Sequence) other).getIdentifier()); } return false; } /** * {@inheritDoc} */ @Override public String toString() { return "[Sequence: " + getIdentifier() + "]"; } }