package org.yamcs.xtce.xml; import java.io.Serializable; import java.util.Collections; import java.util.HashMap; import java.util.Map; import java.util.Set; /** * Wrapper class for work with aliases. * * @author mu * */ public class XtceAliasSet implements Serializable { private static final long serialVersionUID = 6841708656383592099L; /** * Map of all aliases the object has */ private HashMap<String, String> aliases = null; /** * Constructor */ public XtceAliasSet() { aliases = new HashMap<String, String>(); } /** * Add alias name, only one name per namespace is possible * * @param nameSpace * Namespace the alias adhers to * @param alias * name in the given namespace */ public void addAlias(String nameSpace, String alias) { aliases.put(nameSpace, alias); } /** * Returns the name of the object in the given namespace * * @param nameSpace * Namespace the name should be from * @return Name of the object in the given namespace, can be null */ public String getAlias(String nameSpace) { return aliases.get(nameSpace); } public Set<String> getNamespaces() { return aliases.keySet(); } /** * Returns a readonly map, mapping namespace to alias */ public Map<String, String> getAliases() { return Collections.unmodifiableMap(aliases); } public int size() { return aliases.size(); } @Override public String toString() { return aliases.toString(); } }