/*
* ome.xml.model.enums.handlers.LaserMediumHandler
*
*-----------------------------------------------------------------------------
*
* Copyright (C) 2005-@year@ Open Microscopy Environment
* Massachusetts Institute of Technology,
* National Institutes of Health,
* University of Dundee,
* University of Wisconsin-Madison
*
*
*
* This library 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.
*
* This library 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 library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*-----------------------------------------------------------------------------
*/
/*-----------------------------------------------------------------------------
*
* THIS IS AUTOMATICALLY GENERATED CODE. DO NOT MODIFY.
* Created by melissa via xsd-fu on 2011-06-09 09:57:22.419418
*
*-----------------------------------------------------------------------------
*/
package ome.xml.model.enums.handlers;
import java.util.Hashtable;
import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import ome.xml.model.enums.Enumeration;
import ome.xml.model.enums.EnumerationException;
import ome.xml.model.enums.LaserMedium;
/**
* Enumeration handler for LaserMedium.
*
* <dl><dt><b>Source code:</b></dt>
* <dd><a href="http://trac.openmicroscopy.org.uk/ome/browser/bioformats.git/components/bio-formats/src/loci/formats/enums/handler/LaserMediumHandler.java">Trac</a>,
* <a href="http://git.openmicroscopy.org/?p=bioformats.git;a=blob;f=components/bio-formats/src/loci/formats/enums/handler/LaserMediumHandler.java;hb=HEAD">Gitweb</a></dd></dl>
*/
public class LaserMediumEnumHandler implements IEnumerationHandler {
// -- Constants --
/** Logger for this class. */
private static final Logger LOGGER =
LoggerFactory.getLogger(LaserMediumEnumHandler.class);
// -- Fields --
/** Every LaserMedium value must match one of these patterns. */
private static final Hashtable<String, String> patterns = makePatterns();
private static Hashtable<String, String> makePatterns() {
Hashtable<String, String> p = new Hashtable<String, String>();
// BEGIN Schema enumeration mappings
p.put("^\\s*Cu\\s*", "Cu");
p.put("^\\s*Ag\\s*", "Ag");
p.put("^\\s*ArFl\\s*", "ArFl");
p.put("^\\s*ArCl\\s*", "ArCl");
p.put("^\\s*KrFl\\s*", "KrFl");
p.put("^\\s*KrCl\\s*", "KrCl");
p.put("^\\s*XeFl\\s*", "XeFl");
p.put("^\\s*XeCl\\s*", "XeCl");
p.put("^\\s*XeBr\\s*", "XeBr");
p.put("^\\s*N\\s*", "N");
p.put("^\\s*Ar\\s*", "Ar");
p.put("^\\s*Kr\\s*", "Kr");
p.put("^\\s*Xe\\s*", "Xe");
p.put("^\\s*HeNe\\s*", "HeNe");
p.put("^\\s*HeCd\\s*", "HeCd");
p.put("^\\s*CO\\s*", "CO");
p.put("^\\s*CO2\\s*", "CO2");
p.put("^\\s*H2O\\s*", "H2O");
p.put("^\\s*HFl\\s*", "HFl");
p.put("^\\s*NdGlass\\s*", "NdGlass");
p.put("^\\s*NdYAG\\s*", "NdYAG");
p.put("^\\s*ErGlass\\s*", "ErGlass");
p.put("^\\s*ErYAG\\s*", "ErYAG");
p.put("^\\s*HoYLF\\s*", "HoYLF");
p.put("^\\s*HoYAG\\s*", "HoYAG");
p.put("^\\s*Ruby\\s*", "Ruby");
p.put("^\\s*TiSapphire\\s*", "TiSapphire");
p.put("^\\s*Alexandrite\\s*", "Alexandrite");
p.put("^\\s*Rhodamine6G\\s*", "Rhodamine6G");
p.put("^\\s*CoumarinC30\\s*", "CoumarinC30");
p.put("^\\s*GaAs\\s*", "GaAs");
p.put("^\\s*GaAlAs\\s*", "GaAlAs");
p.put("^\\s*EMinus\\s*", "EMinus");
p.put("^\\s*Other\\s*", "Other");
return p;
}
// -- IEnumerationHandler API methods --
/* @see IEnumerationHandler#getEnumeration(String) */
public Enumeration getEnumeration(String value)
throws EnumerationException {
if (value != null) {
for (String pattern : patterns.keySet()) {
if (value.toLowerCase().matches(pattern.toLowerCase())) {
String v = patterns.get(pattern);
return LaserMedium.fromString(v);
}
}
}
LOGGER.warn("Unknown {} value '{}' will be stored as \"Other\"",
"LaserMedium", value);
return LaserMedium.OTHER;
}
/* @see IEnumerationHandler#getEntity() */
public Class<? extends Enumeration> getEntity() {
return LaserMedium.class;
}
}