package sale;

/**
  * A collection of predefined process error codes.
  *
  * @author Steffen Zschaler
  * @version 2.0 17/08/1999
  * @since v2.0
  */
public interface ProcessErrorCodes {

  /**
    * Any user defined error code must be outside
    * <code>[ERR_LOWERBOUND, {@link #ERR_UPPERBOUND}]</code>.
    */
  public static final int ERR_LOWERBOUND = -100; // allow for other Framework defined errors

  /**
    * Error code constant: No error.
    */
  public static final int ERR_NOERROR = 0;

  /**
    * Error code constant: Unspecific internal error, that should not normally occur.
    */
  public static final int ERR_INTERNAL = -1;

  /**
    * Error code constant: There were not enough elements in the source of a move action in a
    * {@link data.stdforms.TwoTableFormSheet}.
    */
  public static final int NOT_ENOUGH_ELEMENTS_ERROR = -2;

  /**
    * Error code constant: A {@link data.events.VetoException} occurred while trying to remove items from a
    * container.
    */
  public static final int REMOVE_VETO_EXCEPTION = -3;

  /**
    * Error code constant: When adding an item to a container, there was a key duplication.
    */
  public static final int DUPLICATE_KEY_EXCEPTION = -4;

  /**
    * Error code constant: A {@link data.DataBasketConflictException} occurred while trying to add/remove
    * items to/from a container.
    */
  public static final int DATABASKET_CONFLICT_ERROR = -5;

  /**
    * Any user defined error code must be outside
    * <code>[{@link #ERR_LOWERBOUND}, ERR_UPPERBOUND]</code>.
    */
  public static final int ERR_UPPERBOUND = 0;
}