text: /*
   * SatisfiedPresent.java
   * This file is part of JaCoP.
   * <p>
   * JaCoP is a Java Constraint Programming solver.
   * <p>
   * Copyright (C) 2000-2008 Krzysztof Kuchcinski and Radoslaw Szymanek
   * <p>
   * This program is free software: you can redistribute it and/or modify
   * it under the terms of the GNU Affero General Public License as published by
   * the Free Software Foundation, either version 3 of the License, or
   * (at your option) any later version.
   * <p>
   * This program is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   * GNU Affero General Public License for more details.
   * <p>
   * Notwithstanding any other provision of this License, the copyright
   * owners of this work supplement the terms of this License with terms
   * prohibiting misrepresentation of the origin of this work and requiring
   * that modified versions of this work be marked in reasonable ways as
   * different from the original version. This supplement of the license
   * terms is in accordance with Section 7 of GNU Affero General Public
   * License version 3.
   * <p>
   * You should have received a copy of the GNU Affero General Public License
   * along with this program.  If not, see <http://www.gnu.org/licenses/>.
   */
  
  package org.jacop.api;
  
  /**
   * Interface to mark the need (PrimitiveConstraint) or extra functionality
   * (Constraint) to compute if the constraint is satisfied.
   *
   * @author Radoslaw Szymanek and Krzysztof Kuchcinski
   * @version 4.7
   */
  public interface SatisfiedPresent {
  
      /**
       * It checks if the constraint is satisfied. It can return false even if constraint
       * is satisfied but not all variables in its scope are grounded. It needs to return
       * true if all variables in its scope are grounded and constraint is satisfied.
       * <p>
       * Implementations of this interface for constraints that are not PrimitiveConstraint
       * may require constraint imposition and consistency check as a requirement to work
       * correctly.
       *
       * @return true if constraint is possible to verify that it is satisfied.
       */
      boolean satisfied();
  
  }
  