/**
* The contents of this file are subject to the OpenMRS Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://license.openmrs.org
*
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
* License for the specific language governing rights and limitations
* under the License.
*
* Copyright (C) OpenMRS, LLC. All Rights Reserved.
*/
package org.openmrs.web.taglib.fieldgen;
import java.util.Map;
/**
* This factory stores and returns the fieldgen handlers These variables are set in the
* openmrs-servlet.xml and are populated via spring injection
*
* @see FieldGenHandler
*/
public class FieldGenHandlerFactory {
private Map<String, String> handlers = null;
private static FieldGenHandlerFactory singleton;
/**
* Generic constructor
*/
public FieldGenHandlerFactory() {
if (singleton == null)
singleton = this;
}
/**
* Auto generated method comment
*
* @return
*/
public static FieldGenHandlerFactory getSingletonInstance() {
if (singleton == null)
throw new RuntimeException("Not Yet Instantiated");
else
return singleton;
}
/**
* @return Returns the handlers.
*/
public Map<String, String> getHandlers() {
return singleton.handlers;
}
/**
* Appends the given handlers to the current map of handlers
*
* @param handlers The handlers to set.
*/
public void setHandlers(Map<String, String> handlers) {
if (singleton.handlers == null)
singleton.handlers = handlers;
else
singleton.handlers.putAll(handlers);
}
/**
* Auto generated method comment
*
* @param className
* @return
*/
public String getHandlerByClassName(String className) {
if (className != null) {
if (singleton.handlers.containsKey(className)) {
return singleton.handlers.get(className);
} else {
return null;
}
} else {
return null;
}
}
}