/* * Copyright 2006 University of Dundee. All rights reserved. * Use is subject to license terms supplied in LICENSE.txt */ /*------------------------------------------------------------------------------ * * Written by: Josh Moore <josh.moore@gmx.de> * *------------------------------------------------------------------------------ */ package ome.services.query; import java.util.HashMap; import java.util.Map; import java.util.Set; /** * container for {@link ome.services.query.QueryParameterDef} instances. * Typically created as a static variable in a Query and passed to the super * constructor {@link ome.services.query.Query#Query(Definitions, Parameters)} * * @author Josh Moore, <a href="mailto:josh.moore@gmx.de">josh.moore@gmx.de</a> * @since OMERO 3.0 */ public class Definitions { /** * internal storage for the {@link QueryParameterDef}s. Should not change * after construction. */ final private Map<String, QueryParameterDef> defs = new HashMap<String, QueryParameterDef>(); /* no default constructor */ private Definitions() { } public Definitions(QueryParameterDef... parameterDefs) { if (parameterDefs != null) { for (QueryParameterDef def : parameterDefs) { defs.put(def.name, def); } } } public boolean containsKey(Object key) { return defs.containsKey(key); } public boolean isEmpty() { return defs.isEmpty(); } public Set<String> keySet() { return defs.keySet(); } public int size() { return defs.size(); } public QueryParameterDef get(Object key) { return defs.get(key); } }