diff --git a/build.xml b/build.xml
index 9f9bb0360e2..33777812ae2 100644
--- a/build.xml
+++ b/build.xml
@@ -539,7 +539,7 @@
list="pdb,smiles,sdg,inchi,libiocml"/>
+ list="control,extra,fragment,reaction,pdbcml,libiomd"/>
@@ -576,7 +576,7 @@
+
@@ -666,6 +667,7 @@
+
@@ -743,6 +745,7 @@
+
@@ -811,6 +814,7 @@
+
@@ -848,6 +852,7 @@
+
@@ -1080,7 +1085,7 @@
io,builder3d,forcefield,valencycheck,charges,reaction,
smarts,fingerprint,smiles,qsar,qsaratomic,qsarbond,
qsarmolecular,qsarionpot,qsarprotein,pdb,pcore,inchi,
- structgen,libiomd,libiocml,formula,render,extra,sdg,
+ structgen,libiomd,libiocml,formula,render,extra,fragment,sdg,
ioformats,log4j,smsd,signature,iordf,cip,tautomer,
isomorphism,renderbasic,renderawt,silent"/>
diff --git a/src/META-INF/builder3dtools.cdkdepends b/src/META-INF/builder3dtools.cdkdepends
index d7e673ec8d5..02dec8fdcb9 100644
--- a/src/META-INF/builder3dtools.cdkdepends
+++ b/src/META-INF/builder3dtools.cdkdepends
@@ -4,7 +4,6 @@ cdk-data.jar
cdk-silent.jar
cdk-interfaces.jar
cdk-io.jar
-cdk-qsar.jar
cdk-standard.jar
cdk-charges.jar
cdk-forcefield.jar
diff --git a/src/META-INF/charges.cdkdepends b/src/META-INF/charges.cdkdepends
index b2ff0136d52..12a553cfd44 100644
--- a/src/META-INF/charges.cdkdepends
+++ b/src/META-INF/charges.cdkdepends
@@ -1,6 +1,5 @@
cdk-annotation.jar
cdk-core.jar
-cdk-data.jar
cdk-interfaces.jar
cdk-io.jar
cdk-standard.jar
diff --git a/src/META-INF/fingerprint.cdkdepends b/src/META-INF/fingerprint.cdkdepends
index 0981d22e67d..929cbe2a14a 100644
--- a/src/META-INF/fingerprint.cdkdepends
+++ b/src/META-INF/fingerprint.cdkdepends
@@ -2,7 +2,6 @@ cdk-annotation.jar
cdk-interfaces.jar
cdk-core.jar
cdk-standard.jar
-cdk-io.jar
cdk-isomorphism.jar
cdk-valencycheck.jar
cdk-smarts.jar
diff --git a/src/META-INF/forcefield.cdkdepends b/src/META-INF/forcefield.cdkdepends
index f3696b6c451..2fe40c00217 100644
--- a/src/META-INF/forcefield.cdkdepends
+++ b/src/META-INF/forcefield.cdkdepends
@@ -2,9 +2,6 @@ cdk-annotation.jar
cdk-core.jar
cdk-data.jar
cdk-interfaces.jar
-cdk-qsar.jar
-cdk-qsaratomic.jar
cdk-io.jar
cdk-standard.jar
cdk-charges.jar
-cdk-extra.jar
diff --git a/src/META-INF/fragment.cdkdepends b/src/META-INF/fragment.cdkdepends
new file mode 100644
index 00000000000..356e7020877
--- /dev/null
+++ b/src/META-INF/fragment.cdkdepends
@@ -0,0 +1,5 @@
+cdk-interfaces.jar
+cdk-annotation.jar
+cdk-core.jar
+cdk-standard.jar
+cdk-smiles.jar
diff --git a/src/META-INF/qsaratomic.cdkdepends b/src/META-INF/qsaratomic.cdkdepends
index 8ca7fdc1fc6..2c6daf8be9c 100644
--- a/src/META-INF/qsaratomic.cdkdepends
+++ b/src/META-INF/qsaratomic.cdkdepends
@@ -1,10 +1,8 @@
cdk-annotation.jar
cdk-interfaces.jar
-cdk-data.jar
cdk-core.jar
cdk-standard.jar
cdk-valencycheck.jar
-cdk-extra.jar
cdk-isomorphism.jar
cdk-reaction.jar
cdk-isomorphism.jar
diff --git a/src/META-INF/qsarbond.cdkdepends b/src/META-INF/qsarbond.cdkdepends
index 806a947ba14..a7c1648bb6d 100644
--- a/src/META-INF/qsarbond.cdkdepends
+++ b/src/META-INF/qsarbond.cdkdepends
@@ -1,6 +1,5 @@
cdk-annotation.jar
cdk-interfaces.jar
-cdk-data.jar
cdk-core.jar
cdk-standard.jar
cdk-valencycheck.jar
diff --git a/src/META-INF/qsarcml.cdkdepends b/src/META-INF/qsarcml.cdkdepends
index 85f46e09165..bb73fce8ab5 100644
--- a/src/META-INF/qsarcml.cdkdepends
+++ b/src/META-INF/qsarcml.cdkdepends
@@ -1,6 +1,5 @@
cdk-annotation.jar
cdk-core.jar
-cdk-data.jar
cdk-interfaces.jar
cdk-libiocml.jar
cdk-qsar.jar
diff --git a/src/META-INF/qsarionpot.cdkdepends b/src/META-INF/qsarionpot.cdkdepends
index e88d1525a79..bb586959d88 100644
--- a/src/META-INF/qsarionpot.cdkdepends
+++ b/src/META-INF/qsarionpot.cdkdepends
@@ -1,10 +1,8 @@
cdk-annotation.jar
cdk-interfaces.jar
-cdk-data.jar
cdk-core.jar
cdk-standard.jar
cdk-valencycheck.jar
-cdk-extra.jar
cdk-reaction.jar
cdk-charges.jar
cdk-qsar.jar
diff --git a/src/META-INF/qsarmolecular.cdkdepends b/src/META-INF/qsarmolecular.cdkdepends
index 7db685264a6..d1b7ced55ca 100644
--- a/src/META-INF/qsarmolecular.cdkdepends
+++ b/src/META-INF/qsarmolecular.cdkdepends
@@ -1,10 +1,8 @@
cdk-annotation.jar
cdk-interfaces.jar
-cdk-data.jar
cdk-core.jar
cdk-standard.jar
cdk-valencycheck.jar
-cdk-extra.jar
cdk-reaction.jar
cdk-charges.jar
cdk-qsar.jar
@@ -13,3 +11,4 @@ cdk-smarts.jar
cdk-formula.jar
cdk-isomorphism.jar
cdk-dict.jar
+cdk-fragment.jar
diff --git a/src/META-INF/qsarprotein.cdkdepends b/src/META-INF/qsarprotein.cdkdepends
index ce4bed627df..0364206fa8b 100644
--- a/src/META-INF/qsarprotein.cdkdepends
+++ b/src/META-INF/qsarprotein.cdkdepends
@@ -3,8 +3,5 @@ cdk-interfaces.jar
cdk-data.jar
cdk-core.jar
cdk-standard.jar
-cdk-valencycheck.jar
-cdk-reaction.jar
-cdk-charges.jar
cdk-qsar.jar
cdk-pdb.jar
diff --git a/src/META-INF/smarts.cdkdepends b/src/META-INF/smarts.cdkdepends
index 2e5aca2575a..7bab6be37a4 100644
--- a/src/META-INF/smarts.cdkdepends
+++ b/src/META-INF/smarts.cdkdepends
@@ -1,7 +1,6 @@
cdk-annotation.jar
cdk-core.jar
cdk-interfaces.jar
-cdk-io.jar
cdk-standard.jar
cdk-valencycheck.jar
cdk-isomorphism.jar
diff --git a/src/META-INF/test-fragment.cdkdepends b/src/META-INF/test-fragment.cdkdepends
new file mode 100644
index 00000000000..ad6242d0325
--- /dev/null
+++ b/src/META-INF/test-fragment.cdkdepends
@@ -0,0 +1,16 @@
+cdk-annotation.jar
+cdk-interfaces.jar
+cdk-core.jar
+cdk-data.jar
+cdk-standard.jar
+cdk-extra.jar
+cdk-smiles.jar
+cdk-test.jar
+cdk-io.jar
+cdk-silent.jar
+cdk-testdata.jar
+cdk-atomtype.jar
+cdk-valencycheck.jar
+cdk-pdb.jar
+cdk-log4j.jar
+cdk-fragment.jar
diff --git a/src/META-INF/test-fragment.devellibdepends b/src/META-INF/test-fragment.devellibdepends
new file mode 100644
index 00000000000..947f0170f7c
--- /dev/null
+++ b/src/META-INF/test-fragment.devellibdepends
@@ -0,0 +1,2 @@
+junit-4.10.jar
+
diff --git a/src/META-INF/test-fragment.libdepends b/src/META-INF/test-fragment.libdepends
new file mode 100644
index 00000000000..02a4f67b71d
--- /dev/null
+++ b/src/META-INF/test-fragment.libdepends
@@ -0,0 +1,3 @@
+log4j*.jar
+vecmath*.jar
+jgrapht-0.6.0.jar
diff --git a/src/META-INF/test-qsarmolecular.cdkdepends b/src/META-INF/test-qsarmolecular.cdkdepends
index 020fcbb32f0..b9034940cd4 100644
--- a/src/META-INF/test-qsarmolecular.cdkdepends
+++ b/src/META-INF/test-qsarmolecular.cdkdepends
@@ -30,3 +30,4 @@ cdk-builder3d.jar
cdk-forcefield.jar
cdk-sdg.jar
cdk-ioformats.jar
+cdk-fragment.jar
diff --git a/src/main/org/openscience/cdk/EnzymeResidueLocator.java b/src/main/org/openscience/cdk/EnzymeResidueLocator.java
index 4312977c0b4..98442b908db 100644
--- a/src/main/org/openscience/cdk/EnzymeResidueLocator.java
+++ b/src/main/org/openscience/cdk/EnzymeResidueLocator.java
@@ -1,9 +1,4 @@
-/* $RCSfile$
- * $Author$
- * $Date$
- * $Revision$
- *
- * Copyright (C) 2003-2007 Egon Willighagen
+/* Copyright (C) 2003-2007 Egon Willighagen
*
* Contact: cdk-devel@lists.sourceforge.net
*
@@ -24,7 +19,6 @@
* You should have received a copy of the GNU Lesser General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
*/
package org.openscience.cdk;
@@ -32,6 +26,7 @@
* Atom that represents part of an residue in an enzyme, like Arg255.
*
* @see PseudoAtom
+ * @cdk.module pdb
*/
public class EnzymeResidueLocator extends PseudoAtom {
diff --git a/src/main/org/openscience/cdk/config/Elements.java b/src/main/org/openscience/cdk/config/Elements.java
index 79f1796fa75..b9d48826e22 100644
--- a/src/main/org/openscience/cdk/config/Elements.java
+++ b/src/main/org/openscience/cdk/config/Elements.java
@@ -1,9 +1,4 @@
-/* $RCSfile: $
- * $Author$
- * $Date$
- * $Revision$
- *
- * Copyright (C) 2006-2007 Egon Willighagen
+/* Copyright (C) 2006-2012 Egon Willighagen
*
* Contact: cdk-devel@lists.sourceforge.net
*
@@ -27,7 +22,6 @@
*/
package org.openscience.cdk.config;
-import org.openscience.cdk.Element;
import org.openscience.cdk.interfaces.IElement;
import org.openscience.cdk.tools.periodictable.PeriodicTable;
@@ -35,128 +29,128 @@
* List of elements. Data is taken from the Blue Obelisk Data Repository,
* version 3.
*
- * @author egonw
- * @cdk.module extra
+ * @author egonw
+ * @cdk.module standard
* @cdk.githash
*/
public class Elements {
- public final static IElement DUMMY = new Element(PeriodicTable.getSymbol(0), 0);
- public final static IElement HYDROGEN = new Element(PeriodicTable.getSymbol(1), 1);
- public final static IElement HELIUM = new Element(PeriodicTable.getSymbol(2), 2);
- public final static IElement LITHIUM = new Element(PeriodicTable.getSymbol(3), 3);
- public final static IElement BERYLLIUM = new Element(PeriodicTable.getSymbol(4), 4);
- public final static IElement BORON = new Element(PeriodicTable.getSymbol(5), 5);
- public final static IElement CARBON = new Element(PeriodicTable.getSymbol(6), 6);
- public final static IElement NITROGEN = new Element(PeriodicTable.getSymbol(7), 7);
- public final static IElement OXYGEN = new Element(PeriodicTable.getSymbol(8), 8);
- public final static IElement FLUORINE = new Element(PeriodicTable.getSymbol(9), 9);
- public final static IElement NEON = new Element(PeriodicTable.getSymbol(10), 10);
- public final static IElement SODIUM = new Element(PeriodicTable.getSymbol(11), 11);
- public final static IElement MAGNESIUM = new Element(PeriodicTable.getSymbol(12), 12);
- public final static IElement ALUMINIUM = new Element(PeriodicTable.getSymbol(13), 13);
- public final static IElement SILICON = new Element(PeriodicTable.getSymbol(14), 14);
- public final static IElement PHOSPHORUS = new Element(PeriodicTable.getSymbol(15), 15);
- public final static IElement SULFUR = new Element(PeriodicTable.getSymbol(16), 16);
- public final static IElement CHLORINE = new Element(PeriodicTable.getSymbol(17), 17);
- public final static IElement ARGON = new Element(PeriodicTable.getSymbol(18), 18);
- public final static IElement POTASSIUM = new Element(PeriodicTable.getSymbol(19), 19);
- public final static IElement CALCIUM = new Element(PeriodicTable.getSymbol(20), 20);
- public final static IElement SCANDIUM = new Element(PeriodicTable.getSymbol(21), 21);
- public final static IElement TITANIUM = new Element(PeriodicTable.getSymbol(22), 22);
- public final static IElement VANADIUM = new Element(PeriodicTable.getSymbol(23), 23);
- public final static IElement CHROMIUM = new Element(PeriodicTable.getSymbol(24), 24);
- public final static IElement MANGANESE = new Element(PeriodicTable.getSymbol(25), 25);
- public final static IElement IRON = new Element(PeriodicTable.getSymbol(26), 26);
- public final static IElement COBALT = new Element(PeriodicTable.getSymbol(27), 27);
- public final static IElement NICKEL = new Element(PeriodicTable.getSymbol(28), 28);
- public final static IElement COPPER = new Element(PeriodicTable.getSymbol(29), 29);
- public final static IElement ZINC = new Element(PeriodicTable.getSymbol(30), 30);
- public final static IElement GALLIUM = new Element(PeriodicTable.getSymbol(31), 31);
- public final static IElement GERMANIUM = new Element(PeriodicTable.getSymbol(32), 32);
- public final static IElement ARSENIC = new Element(PeriodicTable.getSymbol(33), 33);
- public final static IElement SELENIUM = new Element(PeriodicTable.getSymbol(34), 34);
- public final static IElement BROMINE = new Element(PeriodicTable.getSymbol(35), 35);
- public final static IElement KRYPTON = new Element(PeriodicTable.getSymbol(36), 36);
- public final static IElement RUBIDIUM = new Element(PeriodicTable.getSymbol(37), 37);
- public final static IElement STRONTIUM = new Element(PeriodicTable.getSymbol(38), 38);
- public final static IElement YTTRIUM = new Element(PeriodicTable.getSymbol(39), 39);
- public final static IElement ZIRCONIUM = new Element(PeriodicTable.getSymbol(40), 40);
- public final static IElement NIOBIUM = new Element(PeriodicTable.getSymbol(41), 41);
- public final static IElement MOLYBDENUM = new Element(PeriodicTable.getSymbol(42), 42);
- public final static IElement TECHNETIUM = new Element(PeriodicTable.getSymbol(43), 43);
- public final static IElement RUTHENIUM = new Element(PeriodicTable.getSymbol(44), 44);
- public final static IElement RHODIUM = new Element(PeriodicTable.getSymbol(45), 45);
- public final static IElement PALLADIUM = new Element(PeriodicTable.getSymbol(46), 46);
- public final static IElement SILVER = new Element(PeriodicTable.getSymbol(47), 47);
- public final static IElement CADMIUM = new Element(PeriodicTable.getSymbol(48), 48);
- public final static IElement INDIUM = new Element(PeriodicTable.getSymbol(49), 49);
- public final static IElement TIN = new Element(PeriodicTable.getSymbol(50), 50);
- public final static IElement ANTIMONY = new Element(PeriodicTable.getSymbol(51), 51);
- public final static IElement TELLURIUM = new Element(PeriodicTable.getSymbol(52), 52);
- public final static IElement IODINE = new Element(PeriodicTable.getSymbol(53), 53);
- public final static IElement XENON = new Element(PeriodicTable.getSymbol(54), 54);
- public final static IElement CAESIUM = new Element(PeriodicTable.getSymbol(55), 55);
- public final static IElement BARIUM = new Element(PeriodicTable.getSymbol(56), 56);
- public final static IElement LANTHANUM = new Element(PeriodicTable.getSymbol(57), 57);
- public final static IElement CERIUM = new Element(PeriodicTable.getSymbol(58), 58);
- public final static IElement PRASEODYMIUM = new Element(PeriodicTable.getSymbol(59), 59);
- public final static IElement NEODYMIUM = new Element(PeriodicTable.getSymbol(60), 60);
- public final static IElement PROMETHIUM = new Element(PeriodicTable.getSymbol(61), 61);
- public final static IElement SAMARIUM = new Element(PeriodicTable.getSymbol(62), 62);
- public final static IElement EUROPIUM = new Element(PeriodicTable.getSymbol(63), 63);
- public final static IElement GADOLINIUM = new Element(PeriodicTable.getSymbol(64), 64);
- public final static IElement TERBIUM = new Element(PeriodicTable.getSymbol(65), 65);
- public final static IElement DYSPROSIUM = new Element(PeriodicTable.getSymbol(66), 66);
- public final static IElement HOLMIUM = new Element(PeriodicTable.getSymbol(67), 67);
- public final static IElement ERBIUM = new Element(PeriodicTable.getSymbol(68), 68);
- public final static IElement THULIUM = new Element(PeriodicTable.getSymbol(69), 69);
- public final static IElement YTTERBIUM = new Element(PeriodicTable.getSymbol(70), 70);
- public final static IElement LUTETIUM = new Element(PeriodicTable.getSymbol(71), 71);
- public final static IElement HAFNIUM = new Element(PeriodicTable.getSymbol(72), 72);
- public final static IElement TANTALUM = new Element(PeriodicTable.getSymbol(73), 73);
- public final static IElement TUNGSTEN = new Element(PeriodicTable.getSymbol(74), 74);
- public final static IElement RHENIUM = new Element(PeriodicTable.getSymbol(75), 75);
- public final static IElement OSMIUM = new Element(PeriodicTable.getSymbol(76), 76);
- public final static IElement IRIDIUM = new Element(PeriodicTable.getSymbol(77), 77);
- public final static IElement PLATINUM = new Element(PeriodicTable.getSymbol(78), 78);
- public final static IElement GOLD = new Element(PeriodicTable.getSymbol(79), 79);
- public final static IElement MERCURY = new Element(PeriodicTable.getSymbol(80), 80);
- public final static IElement THALLIUM = new Element(PeriodicTable.getSymbol(81), 81);
- public final static IElement LEAD = new Element(PeriodicTable.getSymbol(82), 82);
- public final static IElement BISMUTH = new Element(PeriodicTable.getSymbol(83), 83);
- public final static IElement POLONIUM = new Element(PeriodicTable.getSymbol(84), 84);
- public final static IElement ASTATINE = new Element(PeriodicTable.getSymbol(85), 85);
- public final static IElement RADON = new Element(PeriodicTable.getSymbol(86), 86);
- public final static IElement FRANCIUM = new Element(PeriodicTable.getSymbol(87), 87);
- public final static IElement RADIUM = new Element(PeriodicTable.getSymbol(88), 88);
- public final static IElement ACTINIUM = new Element(PeriodicTable.getSymbol(89), 89);
- public final static IElement THORIUM = new Element(PeriodicTable.getSymbol(90), 90);
- public final static IElement PROTACTINIUM = new Element(PeriodicTable.getSymbol(91), 91);
- public final static IElement URANIUM = new Element(PeriodicTable.getSymbol(92), 92);
- public final static IElement NEPTUNIUM = new Element(PeriodicTable.getSymbol(93), 93);
- public final static IElement PLUTOMNIUM = new Element(PeriodicTable.getSymbol(94), 94);
- public final static IElement AMERICIUM = new Element(PeriodicTable.getSymbol(95), 95);
- public final static IElement CURIUM = new Element(PeriodicTable.getSymbol(96), 96);
- public final static IElement BERKELIUM = new Element(PeriodicTable.getSymbol(97), 97);
- public final static IElement CALIFORNIUM = new Element(PeriodicTable.getSymbol(98), 98);
- public final static IElement EINSTEINIUM = new Element(PeriodicTable.getSymbol(99), 99);
- public final static IElement FERMIUM = new Element(PeriodicTable.getSymbol(100), 100);
- public final static IElement MENDELEVIUM = new Element(PeriodicTable.getSymbol(101), 101);
- public final static IElement NOBELIUM = new Element(PeriodicTable.getSymbol(102), 102);
- public final static IElement LAWRENCIUM = new Element(PeriodicTable.getSymbol(103), 103);
- public final static IElement RUTHERFORDIUM = new Element(PeriodicTable.getSymbol(104), 104);
- public final static IElement DUBNIUM = new Element(PeriodicTable.getSymbol(105), 105);
- public final static IElement SEABORGIUM = new Element(PeriodicTable.getSymbol(106), 106);
- public final static IElement BOHRIUM = new Element(PeriodicTable.getSymbol(107), 107);
- public final static IElement HASSIUM = new Element(PeriodicTable.getSymbol(108), 108);
- public final static IElement MEITNERIUM = new Element(PeriodicTable.getSymbol(109), 109);
- public final static IElement DARMSTADTIUM = new Element(PeriodicTable.getSymbol(110), 110);
- public final static IElement ROENTGENIUM = new Element(PeriodicTable.getSymbol(111), 111);
- public final static IElement UNUNBIUM = new Element(PeriodicTable.getSymbol(112), 112);
- public final static IElement UNUNTRIUM = new Element(PeriodicTable.getSymbol(113), 113);
- public final static IElement UNUNQUADIUM = new Element(PeriodicTable.getSymbol(114), 114);
- public final static IElement UNUNPENTIUM = new Element(PeriodicTable.getSymbol(115), 115);
- public final static IElement UNUNHEXIUM = new Element(PeriodicTable.getSymbol(116), 116);
-
+ public final static IElement DUMMY = new NaturalElement(PeriodicTable.getSymbol(0), 0);
+ public final static IElement HYDROGEN = new NaturalElement(PeriodicTable.getSymbol(1), 1);
+ public final static IElement HELIUM = new NaturalElement(PeriodicTable.getSymbol(2), 2);
+ public final static IElement LITHIUM = new NaturalElement(PeriodicTable.getSymbol(3), 3);
+ public final static IElement BERYLLIUM = new NaturalElement(PeriodicTable.getSymbol(4), 4);
+ public final static IElement BORON = new NaturalElement(PeriodicTable.getSymbol(5), 5);
+ public final static IElement CARBON = new NaturalElement(PeriodicTable.getSymbol(6), 6);
+ public final static IElement NITROGEN = new NaturalElement(PeriodicTable.getSymbol(7), 7);
+ public final static IElement OXYGEN = new NaturalElement(PeriodicTable.getSymbol(8), 8);
+ public final static IElement FLUORINE = new NaturalElement(PeriodicTable.getSymbol(9), 9);
+ public final static IElement NEON = new NaturalElement(PeriodicTable.getSymbol(10), 10);
+ public final static IElement SODIUM = new NaturalElement(PeriodicTable.getSymbol(11), 11);
+ public final static IElement MAGNESIUM = new NaturalElement(PeriodicTable.getSymbol(12), 12);
+ public final static IElement ALUMINIUM = new NaturalElement(PeriodicTable.getSymbol(13), 13);
+ public final static IElement SILICON = new NaturalElement(PeriodicTable.getSymbol(14), 14);
+ public final static IElement PHOSPHORUS = new NaturalElement(PeriodicTable.getSymbol(15), 15);
+ public final static IElement SULFUR = new NaturalElement(PeriodicTable.getSymbol(16), 16);
+ public final static IElement CHLORINE = new NaturalElement(PeriodicTable.getSymbol(17), 17);
+ public final static IElement ARGON = new NaturalElement(PeriodicTable.getSymbol(18), 18);
+ public final static IElement POTASSIUM = new NaturalElement(PeriodicTable.getSymbol(19), 19);
+ public final static IElement CALCIUM = new NaturalElement(PeriodicTable.getSymbol(20), 20);
+ public final static IElement SCANDIUM = new NaturalElement(PeriodicTable.getSymbol(21), 21);
+ public final static IElement TITANIUM = new NaturalElement(PeriodicTable.getSymbol(22), 22);
+ public final static IElement VANADIUM = new NaturalElement(PeriodicTable.getSymbol(23), 23);
+ public final static IElement CHROMIUM = new NaturalElement(PeriodicTable.getSymbol(24), 24);
+ public final static IElement MANGANESE = new NaturalElement(PeriodicTable.getSymbol(25), 25);
+ public final static IElement IRON = new NaturalElement(PeriodicTable.getSymbol(26), 26);
+ public final static IElement COBALT = new NaturalElement(PeriodicTable.getSymbol(27), 27);
+ public final static IElement NICKEL = new NaturalElement(PeriodicTable.getSymbol(28), 28);
+ public final static IElement COPPER = new NaturalElement(PeriodicTable.getSymbol(29), 29);
+ public final static IElement ZINC = new NaturalElement(PeriodicTable.getSymbol(30), 30);
+ public final static IElement GALLIUM = new NaturalElement(PeriodicTable.getSymbol(31), 31);
+ public final static IElement GERMANIUM = new NaturalElement(PeriodicTable.getSymbol(32), 32);
+ public final static IElement ARSENIC = new NaturalElement(PeriodicTable.getSymbol(33), 33);
+ public final static IElement SELENIUM = new NaturalElement(PeriodicTable.getSymbol(34), 34);
+ public final static IElement BROMINE = new NaturalElement(PeriodicTable.getSymbol(35), 35);
+ public final static IElement KRYPTON = new NaturalElement(PeriodicTable.getSymbol(36), 36);
+ public final static IElement RUBIDIUM = new NaturalElement(PeriodicTable.getSymbol(37), 37);
+ public final static IElement STRONTIUM = new NaturalElement(PeriodicTable.getSymbol(38), 38);
+ public final static IElement YTTRIUM = new NaturalElement(PeriodicTable.getSymbol(39), 39);
+ public final static IElement ZIRCONIUM = new NaturalElement(PeriodicTable.getSymbol(40), 40);
+ public final static IElement NIOBIUM = new NaturalElement(PeriodicTable.getSymbol(41), 41);
+ public final static IElement MOLYBDENUM = new NaturalElement(PeriodicTable.getSymbol(42), 42);
+ public final static IElement TECHNETIUM = new NaturalElement(PeriodicTable.getSymbol(43), 43);
+ public final static IElement RUTHENIUM = new NaturalElement(PeriodicTable.getSymbol(44), 44);
+ public final static IElement RHODIUM = new NaturalElement(PeriodicTable.getSymbol(45), 45);
+ public final static IElement PALLADIUM = new NaturalElement(PeriodicTable.getSymbol(46), 46);
+ public final static IElement SILVER = new NaturalElement(PeriodicTable.getSymbol(47), 47);
+ public final static IElement CADMIUM = new NaturalElement(PeriodicTable.getSymbol(48), 48);
+ public final static IElement INDIUM = new NaturalElement(PeriodicTable.getSymbol(49), 49);
+ public final static IElement TIN = new NaturalElement(PeriodicTable.getSymbol(50), 50);
+ public final static IElement ANTIMONY = new NaturalElement(PeriodicTable.getSymbol(51), 51);
+ public final static IElement TELLURIUM = new NaturalElement(PeriodicTable.getSymbol(52), 52);
+ public final static IElement IODINE = new NaturalElement(PeriodicTable.getSymbol(53), 53);
+ public final static IElement XENON = new NaturalElement(PeriodicTable.getSymbol(54), 54);
+ public final static IElement CAESIUM = new NaturalElement(PeriodicTable.getSymbol(55), 55);
+ public final static IElement BARIUM = new NaturalElement(PeriodicTable.getSymbol(56), 56);
+ public final static IElement LANTHANUM = new NaturalElement(PeriodicTable.getSymbol(57), 57);
+ public final static IElement CERIUM = new NaturalElement(PeriodicTable.getSymbol(58), 58);
+ public final static IElement PRASEODYMIUM = new NaturalElement(PeriodicTable.getSymbol(59), 59);
+ public final static IElement NEODYMIUM = new NaturalElement(PeriodicTable.getSymbol(60), 60);
+ public final static IElement PROMETHIUM = new NaturalElement(PeriodicTable.getSymbol(61), 61);
+ public final static IElement SAMARIUM = new NaturalElement(PeriodicTable.getSymbol(62), 62);
+ public final static IElement EUROPIUM = new NaturalElement(PeriodicTable.getSymbol(63), 63);
+ public final static IElement GADOLINIUM = new NaturalElement(PeriodicTable.getSymbol(64), 64);
+ public final static IElement TERBIUM = new NaturalElement(PeriodicTable.getSymbol(65), 65);
+ public final static IElement DYSPROSIUM = new NaturalElement(PeriodicTable.getSymbol(66), 66);
+ public final static IElement HOLMIUM = new NaturalElement(PeriodicTable.getSymbol(67), 67);
+ public final static IElement ERBIUM = new NaturalElement(PeriodicTable.getSymbol(68), 68);
+ public final static IElement THULIUM = new NaturalElement(PeriodicTable.getSymbol(69), 69);
+ public final static IElement YTTERBIUM = new NaturalElement(PeriodicTable.getSymbol(70), 70);
+ public final static IElement LUTETIUM = new NaturalElement(PeriodicTable.getSymbol(71), 71);
+ public final static IElement HAFNIUM = new NaturalElement(PeriodicTable.getSymbol(72), 72);
+ public final static IElement TANTALUM = new NaturalElement(PeriodicTable.getSymbol(73), 73);
+ public final static IElement TUNGSTEN = new NaturalElement(PeriodicTable.getSymbol(74), 74);
+ public final static IElement RHENIUM = new NaturalElement(PeriodicTable.getSymbol(75), 75);
+ public final static IElement OSMIUM = new NaturalElement(PeriodicTable.getSymbol(76), 76);
+ public final static IElement IRIDIUM = new NaturalElement(PeriodicTable.getSymbol(77), 77);
+ public final static IElement PLATINUM = new NaturalElement(PeriodicTable.getSymbol(78), 78);
+ public final static IElement GOLD = new NaturalElement(PeriodicTable.getSymbol(79), 79);
+ public final static IElement MERCURY = new NaturalElement(PeriodicTable.getSymbol(80), 80);
+ public final static IElement THALLIUM = new NaturalElement(PeriodicTable.getSymbol(81), 81);
+ public final static IElement LEAD = new NaturalElement(PeriodicTable.getSymbol(82), 82);
+ public final static IElement BISMUTH = new NaturalElement(PeriodicTable.getSymbol(83), 83);
+ public final static IElement POLONIUM = new NaturalElement(PeriodicTable.getSymbol(84), 84);
+ public final static IElement ASTATINE = new NaturalElement(PeriodicTable.getSymbol(85), 85);
+ public final static IElement RADON = new NaturalElement(PeriodicTable.getSymbol(86), 86);
+ public final static IElement FRANCIUM = new NaturalElement(PeriodicTable.getSymbol(87), 87);
+ public final static IElement RADIUM = new NaturalElement(PeriodicTable.getSymbol(88), 88);
+ public final static IElement ACTINIUM = new NaturalElement(PeriodicTable.getSymbol(89), 89);
+ public final static IElement THORIUM = new NaturalElement(PeriodicTable.getSymbol(90), 90);
+ public final static IElement PROTACTINIUM = new NaturalElement(PeriodicTable.getSymbol(91), 91);
+ public final static IElement URANIUM = new NaturalElement(PeriodicTable.getSymbol(92), 92);
+ public final static IElement NEPTUNIUM = new NaturalElement(PeriodicTable.getSymbol(93), 93);
+ public final static IElement PLUTOMNIUM = new NaturalElement(PeriodicTable.getSymbol(94), 94);
+ public final static IElement AMERICIUM = new NaturalElement(PeriodicTable.getSymbol(95), 95);
+ public final static IElement CURIUM = new NaturalElement(PeriodicTable.getSymbol(96), 96);
+ public final static IElement BERKELIUM = new NaturalElement(PeriodicTable.getSymbol(97), 97);
+ public final static IElement CALIFORNIUM = new NaturalElement(PeriodicTable.getSymbol(98), 98);
+ public final static IElement EINSTEINIUM = new NaturalElement(PeriodicTable.getSymbol(99), 99);
+ public final static IElement FERMIUM = new NaturalElement(PeriodicTable.getSymbol(100), 100);
+ public final static IElement MENDELEVIUM = new NaturalElement(PeriodicTable.getSymbol(101), 101);
+ public final static IElement NOBELIUM = new NaturalElement(PeriodicTable.getSymbol(102), 102);
+ public final static IElement LAWRENCIUM = new NaturalElement(PeriodicTable.getSymbol(103), 103);
+ public final static IElement RUTHERFORDIUM = new NaturalElement(PeriodicTable.getSymbol(104), 104);
+ public final static IElement DUBNIUM = new NaturalElement(PeriodicTable.getSymbol(105), 105);
+ public final static IElement SEABORGIUM = new NaturalElement(PeriodicTable.getSymbol(106), 106);
+ public final static IElement BOHRIUM = new NaturalElement(PeriodicTable.getSymbol(107), 107);
+ public final static IElement HASSIUM = new NaturalElement(PeriodicTable.getSymbol(108), 108);
+ public final static IElement MEITNERIUM = new NaturalElement(PeriodicTable.getSymbol(109), 109);
+ public final static IElement DARMSTADTIUM = new NaturalElement(PeriodicTable.getSymbol(110), 110);
+ public final static IElement ROENTGENIUM = new NaturalElement(PeriodicTable.getSymbol(111), 111);
+ public final static IElement UNUNBIUM = new NaturalElement(PeriodicTable.getSymbol(112), 112);
+ public final static IElement UNUNTRIUM = new NaturalElement(PeriodicTable.getSymbol(113), 113);
+ public final static IElement UNUNQUADIUM = new NaturalElement(PeriodicTable.getSymbol(114), 114);
+ public final static IElement UNUNPENTIUM = new NaturalElement(PeriodicTable.getSymbol(115), 115);
+ public final static IElement UNUNHEXIUM = new NaturalElement(PeriodicTable.getSymbol(116), 116);
+
}
diff --git a/src/main/org/openscience/cdk/config/NaturalElement.java b/src/main/org/openscience/cdk/config/NaturalElement.java
new file mode 100644
index 00000000000..60dac7b736b
--- /dev/null
+++ b/src/main/org/openscience/cdk/config/NaturalElement.java
@@ -0,0 +1,82 @@
+/* Copyright (C) 2012 Egon Willighagen
+ *
+ * Contact: cdk-devel@lists.sourceforge.net
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
+ * of the License, or (at your option) any later version.
+ * All we ask is that proper credit is given for our work, which includes
+ * - but is not limited to - adding the above copyright notice to the beginning
+ * of your source code files, and to any copyright notice that you may distribute
+ * with programs based on this work.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+package org.openscience.cdk.config;
+
+import java.util.Map;
+
+import org.openscience.cdk.interfaces.IChemObjectBuilder;
+import org.openscience.cdk.interfaces.IChemObjectChangeEvent;
+import org.openscience.cdk.interfaces.IChemObjectListener;
+import org.openscience.cdk.interfaces.IElement;
+
+/**
+ * A read-only class used by {@link Elements} for the natural elements. This class is not to
+ * be used than by only {@link Elements}.
+ *
+ * @author egonw
+ * @cdk.module standard
+ * @cdk.githash
+ */
+public final class NaturalElement implements IElement {
+
+ private String element;
+ private Integer atomicNumber;
+
+ protected NaturalElement(String element, Integer atomicNumber) {
+ this.element = element;
+ this.atomicNumber = atomicNumber;
+ }
+
+ // ignored methods
+
+ @Override public void addListener(IChemObjectListener col) {}
+ @Override public int getListenerCount() { return 0; }
+ @Override public void removeListener(IChemObjectListener col) {}
+ @Override public void setNotification(boolean bool) {}
+ @Override public boolean getNotification() { return false; }
+ @Override public void notifyChanged() {}
+ @Override public void notifyChanged(IChemObjectChangeEvent evt) {}
+
+ // unsupported methods
+
+ @Override public void setProperty(Object description, Object property) {}
+ @Override public void removeProperty(Object description) {}
+ @Override public Object getProperty(Object description) { return null; }
+ @Override public Map