Skip to content
This repository was archived by the owner on Dec 25, 2024. It is now read-only.

Commit 02d098c

Browse files
authored
Java, reduces unused imports (#292)
* Removes imports when schema is a ref to a component schema * Removes unneeded boolean and null schema imports * Improves imports for IntJsonSchema * Eliminates unneeded number schema imports * Removes unneeded string schema imports * Fixes date and datetime imports * Fixes string detection * Removes unneeded map imports * Removes unneeded list schema imports * Fixes imports for AnyType and NotAnyType * Improves close brace, adds missing number var equals class case * Fixes required indentation * Adds anytype detection * Adjusts anytype and map imports more * Set and LinkedHashSet import improvement * Tweak string imports more * Removes schema shared imports template * Adds missing string import for binary schema * Generator docs regenerated
1 parent 881edf9 commit 02d098c

356 files changed

Lines changed: 2217 additions & 11346 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

docs/generators/java.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -321,8 +321,8 @@ These options may be applied as additional-properties (cli) or configOptions (pl
321321
| Name | Supported | Defined By |
322322
| ---- | --------- | ---------- |
323323
|AdditionalProperties|✗|OAS2,OAS3
324-
|AllOf||OAS2,OAS3
325-
|AnyOf||OAS3
324+
|AllOf||OAS2,OAS3
325+
|AnyOf||OAS3
326326
|Const|✗|OAS3
327327
|Contains|✗|OAS3
328328
|Default|✗|OAS2,OAS3
@@ -347,9 +347,9 @@ These options may be applied as additional-properties (cli) or configOptions (pl
347347
|MinProperties|✓|OAS2,OAS3
348348
|Minimum|✓|OAS2,OAS3
349349
|MultipleOf|✓|OAS2,OAS3
350-
|Not||OAS3
350+
|Not||OAS3
351351
|Nullable|✗|OAS3
352-
|OneOf||OAS3
352+
|OneOf||OAS3
353353
|Pattern|✓|OAS2,OAS3
354354
|PatternProperties|✗|OAS3
355355
|PrefixItems|✗|OAS3
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,9 @@
11
package org.openapijsonschematools.components.headers.int32jsoncontenttypeheader.content.applicationjson;
2-
import org.openapijsonschematools.configurations.SchemaConfiguration;
3-
import org.openapijsonschematools.schemas.AnyTypeJsonSchema;
4-
import org.openapijsonschematools.schemas.BooleanJsonSchema;
5-
import org.openapijsonschematools.schemas.DateJsonSchema;
6-
import org.openapijsonschematools.schemas.DateTimeJsonSchema;
7-
import org.openapijsonschematools.schemas.DecimalJsonSchema;
8-
import org.openapijsonschematools.schemas.DoubleJsonSchema;
9-
import org.openapijsonschematools.schemas.FloatJsonSchema;
10-
import org.openapijsonschematools.schemas.FrozenList;
11-
import org.openapijsonschematools.schemas.FrozenMap;
122
import org.openapijsonschematools.schemas.Int32JsonSchema;
13-
import org.openapijsonschematools.schemas.Int64JsonSchema;
14-
import org.openapijsonschematools.schemas.IntJsonSchema;
15-
import org.openapijsonschematools.schemas.JsonSchema;
16-
import org.openapijsonschematools.schemas.ListJsonSchema;
17-
import org.openapijsonschematools.schemas.MapJsonSchema;
18-
import org.openapijsonschematools.schemas.NotAnyTypeJsonSchema;
19-
import org.openapijsonschematools.schemas.NullJsonSchema;
20-
import org.openapijsonschematools.schemas.NumberJsonSchema;
21-
import org.openapijsonschematools.schemas.StringJsonSchema;
22-
import org.openapijsonschematools.schemas.UnsetAnyTypeJsonSchema;
23-
import org.openapijsonschematools.schemas.UuidJsonSchema;
24-
25-
import java.time.LocalDate;
26-
import java.time.ZonedDateTime;
27-
import java.util.AbstractMap;
28-
import java.util.LinkedHashMap;
29-
import java.util.LinkedHashSet;
30-
import java.util.List;
31-
import java.util.Map;
32-
import java.util.Set;
333

344
public class Int32JsonContentTypeHeaderSchema {
355
// nest classes so all schemas and input/output classes can be public
366

377

38-
public class Int32JsonContentTypeHeaderSchema1 extends Int32JsonSchema {
39-
}
8+
public class Int32JsonContentTypeHeaderSchema1 extends Int32JsonSchema {}
409
}
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,9 @@
11
package org.openapijsonschematools.components.headers.numberheader;
2-
import org.openapijsonschematools.configurations.SchemaConfiguration;
3-
import org.openapijsonschematools.schemas.AnyTypeJsonSchema;
4-
import org.openapijsonschematools.schemas.BooleanJsonSchema;
5-
import org.openapijsonschematools.schemas.DateJsonSchema;
6-
import org.openapijsonschematools.schemas.DateTimeJsonSchema;
72
import org.openapijsonschematools.schemas.DecimalJsonSchema;
8-
import org.openapijsonschematools.schemas.DoubleJsonSchema;
9-
import org.openapijsonschematools.schemas.FloatJsonSchema;
10-
import org.openapijsonschematools.schemas.FrozenList;
11-
import org.openapijsonschematools.schemas.FrozenMap;
12-
import org.openapijsonschematools.schemas.Int32JsonSchema;
13-
import org.openapijsonschematools.schemas.Int64JsonSchema;
14-
import org.openapijsonschematools.schemas.IntJsonSchema;
15-
import org.openapijsonschematools.schemas.JsonSchema;
16-
import org.openapijsonschematools.schemas.ListJsonSchema;
17-
import org.openapijsonschematools.schemas.MapJsonSchema;
18-
import org.openapijsonschematools.schemas.NotAnyTypeJsonSchema;
19-
import org.openapijsonschematools.schemas.NullJsonSchema;
20-
import org.openapijsonschematools.schemas.NumberJsonSchema;
21-
import org.openapijsonschematools.schemas.StringJsonSchema;
22-
import org.openapijsonschematools.schemas.UnsetAnyTypeJsonSchema;
23-
import org.openapijsonschematools.schemas.UuidJsonSchema;
24-
25-
import java.time.LocalDate;
26-
import java.time.ZonedDateTime;
27-
import java.util.AbstractMap;
28-
import java.util.LinkedHashMap;
29-
import java.util.LinkedHashSet;
30-
import java.util.List;
31-
import java.util.Map;
32-
import java.util.Set;
333

344
public class NumberHeaderSchema {
355
// nest classes so all schemas and input/output classes can be public
366

377

38-
public class NumberHeaderSchema1 implements JsonSchema {
39-
static final LinkedHashSet<Class<?>> type = new LinkedHashSet<>(Set.of(
40-
String.class
41-
));
42-
static final String format = "number";
43-
public static String validate(String arg, SchemaConfiguration configuration) {
44-
return JsonSchema.validate(NumberHeaderSchema1.class, arg, configuration);
45-
}
46-
}}
8+
public class NumberHeaderSchema1 extends DecimalJsonSchema {}
9+
}
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,10 @@
11
package org.openapijsonschematools.components.headers.refcontentschemaheader.content.applicationjson;
2-
import org.openapijsonschematools.configurations.SchemaConfiguration;
3-
import org.openapijsonschematools.schemas.AnyTypeJsonSchema;
4-
import org.openapijsonschematools.schemas.BooleanJsonSchema;
5-
import org.openapijsonschematools.schemas.DateJsonSchema;
6-
import org.openapijsonschematools.schemas.DateTimeJsonSchema;
7-
import org.openapijsonschematools.schemas.DecimalJsonSchema;
8-
import org.openapijsonschematools.schemas.DoubleJsonSchema;
9-
import org.openapijsonschematools.schemas.FloatJsonSchema;
10-
import org.openapijsonschematools.schemas.FrozenList;
11-
import org.openapijsonschematools.schemas.FrozenMap;
12-
import org.openapijsonschematools.schemas.Int32JsonSchema;
13-
import org.openapijsonschematools.schemas.Int64JsonSchema;
14-
import org.openapijsonschematools.schemas.IntJsonSchema;
15-
import org.openapijsonschematools.schemas.JsonSchema;
16-
import org.openapijsonschematools.schemas.ListJsonSchema;
17-
import org.openapijsonschematools.schemas.MapJsonSchema;
18-
import org.openapijsonschematools.schemas.NotAnyTypeJsonSchema;
19-
import org.openapijsonschematools.schemas.NullJsonSchema;
20-
import org.openapijsonschematools.schemas.NumberJsonSchema;
21-
import org.openapijsonschematools.schemas.StringJsonSchema;
22-
import org.openapijsonschematools.schemas.UnsetAnyTypeJsonSchema;
23-
import org.openapijsonschematools.schemas.UuidJsonSchema;
242

25-
import java.time.LocalDate;
26-
import java.time.ZonedDateTime;
27-
import java.util.AbstractMap;
28-
import java.util.LinkedHashMap;
29-
import java.util.LinkedHashSet;
30-
import java.util.List;
31-
import java.util.Map;
32-
import java.util.Set;
333
import org.openapijsonschematools.components.schemas.StringWithValidation;
344

355
public class RefContentSchemaHeaderSchema extends StringWithValidation {
366
// $refed class
377

388

39-
public class RefContentSchemaHeaderSchema1 extends StringWithValidation1 {
40-
}
9+
public class RefContentSchemaHeaderSchema1 extends StringWithValidation1 {}
4110
}
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,10 @@
11
package org.openapijsonschematools.components.headers.refschemaheader;
2-
import org.openapijsonschematools.configurations.SchemaConfiguration;
3-
import org.openapijsonschematools.schemas.AnyTypeJsonSchema;
4-
import org.openapijsonschematools.schemas.BooleanJsonSchema;
5-
import org.openapijsonschematools.schemas.DateJsonSchema;
6-
import org.openapijsonschematools.schemas.DateTimeJsonSchema;
7-
import org.openapijsonschematools.schemas.DecimalJsonSchema;
8-
import org.openapijsonschematools.schemas.DoubleJsonSchema;
9-
import org.openapijsonschematools.schemas.FloatJsonSchema;
10-
import org.openapijsonschematools.schemas.FrozenList;
11-
import org.openapijsonschematools.schemas.FrozenMap;
12-
import org.openapijsonschematools.schemas.Int32JsonSchema;
13-
import org.openapijsonschematools.schemas.Int64JsonSchema;
14-
import org.openapijsonschematools.schemas.IntJsonSchema;
15-
import org.openapijsonschematools.schemas.JsonSchema;
16-
import org.openapijsonschematools.schemas.ListJsonSchema;
17-
import org.openapijsonschematools.schemas.MapJsonSchema;
18-
import org.openapijsonschematools.schemas.NotAnyTypeJsonSchema;
19-
import org.openapijsonschematools.schemas.NullJsonSchema;
20-
import org.openapijsonschematools.schemas.NumberJsonSchema;
21-
import org.openapijsonschematools.schemas.StringJsonSchema;
22-
import org.openapijsonschematools.schemas.UnsetAnyTypeJsonSchema;
23-
import org.openapijsonschematools.schemas.UuidJsonSchema;
242

25-
import java.time.LocalDate;
26-
import java.time.ZonedDateTime;
27-
import java.util.AbstractMap;
28-
import java.util.LinkedHashMap;
29-
import java.util.LinkedHashSet;
30-
import java.util.List;
31-
import java.util.Map;
32-
import java.util.Set;
333
import org.openapijsonschematools.components.schemas.StringWithValidation;
344

355
public class RefSchemaHeaderSchema extends StringWithValidation {
366
// $refed class
377

388

39-
public class RefSchemaHeaderSchema1 extends StringWithValidation1 {
40-
}
9+
public class RefSchemaHeaderSchema1 extends StringWithValidation1 {}
4110
}
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,9 @@
11
package org.openapijsonschematools.components.headers.stringheader;
2-
import org.openapijsonschematools.configurations.SchemaConfiguration;
3-
import org.openapijsonschematools.schemas.AnyTypeJsonSchema;
4-
import org.openapijsonschematools.schemas.BooleanJsonSchema;
5-
import org.openapijsonschematools.schemas.DateJsonSchema;
6-
import org.openapijsonschematools.schemas.DateTimeJsonSchema;
7-
import org.openapijsonschematools.schemas.DecimalJsonSchema;
8-
import org.openapijsonschematools.schemas.DoubleJsonSchema;
9-
import org.openapijsonschematools.schemas.FloatJsonSchema;
10-
import org.openapijsonschematools.schemas.FrozenList;
11-
import org.openapijsonschematools.schemas.FrozenMap;
12-
import org.openapijsonschematools.schemas.Int32JsonSchema;
13-
import org.openapijsonschematools.schemas.Int64JsonSchema;
14-
import org.openapijsonschematools.schemas.IntJsonSchema;
15-
import org.openapijsonschematools.schemas.JsonSchema;
16-
import org.openapijsonschematools.schemas.ListJsonSchema;
17-
import org.openapijsonschematools.schemas.MapJsonSchema;
18-
import org.openapijsonschematools.schemas.NotAnyTypeJsonSchema;
19-
import org.openapijsonschematools.schemas.NullJsonSchema;
20-
import org.openapijsonschematools.schemas.NumberJsonSchema;
212
import org.openapijsonschematools.schemas.StringJsonSchema;
22-
import org.openapijsonschematools.schemas.UnsetAnyTypeJsonSchema;
23-
import org.openapijsonschematools.schemas.UuidJsonSchema;
24-
25-
import java.time.LocalDate;
26-
import java.time.ZonedDateTime;
27-
import java.util.AbstractMap;
28-
import java.util.LinkedHashMap;
29-
import java.util.LinkedHashSet;
30-
import java.util.List;
31-
import java.util.Map;
32-
import java.util.Set;
333

344
public class StringHeaderSchema {
355
// nest classes so all schemas and input/output classes can be public
366

377

38-
public class StringHeaderSchema1 implements JsonSchema {
39-
static final LinkedHashSet<Class<?>> type = new LinkedHashSet<>(Set.of(
40-
String.class
41-
));
42-
public static String validate(String arg, SchemaConfiguration configuration) {
43-
return JsonSchema.validate(StringHeaderSchema1.class, arg, configuration);
44-
}
45-
}}
8+
public class StringHeaderSchema1 extends StringJsonSchema {}
9+
}
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,10 @@
11
package org.openapijsonschematools.components.parameters.componentrefschemastringwithvalidation.content.applicationjson;
2-
import org.openapijsonschematools.configurations.SchemaConfiguration;
3-
import org.openapijsonschematools.schemas.AnyTypeJsonSchema;
4-
import org.openapijsonschematools.schemas.BooleanJsonSchema;
5-
import org.openapijsonschematools.schemas.DateJsonSchema;
6-
import org.openapijsonschematools.schemas.DateTimeJsonSchema;
7-
import org.openapijsonschematools.schemas.DecimalJsonSchema;
8-
import org.openapijsonschematools.schemas.DoubleJsonSchema;
9-
import org.openapijsonschematools.schemas.FloatJsonSchema;
10-
import org.openapijsonschematools.schemas.FrozenList;
11-
import org.openapijsonschematools.schemas.FrozenMap;
12-
import org.openapijsonschematools.schemas.Int32JsonSchema;
13-
import org.openapijsonschematools.schemas.Int64JsonSchema;
14-
import org.openapijsonschematools.schemas.IntJsonSchema;
15-
import org.openapijsonschematools.schemas.JsonSchema;
16-
import org.openapijsonschematools.schemas.ListJsonSchema;
17-
import org.openapijsonschematools.schemas.MapJsonSchema;
18-
import org.openapijsonschematools.schemas.NotAnyTypeJsonSchema;
19-
import org.openapijsonschematools.schemas.NullJsonSchema;
20-
import org.openapijsonschematools.schemas.NumberJsonSchema;
21-
import org.openapijsonschematools.schemas.StringJsonSchema;
22-
import org.openapijsonschematools.schemas.UnsetAnyTypeJsonSchema;
23-
import org.openapijsonschematools.schemas.UuidJsonSchema;
242

25-
import java.time.LocalDate;
26-
import java.time.ZonedDateTime;
27-
import java.util.AbstractMap;
28-
import java.util.LinkedHashMap;
29-
import java.util.LinkedHashSet;
30-
import java.util.List;
31-
import java.util.Map;
32-
import java.util.Set;
333
import org.openapijsonschematools.components.schemas.StringWithValidation;
344

355
public class Schema extends StringWithValidation {
366
// $refed class
377

388

39-
public class Schema1 extends StringWithValidation1 {
40-
}
9+
public class Schema1 extends StringWithValidation1 {}
4110
}
Lines changed: 2 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,9 @@
11
package org.openapijsonschematools.components.parameters.pathusername;
2-
import org.openapijsonschematools.configurations.SchemaConfiguration;
3-
import org.openapijsonschematools.schemas.AnyTypeJsonSchema;
4-
import org.openapijsonschematools.schemas.BooleanJsonSchema;
5-
import org.openapijsonschematools.schemas.DateJsonSchema;
6-
import org.openapijsonschematools.schemas.DateTimeJsonSchema;
7-
import org.openapijsonschematools.schemas.DecimalJsonSchema;
8-
import org.openapijsonschematools.schemas.DoubleJsonSchema;
9-
import org.openapijsonschematools.schemas.FloatJsonSchema;
10-
import org.openapijsonschematools.schemas.FrozenList;
11-
import org.openapijsonschematools.schemas.FrozenMap;
12-
import org.openapijsonschematools.schemas.Int32JsonSchema;
13-
import org.openapijsonschematools.schemas.Int64JsonSchema;
14-
import org.openapijsonschematools.schemas.IntJsonSchema;
15-
import org.openapijsonschematools.schemas.JsonSchema;
16-
import org.openapijsonschematools.schemas.ListJsonSchema;
17-
import org.openapijsonschematools.schemas.MapJsonSchema;
18-
import org.openapijsonschematools.schemas.NotAnyTypeJsonSchema;
19-
import org.openapijsonschematools.schemas.NullJsonSchema;
20-
import org.openapijsonschematools.schemas.NumberJsonSchema;
212
import org.openapijsonschematools.schemas.StringJsonSchema;
22-
import org.openapijsonschematools.schemas.UnsetAnyTypeJsonSchema;
23-
import org.openapijsonschematools.schemas.UuidJsonSchema;
24-
25-
import java.time.LocalDate;
26-
import java.time.ZonedDateTime;
27-
import java.util.AbstractMap;
28-
import java.util.LinkedHashMap;
29-
import java.util.LinkedHashSet;
30-
import java.util.List;
31-
import java.util.Map;
32-
import java.util.Set;
333

344
public class Schema {
355
// nest classes so all schemas and input/output classes can be public
366

377

38-
public class Schema1 implements JsonSchema {
39-
static final LinkedHashSet<Class<?>> type = new LinkedHashSet<>(Set.of(
40-
String.class
41-
));
42-
public static String validate(String arg, SchemaConfiguration configuration) {
43-
return JsonSchema.validate(Schema1.class, arg, configuration);
44-
}
45-
}}
8+
public class Schema1 extends StringJsonSchema {}
9+
}
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,10 @@
11
package org.openapijsonschematools.components.parameters.refschemastringwithvalidation;
2-
import org.openapijsonschematools.configurations.SchemaConfiguration;
3-
import org.openapijsonschematools.schemas.AnyTypeJsonSchema;
4-
import org.openapijsonschematools.schemas.BooleanJsonSchema;
5-
import org.openapijsonschematools.schemas.DateJsonSchema;
6-
import org.openapijsonschematools.schemas.DateTimeJsonSchema;
7-
import org.openapijsonschematools.schemas.DecimalJsonSchema;
8-
import org.openapijsonschematools.schemas.DoubleJsonSchema;
9-
import org.openapijsonschematools.schemas.FloatJsonSchema;
10-
import org.openapijsonschematools.schemas.FrozenList;
11-
import org.openapijsonschematools.schemas.FrozenMap;
12-
import org.openapijsonschematools.schemas.Int32JsonSchema;
13-
import org.openapijsonschematools.schemas.Int64JsonSchema;
14-
import org.openapijsonschematools.schemas.IntJsonSchema;
15-
import org.openapijsonschematools.schemas.JsonSchema;
16-
import org.openapijsonschematools.schemas.ListJsonSchema;
17-
import org.openapijsonschematools.schemas.MapJsonSchema;
18-
import org.openapijsonschematools.schemas.NotAnyTypeJsonSchema;
19-
import org.openapijsonschematools.schemas.NullJsonSchema;
20-
import org.openapijsonschematools.schemas.NumberJsonSchema;
21-
import org.openapijsonschematools.schemas.StringJsonSchema;
22-
import org.openapijsonschematools.schemas.UnsetAnyTypeJsonSchema;
23-
import org.openapijsonschematools.schemas.UuidJsonSchema;
242

25-
import java.time.LocalDate;
26-
import java.time.ZonedDateTime;
27-
import java.util.AbstractMap;
28-
import java.util.LinkedHashMap;
29-
import java.util.LinkedHashSet;
30-
import java.util.List;
31-
import java.util.Map;
32-
import java.util.Set;
333
import org.openapijsonschematools.components.schemas.StringWithValidation;
344

355
public class Schema extends StringWithValidation {
366
// $refed class
377

388

39-
public class Schema1 extends StringWithValidation1 {
40-
}
9+
public class Schema1 extends StringWithValidation1 {}
4110
}

0 commit comments

Comments
 (0)