All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.exigen.ie.constrainer.ConstrainerObject Maven / Gradle / Ivy

package com.exigen.ie.constrainer;

///////////////////////////////////////////////////////////////////////////////
/*
 * Copyright Exigen Group 1998, 1999, 2000
 * 320 Amboy Ave., Metuchen, NJ, 08840, USA, www.exigengroup.com
 *
 * The copyright to the computer program(s) herein
 * is the property of Exigen Group, USA. All rights reserved.
 * The program(s) may be used and/or copied only with
 * the written permission of Exigen Group
 * or in accordance with the terms and conditions
 * stipulated in the agreement/contract under which
 * the program(s) have been supplied.
 */
///////////////////////////////////////////////////////////////////////////////

/**
 * An interface for constrainer object.
 * Constrained variables, expressions, constraints, and goals implement
 * that interface.
 * @see IntExp
 * @see FloatExp
 * @see Constraint
 * @see Goal
 * @see Constrainer
 */
public interface ConstrainerObject extends java.io.Serializable
{
  /**
   * Returns the constrainer the object belongs to.
   * Constrainer object belongs to one and only one constrainer.
   *
   * @return the constrainer the object belongs to.
   */
  public Constrainer constrainer();

  /**
   * Returns the object associated with this constrainer object.
   * It is possible to associate some object with a constrainer object.
   * This method returns the associated object if it exists. Otherwise
   * the method returns null.
   *
   * @return the object associated with the constrainer object.
   */
  public Object object();

  /**
   * Associates the object with this constrainer object.
   * It is possible to associate an object with an constrainer object.
   * When your business object BO is assosiated with the constraned
   * object CO (i.e. IntVar), it is convenient to use this method
   * to save the reference to the BO in the CO.
   */
  public void object(Object o);

  /**
   * Returns the name of the object. If the name is undefined the
   * function returns an empty string.
   *
   * @return The name of the object.
   */
  public String name();

  /**
   * Sets the name of the object.
   *
   * @param name The name to be set.
   */
  public void name(String name);

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy