package org.yamcs.xtce.xml; import java.util.HashMap; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.yamcs.xtce.ParameterType; public class XtceParameterTypeSet { /** * Logging subsystem */ static Logger log = LoggerFactory.getLogger(XtceParameterTypeSet.class .getName()); /** * Hashmap with all parameter types defined in the XTCE file */ private HashMap<String, ParameterType> registeredParameterTypes = null; public XtceParameterTypeSet() { registeredParameterTypes = new HashMap<String, ParameterType>(); } /** * Register the named parameter type. * * @param parameterTypeName * Name in the default namespace. * @param parameterType * ParameterType object to be registered. */ public void registerParameterType(String parameterTypeName, ParameterType parameterType) { if (registeredParameterTypes.put(parameterTypeName, parameterType) != null) { log.error("ParameterTypes with duplicate names: " + parameterTypeName); throw new IllegalStateException(); } } /** * Access method to registered parameter types. Searches in the default * namespace. Aliases are currently not supported. * * @param parameterTypeName * @return */ public ParameterType getParameterType(String parameterTypeName) { return registeredParameterTypes.get(parameterTypeName); } }