1 package com.jsql.model.suspendable;
2
3 import com.jsql.model.bean.database.AbstractElementDatabase;
4
5 import java.util.Arrays;
6 import java.util.Objects;
7
8 public record Input(
9 String payload,
10 String[] sourcePage,
11 boolean isMultipleRows,
12 int countRowsToFind,
13 AbstractElementDatabase elementDatabase,
14 String metadataInjectionProcess
15 ) {
16 public Input(String charInsertion) {
17 this(charInsertion, null, false, -1, null, null);
18 }
19
20 @Override
21 public boolean equals(Object o) {
22 if (o == null || this.getClass() != o.getClass()) return false;
23 Input input = (Input) o;
24 return this.countRowsToFind == input.countRowsToFind && this.isMultipleRows == input.isMultipleRows && Objects.equals(this.payload, input.payload) && Objects.deepEquals(this.sourcePage, input.sourcePage) && Objects.equals(this.metadataInjectionProcess, input.metadataInjectionProcess) && Objects.equals(this.elementDatabase, input.elementDatabase);
25 }
26
27 @Override
28 public int hashCode() {
29 return Objects.hash(this.payload, Arrays.hashCode(this.sourcePage), this.isMultipleRows, this.countRowsToFind, this.elementDatabase, this.metadataInjectionProcess);
30 }
31
32 @Override
33 public String toString() {
34 return "Input{" +
35 "payload='" + this.payload + '\'' +
36 ", sourcePage=" + Arrays.toString(this.sourcePage) +
37 ", isMultipleRows=" + this.isMultipleRows +
38 ", countRowsToFind=" + this.countRowsToFind +
39 ", elementDatabase=" + this.elementDatabase +
40 ", metadataInjectionProcess='" + this.metadataInjectionProcess + '\'' +
41 '}';
42 }
43 }