View Javadoc

1   /*
2    Copyright (C) 2006 Grid Systems, S.A.
3   
4    This library is free software; you can redistribute it and/or
5    modify it under the terms of the GNU Lesser General Public
6    License as published by the Free Software Foundation; either
7    version 2.1 of the License, or (at your option) any later version.
8   
9    This library is distributed in the hope that it will be useful,
10   but WITHOUT ANY WARRANTY; without even the implied warranty of
11   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12   Lesser General Public License for more details.
13  
14   You should have received a copy of the GNU Lesser General Public
15   License along with this library; if not, write to the Free Software
16   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA
17  */
18  package nextgrid.api.env;
19  
20  import java.io.Serializable;
21  import java.util.Collection;
22  
23  import nextgrid.api.pom.Process;
24  import nextgrid.api.pom.AbstractProcess;
25  import nextgrid.api.pom.QueryProfile;
26  
27  /**
28   * Type description.
29   *
30   * @author Rodrigo Ruiz
31   */
32  public interface ProcessDiscoverer extends Serializable {
33  
34    /**
35     * Searches through associated registries all processes matching the semantic
36     * description of the abstract process passed as a parameter.
37     *
38     * @param process The abstract process to match to
39     * @return A collection of results
40     * @throws DiscoveryException If an error occurs during discovery
41     */
42    Collection<Process> discover(final AbstractProcess process)
43      throws DiscoveryException;
44  
45    /**
46     * Searches through associated registries all processes matching the
47     * specified query profile.
48     *
49     * @param profile A query profile to be evaluated
50     * @return A collection of results
51     * @throws DiscoveryException If an error occurs during discovery
52     */
53    Collection<Process> discover(final QueryProfile profile)
54      throws DiscoveryException;
55  }