• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Ekryd / sortgraphql / 2150

08 Apr 2024 05:09PM CUT coverage: 98.082%. Remained the same
2150

push

circleci

web-flow
Update dependency commons-io:commons-io to v2.16.1

818 of 834 relevant lines covered (98.08%)

0.98 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

100.0
/sorter/src/main/java/sortgraphql/parameter/PluginParameters.java
1
package sortgraphql.parameter;
2

3
import static java.util.Collections.singletonList;
4

5
import java.io.File;
6
import java.util.List;
7

8
/** Contains all parameters that are sent to the plugin */
9
public class PluginParameters {
10
  public final List<File> schemaFiles;
11
  public final boolean createBackupFile;
12
  public final String backupFileExtension;
13
  public final String encoding;
14
  public final boolean skipUnionTypeSorting;
15
  public final boolean skipFieldArgumentSorting;
16
  public final boolean generateSchemaDefinition;
17
  public final boolean generateAllDirectiveDefinitions;
18
  public final boolean descriptionsAsHashComments;
19
  public final boolean individualSchemas;
20

21
  public PluginParameters(
22
      List<File> schemaFiles,
23
      boolean createBackupFile,
24
      String backupFileExtension,
25
      String encoding,
26
      boolean skipUnionTypeSorting,
27
      boolean skipFieldArgumentSorting,
28
      boolean generateSchemaDefinition,
29
      boolean generateAllDirectiveDefinitions,
30
      boolean descriptionsAsHashComments,
31
      boolean individualSchemas) {
1✔
32
    this.schemaFiles = schemaFiles;
1✔
33
    this.createBackupFile = createBackupFile;
1✔
34
    this.backupFileExtension = backupFileExtension;
1✔
35
    this.encoding = encoding;
1✔
36
    this.skipUnionTypeSorting = skipUnionTypeSorting;
1✔
37
    this.skipFieldArgumentSorting = skipFieldArgumentSorting;
1✔
38
    this.generateSchemaDefinition = generateSchemaDefinition;
1✔
39
    this.generateAllDirectiveDefinitions = generateAllDirectiveDefinitions;
1✔
40
    this.descriptionsAsHashComments = descriptionsAsHashComments;
1✔
41
    this.individualSchemas = individualSchemas;
1✔
42
  }
1✔
43

44
  public static Builder builder() {
45
    return new PluginParameters.Builder();
1✔
46
  }
47

48
  /** Builder for the PluginParameters class */
49
  public static class Builder {
50
    private List<File> schemaFiles;
51
    private boolean createBackupFile;
52
    private String backupFileExtension;
53
    private String encoding;
54
    private boolean skipUnionTypeSorting;
55
    private boolean skipFieldArgumentSorting;
56
    private boolean generateSchemaDefinition;
57
    private boolean generateAllDirectiveDefinitions;
58
    private boolean descriptionsAsHashComments;
59
    private boolean individualSchemas;
60

61
    private Builder() {}
62

63
    /** Sets schema file location */
64
    public Builder setSchemaFile(File schemaFile, List<File> schemaFiles) {
65
      if (schemaFiles == null || schemaFiles.isEmpty())
1✔
66
        this.schemaFiles = singletonList(schemaFile);
1✔
67
      else this.schemaFiles = schemaFiles;
1✔
68
      return this;
1✔
69
    }
70

71
    /** Sets information regarding backup file */
72
    public Builder setBackup(final boolean createBackupFile, final String backupFileExtension) {
73
      this.createBackupFile = createBackupFile;
1✔
74
      this.backupFileExtension = backupFileExtension;
1✔
75
      return this;
1✔
76
    }
77

78
    /** Sets which encoding should be used throughout the plugin */
79
    public Builder setEncoding(final String encoding) {
80
      this.encoding = encoding;
1✔
81
      return this;
1✔
82
    }
83

84
    public Builder setIndividualSchemas(boolean individualSchemas) {
85
      this.individualSchemas = individualSchemas;
1✔
86
      return this;
1✔
87
    }
88

89
    /** Sets sorting options */
90
    public Builder setSorting(boolean skipUnionTypeSorting, boolean skipFieldArgumentSorting) {
91
      this.skipUnionTypeSorting = skipUnionTypeSorting;
1✔
92
      this.skipFieldArgumentSorting = skipFieldArgumentSorting;
1✔
93
      return this;
1✔
94
    }
95

96
    public Builder setGenerationOptions(
97
        boolean generateSchemaDefinition,
98
        boolean generateAllDirectiveDefinitions,
99
        boolean descriptionsAsHashComments) {
100
      this.generateSchemaDefinition = generateSchemaDefinition;
1✔
101
      this.generateAllDirectiveDefinitions = generateAllDirectiveDefinitions;
1✔
102
      this.descriptionsAsHashComments = descriptionsAsHashComments;
1✔
103
      return this;
1✔
104
    }
105

106
    /** Build the PluginParameters instance */
107
    public PluginParameters build() {
108
      return new PluginParameters(
1✔
109
          schemaFiles,
110
          createBackupFile,
111
          backupFileExtension,
112
          encoding,
113
          skipUnionTypeSorting,
114
          skipFieldArgumentSorting,
115
          generateSchemaDefinition,
116
          generateAllDirectiveDefinitions,
117
          descriptionsAsHashComments,
118
          individualSchemas);
119
    }
120
  }
121
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc