Class AbstractModelObservable

java.lang.Object
java.util.concurrent.SubmissionPublisher<Request>
com.jsql.model.AbstractModelObservable
All Implemented Interfaces:
AutoCloseable, Flow.Publisher<Request>
Direct Known Subclasses:
InjectionModel

public abstract class AbstractModelObservable extends SubmissionPublisher<Request>
Define the features of the injection model :
- stop the preparation of injection,
- Callable for parallelize HTTP tasks,
- communication with view, via Observable.
  • Field Details

    • isStoppedByUser

      protected boolean isStoppedByUser
      True if user wants to stop preparation.
      During the preparation, several methods will check if the execution must be stopped.
  • Constructor Details

    • AbstractModelObservable

      public AbstractModelObservable()
  • Method Details

    • inject

      public abstract String inject(String dataInjection, boolean isUsingIndex, String metadataInjectionProcess, AbstractCallableBoolean<?> callableBoolean, boolean isReport)
      Function header for the inject() methods, definition needed by call(), dataInjection: SQL query, responseHeader unused, useVisibleIndex false if injection indexes aren't needed, return source page after the HTTP call.
    • injectWithoutIndex

      public String injectWithoutIndex(String dataInjection, String metadataInjectionProcess)
      Inject without the need of index like in "select 1,2,...".
      Used for example by: first index test (getVisibleIndex), Error test, and Error, Blind, Time strategies.
      Returns:
      source code of current page
    • injectWithoutIndex

      public String injectWithoutIndex(String dataInjection, String metadataInjectionProcess, AbstractCallableBoolean<?> callableBoolean)
    • injectWithIndexes

      public String injectWithIndexes(String dataInjection, String metadataInjectionProcess)
    • getReportWithoutIndex

      public String getReportWithoutIndex(String dataInjection, String metadataInjectionProcess)
    • getReportWithoutIndex

      public String getReportWithoutIndex(String dataInjection, String metadataInjectionProcess, AbstractCallableBoolean<?> callableBoolean)
    • getReportWithIndexes

      public String getReportWithIndexes(String dataInjection, String metadataInjectionProcess)
    • sendToViews

      public void sendToViews(Request request)
      Send an interaction message to registered views.
      Parameters:
      request - The event bean corresponding to the interaction
    • isStoppedByUser

      public boolean isStoppedByUser()
    • setIsStoppedByUser

      public void setIsStoppedByUser(boolean processStopped)