package org.opennms.core.criteria; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.Map; import org.opennms.core.criteria.Alias.JoinType; import org.opennms.core.utils.LogUtils; public class AliasBuilder { final Map<String,Alias> m_aliases = new HashMap<String,Alias>(); public AliasBuilder alias(final String associationPath, final String alias, final JoinType type) { if (m_aliases.containsKey(alias)) { LogUtils.debugf(this, "alias '%s' already associated with associationPath '%s', skipping.", alias, associationPath); } else { m_aliases.put(alias, new Alias(associationPath, alias, type)); } return this; } public Collection<Alias> getAliasCollection() { // make a copy so the internal one can't be modified outside of the builder return new ArrayList<Alias>(m_aliases.values()); } }