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

ru.cwcode.commands.preconditions.processor.PreconditionResult Maven / Gradle / Ivy

There is a newer version: 1.3.4
Show newest version
package ru.cwcode.commands.preconditions.processor;

import org.jetbrains.annotations.Nullable;

public class PreconditionResult {
  private boolean canPerform = true;
  private boolean canSee = true;
  private @Nullable String cannotPerformMessage = null;
  
  PreconditionResult() {
  }
  
  public PreconditionResult(boolean canPerform, boolean canSee, @Nullable String cannotPerformMessage) {
    this.canPerform = canPerform;
    this.canSee = canSee;
    this.cannotPerformMessage = cannotPerformMessage;
  }
  
  public boolean canPerform() {
    return canPerform;
  }
  
  public boolean canSee() {
    return canSee;
  }
  
  public @Nullable String getCannotPerformMessage() {
    return cannotPerformMessage;
  }
  
  void setCanPerform(boolean canPerform) {
    this.canPerform = canPerform;
  }
  
  void setCanSee(boolean canSee) {
    this.canSee = canSee;
  }
  
  void setCannotPerformMessage(@Nullable String cannotPerformMessage) {
    this.cannotPerformMessage = cannotPerformMessage;
  }
  
  public boolean isSatisfy(PreconditionRequirements requirements) {
    return (canPerform || !requirements.canPerform()) && (canSee || !requirements.canSee());
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy