@@ -0,0 +1,2908 @@
+/**%0A *  Copyright (c) 1999-2014, Ecole des Mines de Nantes%0A *  All rights reserved.%0A *  Redistribution and use in source and binary forms, with or without%0A *  modification, are permitted provided that the following conditions are met:%0A *%0A *      * Redistributions of source code must retain the above copyright%0A *        notice, this list of conditions and the following disclaimer.%0A *      * Redistributions in binary form must reproduce the above copyright%0A *        notice, this list of conditions and the following disclaimer in the%0A *        documentation and/or other materials provided with the distribution.%0A *      * Neither the name of the Ecole des Mines de Nantes nor the%0A *        names of its contributors may be used to endorse or promote products%0A *        derived from this software without specific prior written permission.%0A *%0A *  THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS %60%60AS IS'' AND ANY%0A *  EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED%0A *  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE%0A *  DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY%0A *  DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES%0A *  (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;%0A *  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND%0A *  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT%0A *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS%0A *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.%0A */%0A%0Apackage solver.variables.events;%0A%0A/**%0A * An enum defining the propagator event types:%0A * %3Cul%3E%0A * %3Cli%3E%3Ccode%3EFULL_PROPAGATION%3C/code%3E: Propagation from scratch (as in initial propagation),%3C/li%3E%0A * %3Cli%3E%3Ccode%3ECUSTOM_PROPAGATION%3C/code%3E: custom propagation triggered by the developer (partially incremental propagation)%3C/li%3E%0A * %3C/ul%3E%0A * %3Cp/%3E%0A *%0A * @author Charles Prud'homme, Jean-Guillaume Fages%0A */%0Apublic enum PropagatorEventType implements IEventType %7B%0A%0A%09VOID(0,0),%0A%09CUSTOM_PROPAGATION(1, 1),%0A%09FULL_PROPAGATION(2, 3);%0A%0A%09private final int mask;%0A%09private final int strengthened_mask;%0A%0A%09private PropagatorEventType(int mask, int fullmask) %7B%0A%09%09this.mask = mask;%0A%09%09this.strengthened_mask = fullmask;%0A%09%7D%0A%0A%09@Override%0A%09public int getMask() %7B%0A%09%09return mask;%0A%09%7D%0A%0A%09@Override%0A%09public int getStrengthenedMask() %7B%0A%09%09return strengthened_mask;%0A%09%7D%0A%0A%09//******************************************************************************************************************%0A%09//******************************************************************************************************************%0A%0A%09public static boolean isFullPropagation(int mask) %7B%0A%09%09return (mask & FULL_PROPAGATION.mask) != 0;%0A%09%7D%0A%0A%09public static boolean isCustomPropagation(int mask) %7B%0A%09%09return (mask & CUSTOM_PROPAGATION.mask) != 0;%0A%09%7D%0A%7D%0A

refactor event types 2