@Override public IChemObject newTestObject() { return new ChemSequence(); } });
/** {@inheritDoc} */ @Override public void addChemModel(IChemModel chemModel) { logger.debug("Adding chemModel: ", chemModel); super.addChemModel(chemModel); }
/** {@inheritDoc} */ @Override public int getChemModelCount() { logger.debug("Getting ChemModel count: ", super.getChemModelCount()); return super.getChemModelCount(); }
/** * Adds an chemModel to this container. * * @param chemModel The chemModel to be added to this container * * @see #getChemModel */ @Override public void addChemModel(IChemModel chemModel) { if (chemModelCount + 1 >= chemModels.length) { growChemModelArray(); } chemModels[chemModelCount] = chemModel; chemModelCount++; chemModel.addListener(this); notifyChanged(); }
@Test public void testPropagation() { ChemFile cf = new ChemFile(); ChemSequence cs = new ChemSequence(); ChemModel cm = new ChemModel(); IAtomContainerSet som = new AtomContainerSet(); IAtomContainer mol = new AtomContainer(); Atom a1 = new Atom("C"); Atom a2 = new Atom("C"); Bond b1 = new Bond(a1, a2); mol.addAtom(a1); mol.addAtom(a2); mol.addBond(b1); som.addAtomContainer(mol); cm.setMoleculeSet(som); cs.addChemModel(cm); cf.addChemSequence(cs); TestListener ts = new TestListener(); cf.addListener(ts); a2.setSymbol("N"); Assert.assertTrue(ts.changedObject instanceof Atom); Assert.assertEquals("N", ((Atom) ts.changedObject).getSymbol()); }
/** * Called by objects to which this object has * registered as a listener. * *@param event A change event pointing to the source of the change */ @Override public void stateChanged(IChemObjectChangeEvent event) { notifyChanged(event); } }
@Override public void remove() { removeChemModel(--pointer); }
/** {@inheritDoc} */ @Override public Object clone() throws CloneNotSupportedException { Object clone = null; try { clone = super.clone(); } catch (Exception exception) { logger.error("Could not clone DebugAtom: " + exception.getMessage(), exception); logger.debug(exception); } return clone; }
/** {@inheritDoc} */ @Override public void addListener(IChemObjectListener col) { logger.debug("Adding listener: ", col); super.addListener(col); }
/** {@inheritDoc} */ @Override public void addProperties(Map<Object, Object> properties) { logger.debug("Setting properties: ", properties); super.addProperties(properties); }
/** {@inheritDoc} */ @Override public Iterable<IChemModel> chemModels() { logger.debug("Getting chemModels"); return super.chemModels(); }
/** * Called by objects to which this object has * registered as a listener. * *@param event A change event pointing to the source of the change */ @Override public void stateChanged(IChemObjectChangeEvent event) { notifyChanged(event); } }
/** * Adds an chemModel to this container. * * @param chemModel The chemModel to be added to this container * * @see #getChemModel */ @Override public void addChemModel(IChemModel chemModel) { if (chemModelCount + 1 >= chemModels.length) { growChemModelArray(); } chemModels[chemModelCount] = chemModel; chemModelCount++; chemModel.addListener(this); notifyChanged(); }
@Override public void remove() { removeChemModel(--pointer); }
/** * Allows for getting an clone of this object. * *@return a clone of this object */ @Override public Object clone() throws CloneNotSupportedException { ChemFile clone = (ChemFile) super.clone(); // clone the chemModels clone.chemSequenceCount = getChemSequenceCount(); clone.chemSequences = new ChemSequence[clone.chemSequenceCount]; for (int f = 0; f < clone.chemSequenceCount; f++) { clone.chemSequences[f] = (ChemSequence) ((ChemSequence) chemSequences[f]).clone(); } return clone; }
@Override public void startDocument() { chemFile = new ChemFile(); chemSequence = new ChemSequence(); chemModel = new ChemModel(); setOfMolecules = new AtomContainerSet(); }
/** {@inheritDoc} */ @Override public void notifyChanged(IChemObjectChangeEvent evt) { logger.debug("Notifying changed event: ", evt); super.notifyChanged(evt); }
@Override public void endElement(String uri, String local, String raw) { logger.debug("end element: ", raw); if ("identifier".equals(local)) { if (tautomer != null) { // ok, add tautomer setOfMolecules.addAtomContainer(tautomer); chemModel.setMoleculeSet(setOfMolecules); chemSequence.addChemModel(chemModel); } } else if ("formula".equals(local)) { if (tautomer != null) { logger.info("Parsing <formula> chars: ", currentChars); tautomer = new AtomContainer(inchiTool.processFormula( setOfMolecules.getBuilder().newInstance(IAtomContainer.class), currentChars)); } else { logger.warn("Cannot set atom info for empty tautomer"); } } else if ("connections".equals(local)) { if (tautomer != null) { logger.info("Parsing <connections> chars: ", currentChars); inchiTool.processConnections(currentChars, tautomer, -1); } else { logger.warn("Cannot set dbond info for empty tautomer"); } } else { // skip all other elements } }
@Override public Object clone() throws CloneNotSupportedException { ChemSequence clone = (ChemSequence) super.clone(); // clone the chemModels clone.chemModelCount = getChemModelCount(); clone.chemModels = new ChemModel[clone.chemModelCount]; for (int f = 0; f < clone.chemModelCount; f++) { clone.chemModels[f] = (ChemModel) ((ChemModel) chemModels[f]).clone(); } return clone; }
/** {@inheritDoc} */ @Override public void removeChemModel(int pos) { logger.debug("Remove chemModel: ", pos); super.removeChemModel(pos); }