/***************************************************************************** * Copyright (c) 2007, 2008 g-Eclipse Consortium * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Initial development of the original code was made for the * g-Eclipse project founded by European Union * project number: FP6-IST-034327 http://www.geclipse.eu/ * * Contributors: * Mathias Stuempert - initial API and implementation *****************************************************************************/ package eu.geclipse.core.reporting; /** * Definition of a solution that may be associated to one * or more problems. A solution may either be active or passive. * If a solutions is active its {@link ISolver#solve()}-method * is assumed to provide an action that solves the associated * problem(s). In general a solution has to contain a text that * gives a brief description of the solution that is presented * to the user. */ public interface ISolution extends ISolver { /** * Get this solution's ID. * * @return The solution's unique identifier or <code>null</code> * if this solution was created programmatically. */ public String getID(); /** * Determine if this solution is active. An active solution * has to provide a reasonable implementation of the * {@link ISolver#solve()}-method in order to solve the * associated problem(s). Non-active solutions are called * passive solutions and only contain a descriptive text that * may give the user hints how to solve the associated * problem. * * @return True if this solution is active, false for * passive solutions. */ public boolean isActive(); /** * Get a brief text that gives a description of this solution. * * @return This solutions description. */ public String getDescription(); }