/** * * Adds the atom oAtom without specifying a Monomer or a Strand. Therefore the * atom gets added to a Monomer of type UNKNOWN in a Strand of type UNKNOWN. * * @param oAtom The atom to add * */ @Override public void addAtom(IAtom oAtom) { addAtom(oAtom, getMonomer("")); }
/** {@inheritDoc} */ @Override public Collection<String> getMonomerNames() { logger.debug("Getting monomer names"); return super.getMonomerNames(); }
/** {@inheritDoc} */ @Override public Map<String, IMonomer> getMonomers() { logger.debug("Getting monomers as hashtable"); return super.getMonomers(); }
@Override public String toString() { StringBuffer stringContent = new StringBuffer(32); stringContent.append("Strand("); stringContent.append(this.hashCode()); if (getStrandName() != null) { stringContent.append(", N:").append(getStrandName()); } if (getStrandType() != null) { stringContent.append(", T:").append(getStrandType()).append(", "); } stringContent.append(super.toString()); stringContent.append(')'); return stringContent.toString(); }
@Override public IStrand clone() throws CloneNotSupportedException { Strand clone = (Strand) super.clone(); clone.monomers.clear(); for (Iterator<String> iter = clone.getMonomerNames().iterator(); iter.hasNext();) { Monomer monomerClone = (Monomer) (clone.getMonomer(iter.next().toString()).clone()); Iterator<IAtom> atoms = monomerClone.atoms().iterator(); while (atoms.hasNext()) { clone.addAtom(atoms.next(), monomerClone); } } return clone; } }
/** {@inheritDoc} */ @Override public void addAtom(IAtom atom) { logger.debug("Adding atom: ", atom); super.addAtom(atom); }
@Override public IBioPolymer clone() throws CloneNotSupportedException { BioPolymer clone = (BioPolymer) super.clone(); clone.strands.clear(); for (Iterator<String> strands = clone.getStrandNames().iterator(); strands.hasNext();) { Strand strand = (Strand) clone.getStrand(strands.next().toString()).clone(); for (Iterator<String> iter = strand.getMonomerNames().iterator(); iter.hasNext();) { IMonomer monomer = strand.getMonomer(iter.next().toString()); Iterator<IAtom> atoms = monomer.atoms().iterator(); while (atoms.hasNext()) { clone.addAtom((IAtom) atoms.next(), monomer, strand); } } } return clone; } }
/** * Retrieves a Monomer object by specifying its name. [You have to specify the strand to enable * monomers with the same name in different strands. There is at least one such case: every * strand contains a monomer called "".] * * @param monName The name of the monomer to look for * @return The Monomer object which was asked for * */ @Override public IMonomer getMonomer(String monName, String strandName) { Strand strand = (Strand) strands.get(strandName); if (strand != null) { return (Monomer) strand.getMonomer(monName); } else { return null; } }
/** * Removes a particular monomer, specified by its name. * * @param name The name of the monomer to remove */ @Override public void removeMonomer(String name) { if (monomers.containsKey(name)) { Monomer monomer = (Monomer) monomers.get(name); this.remove(monomer); monomers.remove(name); } }
/** {@inheritDoc} */ @Override public String getStrandName() { logger.debug("Getting strand name: ", super.getStrandName()); return super.getStrandName(); }
/** {@inheritDoc} */ @Override public String getStrandType() { logger.debug("Getting strand type: ", super.getStrandType()); return super.getStrandType(); }
@Override public IChemObject newTestObject() { return new Strand(); } });
/** {@inheritDoc} */ @Override public void add(IAtomContainer atomContainer) { logger.debug("Adding atom container: ", atomContainer); super.add(atomContainer); }
@Override public IStrand clone() throws CloneNotSupportedException { Strand clone = (Strand) super.clone(); clone.monomers.clear(); for (Iterator<String> iter = clone.getMonomerNames().iterator(); iter.hasNext();) { Monomer monomerClone = (Monomer) (clone.getMonomer(iter.next().toString()).clone()); Iterator<IAtom> atoms = monomerClone.atoms().iterator(); while (atoms.hasNext()) { clone.addAtom(atoms.next(), monomerClone); } } return clone; } }
/** {@inheritDoc} */ @Override public void addAtom(IAtom oAtom, IMonomer oMonomer) { logger.debug("Adding atom to monomer: ", oAtom, oMonomer); super.addAtom(oAtom, oMonomer); }
@Override public String toString() { StringBuffer stringContent = new StringBuffer(32); stringContent.append("Strand("); stringContent.append(this.hashCode()); if (getStrandName() != null) { stringContent.append(", N:").append(getStrandName()); } if (getStrandType() != null) { stringContent.append(", T:").append(getStrandType()).append(", "); } stringContent.append(super.toString()); stringContent.append(')'); return stringContent.toString(); }
@Override public IBioPolymer clone() throws CloneNotSupportedException { BioPolymer clone = (BioPolymer) super.clone(); clone.strands.clear(); for (Iterator<String> strands = clone.getStrandNames().iterator(); strands.hasNext();) { Strand strand = (Strand) clone.getStrand(strands.next().toString()).clone(); for (Iterator<String> iter = strand.getMonomerNames().iterator(); iter.hasNext();) { IMonomer monomer = strand.getMonomer(iter.next().toString()); Iterator<IAtom> atoms = monomer.atoms().iterator(); while (atoms.hasNext()) { clone.addAtom((IAtom) atoms.next(), monomer, strand); } } } return clone; } }
/** * Retrieves a Monomer object by specifying its name. [You have to specify the strand to enable * monomers with the same name in different strands. There is at least one such case: every * strand contains a monomer called "".] * * @param monName The name of the monomer to look for * @return The Monomer object which was asked for * */ @Override public IMonomer getMonomer(String monName, String strandName) { Strand strand = (Strand) strands.get(strandName); if (strand != null) { return (Monomer) strand.getMonomer(monName); } else { return null; } }
/** * Removes a particular monomer, specified by its name. * * @param name The name of the monomer to remove */ @Override public void removeMonomer(String name) { if (monomers.containsKey(name)) { Monomer monomer = (Monomer) monomers.get(name); this.remove(monomer); monomers.remove(name); } }
@BeforeClass public static void setUp() { setTestObjectBuilder(new ITestObjectBuilder() { @Override public IChemObject newTestObject() { return new Strand(); } }); }