Logo Search packages:      
Sourcecode: cdk version File versions  Download package

Symbols.java
/* $Revision$ $Author$ $Date$
 * 
 * Copyright (C) 2006-2007  Egon Willighagen <egonw@users.sf.net>
 * 
 * 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.HashMap;
import java.util.Map;


/**
 * List of element symbols. Data is taken from the Blue Obelisk Data Repository,
 * version 3.
 * 
 * @author     egonw
 * @cdk.module standard 
 * @cdk.githash
 */
00039 public class Symbols {

      public final static String[] byAtomicNumber = {
            "Xx", // 0
            "H", // 1
            "He", // 2
            "Li", // 3
            "Be", // 4
            "B", // 5
            "C", // 6
            "N", // 7
            "O", // 8
            "F", // 9
            "Ne", // 10
            "Na", // 11
            "Mg", // 12
            "Al", // 13
            "Si", // 14
            "P", // 15
            "S", // 16
            "Cl", // 17
            "Ar", // 18
            "K", // 19
            "Ca", // 20
            "Sc", // 21
            "Ti", // 22
            "V", // 23
            "Cr", // 24
            "Mn", // 25
            "Fe", // 26
            "Co", // 27
            "Ni", // 28
            "Cu", // 29
            "Zn", // 30
            "Ga", // 31
            "Ge", // 32
            "As", // 33
            "Se", // 34
            "Br", // 35
            "Kr", // 36
            "Rb", // 37
            "Sr", // 38
            "Y", // 39
            "Zr", // 40
            "Nb", // 41
            "Mo", // 42
            "Tc", // 43
            "Ru", // 44
            "Rh", // 45
            "Pd", // 46
            "Ag", // 47
            "Cd", // 48
            "In", // 49
            "Sn", // 50
            "Sb", // 51
            "Te", // 52
            "I", // 53
            "Xe", // 54
            "Cs", // 55
            "Ba", // 56
            "La", // 57
            "Ce", // 58
            "Pr", // 59
            "Nd", // 60
            "Pm", // 61
            "Sm", // 62
            "Eu", // 63
            "Gd", // 64
            "Tb", // 65
            "Dy", // 66
            "Ho", // 67
            "Er", // 68
            "Tm", // 69
            "Yb", // 70
            "Lu", // 71
            "Hf", // 72
            "Ta", // 73
            "W", // 74
            "Re", // 75
            "Os", // 76
            "Ir", // 77
            "Pt", // 78
            "Au", // 79
            "Hg", // 80
            "Tl", // 81
            "Pb", // 82
            "Bi", // 83
            "Po", // 84
            "At", // 85
            "Rn", // 86
            "Fr", // 87
            "Ra", // 88
            "Ac", // 89
            "Th", // 90
            "Pa", // 91
            "U", // 92
            "Np", // 93
            "Pu", // 94
            "Am", // 95
            "Cm", // 96
            "Bk", // 97
            "Cf", // 98
            "Es", // 99
            "Fm", // 100
            "Md", // 101
            "No", // 102
            "Lr", // 103
            "Rf", // 104
            "Db", // 105
            "Sg", // 106
            "Bh", // 107
            "Hs", // 108
            "Mt", // 109
            "Ds", // 110
            "Rg", // 111
            "Uub", // 112
            "Uut", // 113
            "Uuq", // 114
            "Uup", // 115
            "Uuh" // 116
      };
      
      public final static int KNOWN_ELEMENTS = 116;
      
      private final static Map<String,Integer> symbolToAtomicNumberMap =
          new HashMap<String,Integer>();

      /**
       * Returns the atomic number of the element identified by the given symbol.
       *
       * @return null, if the symbol is not recognized
       */
00171       public static Integer getAtomicNumber(String symbol) {
          if (symbolToAtomicNumberMap.size() == 0)
              fillSymbolToAtomicNumberMap();

          return symbolToAtomicNumberMap.get(symbol);
      }

    private static void fillSymbolToAtomicNumberMap() {
        for (int i=0; i<byAtomicNumber.length; i++) {
            symbolToAtomicNumberMap.put(
                byAtomicNumber[i],
                Integer.valueOf(i)
            );
        }
    }
}

Generated by  Doxygen 1.6.0   Back to index