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

org.snapscript.studio.agent.event.EvaluateEvent Maven / Gradle / Ivy

There is a newer version: 1.4.6
Show newest version
package org.snapscript.studio.agent.event;

import java.util.Set;

public class EvaluateEvent implements ProcessEvent {

   private final Set expand;
   private final String expression;
   private final String process;
   private final String thread;
   private final boolean refresh;
   
   private EvaluateEvent(Builder builder) {
      this.expression = builder.expression;
      this.refresh = builder.refresh;
      this.expand = builder.expand;
      this.process = builder.process;
      this.thread = builder.thread;
   }
   
   @Override
   public String getProcess() {
      return process;
   }
   
   public Set getExpand() {
      return expand;
   }
   
   public boolean isRefresh() {
      return refresh;
   }

   public String getExpression() {
      return expression;
   }
   
   public String getThread() {
      return thread;
   }

   public static class Builder {
      
      private Set expand;
      private String expression;
      private String process;
      private String thread;
      private boolean refresh;
      
      public Builder(String process) {
         this.process = process;
      }

      public Builder withExpand(Set expand) {
         this.expand = expand;
         return this;
      }
      
      public Builder withThread(String thread) {
         this.thread = thread;
         return this;
      }

      public Builder withExpression(String expression) {
         this.expression = expression;
         return this;
      }

      public Builder withProcess(String process) {
         this.process = process;
         return this;
      }
      
      public Builder withRefresh(boolean refresh) {
         this.refresh = refresh;
         return this;
      }
      
      public EvaluateEvent build(){
         return new EvaluateEvent(this);
      }
   }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy