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

net.digitalid.utility.contracts.Constraint Maven / Gradle / Ivy

The newest version!
package net.digitalid.utility.contracts;

import net.digitalid.utility.annotations.method.Pure;
import net.digitalid.utility.validation.annotations.type.Immutable;

/**
 * This class stores whether a constraint is fulfilled or violated based on a condition.
 */
@Immutable
public abstract class Constraint {
    
    /* -------------------------------------------------- Condition -------------------------------------------------- */
    
    private final boolean condition;
    
    @Pure
    protected final boolean isFulfilled() {
        return condition;
    }
    
    @Pure
    protected final boolean isViolated() {
        return !condition;
    }
    
    /* -------------------------------------------------- Constructors -------------------------------------------------- */
    
    protected Constraint(boolean condition) {
        this.condition = condition;
    }
    
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy