/*
* ome.xml.model.enums.handlers.FontStyleHandler
*
*-----------------------------------------------------------------------------
*
* 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.FontStyle;
/**
* Enumeration handler for FontStyle.
*
* <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/FontStyleHandler.java">Trac</a>,
* <a href="http://git.openmicroscopy.org/?p=bioformats.git;a=blob;f=components/bio-formats/src/loci/formats/enums/handler/FontStyleHandler.java;hb=HEAD">Gitweb</a></dd></dl>
*/
public class FontStyleEnumHandler implements IEnumerationHandler {
// -- Constants --
/** Logger for this class. */
private static final Logger LOGGER =
LoggerFactory.getLogger(FontStyleEnumHandler.class);
// -- Fields --
/** Every FontStyle 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*Bold\\s*", "Bold");
p.put("^\\s*BoldItalic\\s*", "BoldItalic");
p.put("^\\s*Italic\\s*", "Italic");
p.put("^\\s*Normal\\s*", "Normal");
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 FontStyle.fromString(v);
}
}
}
LOGGER.warn("Unknown {} value '{}' will be stored as \"Other\"",
"FontStyle", value);
throw new EnumerationException(this.getClass().getName() +
" could not find enumeration for " + value);
}
/* @see IEnumerationHandler#getEntity() */
public Class<? extends Enumeration> getEntity() {
return FontStyle.class;
}
}