1 /* 2 Copyright (C) 2007 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.net.URI; 21 22 import nextgrid.api.pom.Process; 23 24 /** 25 * Selector type (mock-up class, until the VIM enactor is integrated). 26 * 27 * @author Rodrigo Ruiz 28 */ 29 public interface ProcessSelector { 30 31 /** 32 * Gets this instance id. 33 * 34 * @return This instance id 35 */ 36 URI getId(); 37 38 /** 39 * Sets this instance id. 40 * 41 * @param id The new id 42 */ 43 void setId(URI id); 44 45 /** 46 * Selects a process among the candidates collection held by the 47 * specified abstract process. 48 * 49 * @param p The root process node to select on 50 * @throws SelectionException If an error occurs, or no candidate is found 51 */ 52 void select(Process p) throws SelectionException; 53 }