mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-05-12 20:50:55 +00:00
Co-authored-by: Christian Beikov <christian.beikov@gmail.com>
This commit is contained in:
parent
5cef0803b8
commit
2b8d496c80
@ -726,6 +726,8 @@ public class JavaClientCodegen extends AbstractJavaCodegen
|
||||
additionalProperties.remove(SERIALIZATION_LIBRARY_GSON);
|
||||
additionalProperties.remove(SERIALIZATION_LIBRARY_JSONB);
|
||||
supportingFiles.add(new SupportingFile("RFC3339DateFormat.mustache", invokerFolder, "RFC3339DateFormat.java"));
|
||||
supportingFiles.add(new SupportingFile("RFC3339InstantDeserializer.mustache", invokerFolder, "RFC3339InstantDeserializer.java"));
|
||||
supportingFiles.add(new SupportingFile("RFC3339JavaTimeModule.mustache", invokerFolder, "RFC3339JavaTimeModule.java"));
|
||||
break;
|
||||
case SERIALIZATION_LIBRARY_GSON:
|
||||
additionalProperties.put(SERIALIZATION_LIBRARY_GSON, "true");
|
||||
|
89
modules/openapi-generator/src/main/resources/Java/RFC3339InstantDeserializer.mustache
vendored
Normal file
89
modules/openapi-generator/src/main/resources/Java/RFC3339InstantDeserializer.mustache
vendored
Normal file
@ -0,0 +1,89 @@
|
||||
{{>licenseInfo}}
|
||||
package {{invokerPackage}};
|
||||
|
||||
import java.io.IOException;
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZoneId;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.temporal.Temporal;
|
||||
import java.time.temporal.TemporalAccessor;
|
||||
import java.util.function.BiFunction;
|
||||
import java.util.function.Function;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonParser;
|
||||
import com.fasterxml.jackson.databind.DeserializationContext;
|
||||
import com.fasterxml.jackson.datatype.jsr310.JavaTimeFeature;
|
||||
import com.fasterxml.jackson.datatype.jsr310.deser.InstantDeserializer;
|
||||
|
||||
{{>generatedAnnotation}}
|
||||
public class RFC3339InstantDeserializer<T extends Temporal> extends InstantDeserializer<T> {
|
||||
|
||||
private final static boolean DEFAULT_NORMALIZE_ZONE_ID = JavaTimeFeature.NORMALIZE_DESERIALIZED_ZONE_ID.enabledByDefault();
|
||||
private final static boolean DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
= JavaTimeFeature.ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS.enabledByDefault();
|
||||
|
||||
public static final RFC3339InstantDeserializer<Instant> INSTANT = new RFC3339InstantDeserializer<>(
|
||||
Instant.class, DateTimeFormatter.ISO_INSTANT,
|
||||
Instant::from,
|
||||
a -> Instant.ofEpochMilli( a.value ),
|
||||
a -> Instant.ofEpochSecond( a.integer, a.fraction ),
|
||||
null,
|
||||
true, // yes, replace zero offset with Z
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
public static final RFC3339InstantDeserializer<OffsetDateTime> OFFSET_DATE_TIME = new RFC3339InstantDeserializer<>(
|
||||
OffsetDateTime.class, DateTimeFormatter.ISO_OFFSET_DATE_TIME,
|
||||
OffsetDateTime::from,
|
||||
a -> OffsetDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ),
|
||||
a -> OffsetDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ),
|
||||
(d, z) -> ( d.isEqual( OffsetDateTime.MIN ) || d.isEqual( OffsetDateTime.MAX ) ?
|
||||
d :
|
||||
d.withOffsetSameInstant( z.getRules().getOffset( d.toLocalDateTime() ) ) ),
|
||||
true, // yes, replace zero offset with Z
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
public static final RFC3339InstantDeserializer<ZonedDateTime> ZONED_DATE_TIME = new RFC3339InstantDeserializer<>(
|
||||
ZonedDateTime.class, DateTimeFormatter.ISO_ZONED_DATE_TIME,
|
||||
ZonedDateTime::from,
|
||||
a -> ZonedDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ),
|
||||
a -> ZonedDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ),
|
||||
ZonedDateTime::withZoneSameInstant,
|
||||
false, // keep zero offset and Z separate since zones explicitly supported
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
protected RFC3339InstantDeserializer(
|
||||
Class<T> supportedType,
|
||||
DateTimeFormatter formatter,
|
||||
Function<TemporalAccessor, T> parsedToValue,
|
||||
Function<FromIntegerArguments, T> fromMilliseconds,
|
||||
Function<FromDecimalArguments, T> fromNanoseconds,
|
||||
BiFunction<T, ZoneId, T> adjust,
|
||||
boolean replaceZeroOffsetAsZ,
|
||||
boolean normalizeZoneId,
|
||||
boolean readNumericStringsAsTimestamp) {
|
||||
super(
|
||||
supportedType,
|
||||
formatter,
|
||||
parsedToValue,
|
||||
fromMilliseconds,
|
||||
fromNanoseconds,
|
||||
adjust,
|
||||
replaceZeroOffsetAsZ,
|
||||
normalizeZoneId,
|
||||
readNumericStringsAsTimestamp
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected T _fromString(JsonParser p, DeserializationContext ctxt, String string0) throws IOException {
|
||||
return super._fromString(p, ctxt, string0.replace( ' ', 'T' ));
|
||||
}
|
||||
}
|
20
modules/openapi-generator/src/main/resources/Java/RFC3339JavaTimeModule.mustache
vendored
Normal file
20
modules/openapi-generator/src/main/resources/Java/RFC3339JavaTimeModule.mustache
vendored
Normal file
@ -0,0 +1,20 @@
|
||||
{{>licenseInfo}}
|
||||
package {{invokerPackage}};
|
||||
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZonedDateTime;
|
||||
|
||||
import com.fasterxml.jackson.databind.module.SimpleModule;
|
||||
|
||||
{{>generatedAnnotation}}
|
||||
public class RFC3339JavaTimeModule extends SimpleModule {
|
||||
|
||||
public RFC3339JavaTimeModule() {
|
||||
super("RFC3339JavaTimeModule");
|
||||
|
||||
addDeserializer(Instant.class, RFC3339InstantDeserializer.INSTANT);
|
||||
addDeserializer(OffsetDateTime.class, RFC3339InstantDeserializer.OFFSET_DATE_TIME);
|
||||
addDeserializer(ZonedDateTime.class, RFC3339InstantDeserializer.ZONED_DATE_TIME);
|
||||
}
|
||||
}
|
@ -149,6 +149,7 @@ public class ApiClient{{#jsr310}} extends JavaTimeFormatter{{/jsr310}} {
|
||||
{{#openApiNullable}}
|
||||
objectMapper.registerModule(new JsonNullableModule());
|
||||
{{/openApiNullable}}
|
||||
objectMapper.registerModule(new RFC3339JavaTimeModule());
|
||||
objectMapper.setDateFormat(ApiClient.buildDefaultDateFormat());
|
||||
|
||||
dateFormat = ApiClient.buildDefaultDateFormat();
|
||||
|
@ -186,6 +186,7 @@ public class ApiClient {
|
||||
objectMapper.registerModule(new JodaModule());
|
||||
{{/joda}}
|
||||
objectMapper.registerModule(new JavaTimeModule());
|
||||
objectMapper.registerModule(new RFC3339JavaTimeModule());
|
||||
{{#openApiNullable}}
|
||||
JsonNullableModule jnm = new JsonNullableModule();
|
||||
objectMapper.registerModule(jnm);
|
||||
|
@ -42,6 +42,7 @@ public class JSON implements ContextResolver<ObjectMapper> {
|
||||
{{#openApiNullable}}
|
||||
.addModule(new JsonNullableModule())
|
||||
{{/openApiNullable}}
|
||||
.addModule(new RFC3339JavaTimeModule())
|
||||
.build();
|
||||
}
|
||||
|
||||
|
@ -42,6 +42,7 @@ public class JSON implements ContextResolver<ObjectMapper> {
|
||||
{{#openApiNullable}}
|
||||
.addModule(new JsonNullableModule())
|
||||
{{/openApiNullable}}
|
||||
.addModule(new RFC3339JavaTimeModule())
|
||||
.build();
|
||||
}
|
||||
|
||||
|
@ -196,6 +196,7 @@ public class ApiClient {
|
||||
{{#openApiNullable}}
|
||||
mapper.registerModule(new JsonNullableModule());
|
||||
{{/openApiNullable}}
|
||||
mapper.registerModule(new RFC3339JavaTimeModule());
|
||||
return mapper;
|
||||
}
|
||||
|
||||
|
@ -537,7 +537,7 @@ public class JavaClientCodegenTest {
|
||||
|
||||
List<File> files = new DefaultGenerator().opts(configurator.toClientOptInput()).generate();
|
||||
|
||||
assertThat(files).hasSize(32);
|
||||
assertThat(files).hasSize(34);
|
||||
validateJavaSourceFiles(files);
|
||||
assertThat(output.resolve("src/main/java/xyz/abcdef/api/DefaultApi.java")).content().contains(
|
||||
"public class DefaultApi",
|
||||
@ -607,7 +607,7 @@ public class JavaClientCodegenTest {
|
||||
|
||||
List<File> files = new DefaultGenerator().opts(configurator.toClientOptInput()).generate();
|
||||
|
||||
assertThat(files).hasSize(35);
|
||||
assertThat(files).hasSize(37);
|
||||
|
||||
validateJavaSourceFiles(files);
|
||||
assertThat(output.resolve("src/main/java/xyz/abcdef/api/PingApi.java")).content().contains(
|
||||
@ -1428,7 +1428,7 @@ public class JavaClientCodegenTest {
|
||||
List<File> files = new DefaultGenerator().opts(configurator.toClientOptInput()).generate();
|
||||
|
||||
validateJavaSourceFiles(files);
|
||||
assertThat(files).hasSize(35);
|
||||
assertThat(files).hasSize(37);
|
||||
TestUtils.assertFileContains(output.resolve("src/main/java/xyz/abcdef/ApiClient.java"),
|
||||
"public static String urlEncode(String s) { return URLEncoder.encode(s,"
|
||||
+ " UTF_8).replaceAll(\"\\\\+\", \"%20\"); }"
|
||||
@ -1451,7 +1451,7 @@ public class JavaClientCodegenTest {
|
||||
List<File> files = new DefaultGenerator().opts(configurator.toClientOptInput()).generate();
|
||||
|
||||
validateJavaSourceFiles(files);
|
||||
assertThat(files).hasSize(38);
|
||||
assertThat(files).hasSize(40);
|
||||
assertThat(output.resolve("src/main/java/xyz/abcdef/api/DefaultApi.java")).content()
|
||||
.contains(
|
||||
"localVarQueryParams.addAll(ApiClient.parameterToPairs(\"since\", queryObject.getSince()));",
|
||||
|
@ -56,7 +56,7 @@ public class ApacheHttpClientCodegenTest {
|
||||
DefaultGenerator generator = new DefaultGenerator();
|
||||
List<File> files = generator.opts(clientOptInput).generate();
|
||||
|
||||
Assert.assertEquals(files.size(), 42);
|
||||
Assert.assertEquals(files.size(), 44);
|
||||
validateJavaSourceFiles(files);
|
||||
|
||||
TestUtils.assertFileContains(Paths.get(output + "/src/main/java/xyz/abcdef/api/DefaultApi.java"),
|
||||
|
@ -39,6 +39,8 @@ src/main/java/org/openapitools/client/Configuration.java
|
||||
src/main/java/org/openapitools/client/JavaTimeFormatter.java
|
||||
src/main/java/org/openapitools/client/Pair.java
|
||||
src/main/java/org/openapitools/client/RFC3339DateFormat.java
|
||||
src/main/java/org/openapitools/client/RFC3339InstantDeserializer.java
|
||||
src/main/java/org/openapitools/client/RFC3339JavaTimeModule.java
|
||||
src/main/java/org/openapitools/client/ServerConfiguration.java
|
||||
src/main/java/org/openapitools/client/ServerVariable.java
|
||||
src/main/java/org/openapitools/client/StringUtil.java
|
||||
|
@ -122,6 +122,7 @@ public class ApiClient extends JavaTimeFormatter {
|
||||
objectMapper.enable(DeserializationFeature.READ_ENUMS_USING_TO_STRING);
|
||||
objectMapper.registerModule(new JavaTimeModule());
|
||||
objectMapper.registerModule(new JsonNullableModule());
|
||||
objectMapper.registerModule(new RFC3339JavaTimeModule());
|
||||
objectMapper.setDateFormat(ApiClient.buildDefaultDateFormat());
|
||||
|
||||
dateFormat = ApiClient.buildDefaultDateFormat();
|
||||
|
@ -0,0 +1,100 @@
|
||||
/*
|
||||
* Echo Server API
|
||||
* Echo Server API
|
||||
*
|
||||
* The version of the OpenAPI document: 0.1.0
|
||||
* Contact: team@openapitools.org
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
package org.openapitools.client;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZoneId;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.temporal.Temporal;
|
||||
import java.time.temporal.TemporalAccessor;
|
||||
import java.util.function.BiFunction;
|
||||
import java.util.function.Function;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonParser;
|
||||
import com.fasterxml.jackson.databind.DeserializationContext;
|
||||
import com.fasterxml.jackson.datatype.jsr310.JavaTimeFeature;
|
||||
import com.fasterxml.jackson.datatype.jsr310.deser.InstantDeserializer;
|
||||
|
||||
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.12.0-SNAPSHOT")
|
||||
public class RFC3339InstantDeserializer<T extends Temporal> extends InstantDeserializer<T> {
|
||||
|
||||
private final static boolean DEFAULT_NORMALIZE_ZONE_ID = JavaTimeFeature.NORMALIZE_DESERIALIZED_ZONE_ID.enabledByDefault();
|
||||
private final static boolean DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
= JavaTimeFeature.ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS.enabledByDefault();
|
||||
|
||||
public static final RFC3339InstantDeserializer<Instant> INSTANT = new RFC3339InstantDeserializer<>(
|
||||
Instant.class, DateTimeFormatter.ISO_INSTANT,
|
||||
Instant::from,
|
||||
a -> Instant.ofEpochMilli( a.value ),
|
||||
a -> Instant.ofEpochSecond( a.integer, a.fraction ),
|
||||
null,
|
||||
true, // yes, replace zero offset with Z
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
public static final RFC3339InstantDeserializer<OffsetDateTime> OFFSET_DATE_TIME = new RFC3339InstantDeserializer<>(
|
||||
OffsetDateTime.class, DateTimeFormatter.ISO_OFFSET_DATE_TIME,
|
||||
OffsetDateTime::from,
|
||||
a -> OffsetDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ),
|
||||
a -> OffsetDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ),
|
||||
(d, z) -> ( d.isEqual( OffsetDateTime.MIN ) || d.isEqual( OffsetDateTime.MAX ) ?
|
||||
d :
|
||||
d.withOffsetSameInstant( z.getRules().getOffset( d.toLocalDateTime() ) ) ),
|
||||
true, // yes, replace zero offset with Z
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
public static final RFC3339InstantDeserializer<ZonedDateTime> ZONED_DATE_TIME = new RFC3339InstantDeserializer<>(
|
||||
ZonedDateTime.class, DateTimeFormatter.ISO_ZONED_DATE_TIME,
|
||||
ZonedDateTime::from,
|
||||
a -> ZonedDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ),
|
||||
a -> ZonedDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ),
|
||||
ZonedDateTime::withZoneSameInstant,
|
||||
false, // keep zero offset and Z separate since zones explicitly supported
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
protected RFC3339InstantDeserializer(
|
||||
Class<T> supportedType,
|
||||
DateTimeFormatter formatter,
|
||||
Function<TemporalAccessor, T> parsedToValue,
|
||||
Function<FromIntegerArguments, T> fromMilliseconds,
|
||||
Function<FromDecimalArguments, T> fromNanoseconds,
|
||||
BiFunction<T, ZoneId, T> adjust,
|
||||
boolean replaceZeroOffsetAsZ,
|
||||
boolean normalizeZoneId,
|
||||
boolean readNumericStringsAsTimestamp) {
|
||||
super(
|
||||
supportedType,
|
||||
formatter,
|
||||
parsedToValue,
|
||||
fromMilliseconds,
|
||||
fromNanoseconds,
|
||||
adjust,
|
||||
replaceZeroOffsetAsZ,
|
||||
normalizeZoneId,
|
||||
readNumericStringsAsTimestamp
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected T _fromString(JsonParser p, DeserializationContext ctxt, String string0) throws IOException {
|
||||
return super._fromString(p, ctxt, string0.replace( ' ', 'T' ));
|
||||
}
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
/*
|
||||
* Echo Server API
|
||||
* Echo Server API
|
||||
*
|
||||
* The version of the OpenAPI document: 0.1.0
|
||||
* Contact: team@openapitools.org
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
package org.openapitools.client;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZonedDateTime;
|
||||
|
||||
import com.fasterxml.jackson.databind.module.SimpleModule;
|
||||
|
||||
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.12.0-SNAPSHOT")
|
||||
public class RFC3339JavaTimeModule extends SimpleModule {
|
||||
|
||||
public RFC3339JavaTimeModule() {
|
||||
super("RFC3339JavaTimeModule");
|
||||
|
||||
addDeserializer(Instant.class, RFC3339InstantDeserializer.INSTANT);
|
||||
addDeserializer(OffsetDateTime.class, RFC3339InstantDeserializer.OFFSET_DATE_TIME);
|
||||
addDeserializer(ZonedDateTime.class, RFC3339InstantDeserializer.ZONED_DATE_TIME);
|
||||
}
|
||||
}
|
@ -39,6 +39,8 @@ src/main/java/org/openapitools/client/Configuration.java
|
||||
src/main/java/org/openapitools/client/JSON.java
|
||||
src/main/java/org/openapitools/client/Pair.java
|
||||
src/main/java/org/openapitools/client/RFC3339DateFormat.java
|
||||
src/main/java/org/openapitools/client/RFC3339InstantDeserializer.java
|
||||
src/main/java/org/openapitools/client/RFC3339JavaTimeModule.java
|
||||
src/main/java/org/openapitools/client/ServerConfiguration.java
|
||||
src/main/java/org/openapitools/client/ServerVariable.java
|
||||
src/main/java/org/openapitools/client/api/AuthApi.java
|
||||
|
@ -203,6 +203,7 @@ public class ApiClient {
|
||||
mapper.disable(DeserializationFeature.ADJUST_DATES_TO_CONTEXT_TIME_ZONE);
|
||||
mapper.registerModule(new JavaTimeModule());
|
||||
mapper.registerModule(new JsonNullableModule());
|
||||
mapper.registerModule(new RFC3339JavaTimeModule());
|
||||
return mapper;
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,100 @@
|
||||
/*
|
||||
* Echo Server API
|
||||
* Echo Server API
|
||||
*
|
||||
* The version of the OpenAPI document: 0.1.0
|
||||
* Contact: team@openapitools.org
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
package org.openapitools.client;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZoneId;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.temporal.Temporal;
|
||||
import java.time.temporal.TemporalAccessor;
|
||||
import java.util.function.BiFunction;
|
||||
import java.util.function.Function;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonParser;
|
||||
import com.fasterxml.jackson.databind.DeserializationContext;
|
||||
import com.fasterxml.jackson.datatype.jsr310.JavaTimeFeature;
|
||||
import com.fasterxml.jackson.datatype.jsr310.deser.InstantDeserializer;
|
||||
|
||||
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.12.0-SNAPSHOT")
|
||||
public class RFC3339InstantDeserializer<T extends Temporal> extends InstantDeserializer<T> {
|
||||
|
||||
private final static boolean DEFAULT_NORMALIZE_ZONE_ID = JavaTimeFeature.NORMALIZE_DESERIALIZED_ZONE_ID.enabledByDefault();
|
||||
private final static boolean DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
= JavaTimeFeature.ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS.enabledByDefault();
|
||||
|
||||
public static final RFC3339InstantDeserializer<Instant> INSTANT = new RFC3339InstantDeserializer<>(
|
||||
Instant.class, DateTimeFormatter.ISO_INSTANT,
|
||||
Instant::from,
|
||||
a -> Instant.ofEpochMilli( a.value ),
|
||||
a -> Instant.ofEpochSecond( a.integer, a.fraction ),
|
||||
null,
|
||||
true, // yes, replace zero offset with Z
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
public static final RFC3339InstantDeserializer<OffsetDateTime> OFFSET_DATE_TIME = new RFC3339InstantDeserializer<>(
|
||||
OffsetDateTime.class, DateTimeFormatter.ISO_OFFSET_DATE_TIME,
|
||||
OffsetDateTime::from,
|
||||
a -> OffsetDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ),
|
||||
a -> OffsetDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ),
|
||||
(d, z) -> ( d.isEqual( OffsetDateTime.MIN ) || d.isEqual( OffsetDateTime.MAX ) ?
|
||||
d :
|
||||
d.withOffsetSameInstant( z.getRules().getOffset( d.toLocalDateTime() ) ) ),
|
||||
true, // yes, replace zero offset with Z
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
public static final RFC3339InstantDeserializer<ZonedDateTime> ZONED_DATE_TIME = new RFC3339InstantDeserializer<>(
|
||||
ZonedDateTime.class, DateTimeFormatter.ISO_ZONED_DATE_TIME,
|
||||
ZonedDateTime::from,
|
||||
a -> ZonedDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ),
|
||||
a -> ZonedDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ),
|
||||
ZonedDateTime::withZoneSameInstant,
|
||||
false, // keep zero offset and Z separate since zones explicitly supported
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
protected RFC3339InstantDeserializer(
|
||||
Class<T> supportedType,
|
||||
DateTimeFormatter formatter,
|
||||
Function<TemporalAccessor, T> parsedToValue,
|
||||
Function<FromIntegerArguments, T> fromMilliseconds,
|
||||
Function<FromDecimalArguments, T> fromNanoseconds,
|
||||
BiFunction<T, ZoneId, T> adjust,
|
||||
boolean replaceZeroOffsetAsZ,
|
||||
boolean normalizeZoneId,
|
||||
boolean readNumericStringsAsTimestamp) {
|
||||
super(
|
||||
supportedType,
|
||||
formatter,
|
||||
parsedToValue,
|
||||
fromMilliseconds,
|
||||
fromNanoseconds,
|
||||
adjust,
|
||||
replaceZeroOffsetAsZ,
|
||||
normalizeZoneId,
|
||||
readNumericStringsAsTimestamp
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected T _fromString(JsonParser p, DeserializationContext ctxt, String string0) throws IOException {
|
||||
return super._fromString(p, ctxt, string0.replace( ' ', 'T' ));
|
||||
}
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
/*
|
||||
* Echo Server API
|
||||
* Echo Server API
|
||||
*
|
||||
* The version of the OpenAPI document: 0.1.0
|
||||
* Contact: team@openapitools.org
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
package org.openapitools.client;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZonedDateTime;
|
||||
|
||||
import com.fasterxml.jackson.databind.module.SimpleModule;
|
||||
|
||||
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.12.0-SNAPSHOT")
|
||||
public class RFC3339JavaTimeModule extends SimpleModule {
|
||||
|
||||
public RFC3339JavaTimeModule() {
|
||||
super("RFC3339JavaTimeModule");
|
||||
|
||||
addDeserializer(Instant.class, RFC3339InstantDeserializer.INSTANT);
|
||||
addDeserializer(OffsetDateTime.class, RFC3339InstantDeserializer.OFFSET_DATE_TIME);
|
||||
addDeserializer(ZonedDateTime.class, RFC3339InstantDeserializer.ZONED_DATE_TIME);
|
||||
}
|
||||
}
|
@ -35,6 +35,8 @@ src/main/AndroidManifest.xml
|
||||
src/main/java/org/openapitools/client/ApiClient.java
|
||||
src/main/java/org/openapitools/client/JavaTimeFormatter.java
|
||||
src/main/java/org/openapitools/client/RFC3339DateFormat.java
|
||||
src/main/java/org/openapitools/client/RFC3339InstantDeserializer.java
|
||||
src/main/java/org/openapitools/client/RFC3339JavaTimeModule.java
|
||||
src/main/java/org/openapitools/client/ServerConfiguration.java
|
||||
src/main/java/org/openapitools/client/ServerVariable.java
|
||||
src/main/java/org/openapitools/client/StringUtil.java
|
||||
|
@ -0,0 +1,100 @@
|
||||
/*
|
||||
* Echo Server API
|
||||
* Echo Server API
|
||||
*
|
||||
* The version of the OpenAPI document: 0.1.0
|
||||
* Contact: team@openapitools.org
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
package org.openapitools.client;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZoneId;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.temporal.Temporal;
|
||||
import java.time.temporal.TemporalAccessor;
|
||||
import java.util.function.BiFunction;
|
||||
import java.util.function.Function;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonParser;
|
||||
import com.fasterxml.jackson.databind.DeserializationContext;
|
||||
import com.fasterxml.jackson.datatype.jsr310.JavaTimeFeature;
|
||||
import com.fasterxml.jackson.datatype.jsr310.deser.InstantDeserializer;
|
||||
|
||||
@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.12.0-SNAPSHOT")
|
||||
public class RFC3339InstantDeserializer<T extends Temporal> extends InstantDeserializer<T> {
|
||||
|
||||
private final static boolean DEFAULT_NORMALIZE_ZONE_ID = JavaTimeFeature.NORMALIZE_DESERIALIZED_ZONE_ID.enabledByDefault();
|
||||
private final static boolean DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
= JavaTimeFeature.ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS.enabledByDefault();
|
||||
|
||||
public static final RFC3339InstantDeserializer<Instant> INSTANT = new RFC3339InstantDeserializer<>(
|
||||
Instant.class, DateTimeFormatter.ISO_INSTANT,
|
||||
Instant::from,
|
||||
a -> Instant.ofEpochMilli( a.value ),
|
||||
a -> Instant.ofEpochSecond( a.integer, a.fraction ),
|
||||
null,
|
||||
true, // yes, replace zero offset with Z
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
public static final RFC3339InstantDeserializer<OffsetDateTime> OFFSET_DATE_TIME = new RFC3339InstantDeserializer<>(
|
||||
OffsetDateTime.class, DateTimeFormatter.ISO_OFFSET_DATE_TIME,
|
||||
OffsetDateTime::from,
|
||||
a -> OffsetDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ),
|
||||
a -> OffsetDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ),
|
||||
(d, z) -> ( d.isEqual( OffsetDateTime.MIN ) || d.isEqual( OffsetDateTime.MAX ) ?
|
||||
d :
|
||||
d.withOffsetSameInstant( z.getRules().getOffset( d.toLocalDateTime() ) ) ),
|
||||
true, // yes, replace zero offset with Z
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
public static final RFC3339InstantDeserializer<ZonedDateTime> ZONED_DATE_TIME = new RFC3339InstantDeserializer<>(
|
||||
ZonedDateTime.class, DateTimeFormatter.ISO_ZONED_DATE_TIME,
|
||||
ZonedDateTime::from,
|
||||
a -> ZonedDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ),
|
||||
a -> ZonedDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ),
|
||||
ZonedDateTime::withZoneSameInstant,
|
||||
false, // keep zero offset and Z separate since zones explicitly supported
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
protected RFC3339InstantDeserializer(
|
||||
Class<T> supportedType,
|
||||
DateTimeFormatter formatter,
|
||||
Function<TemporalAccessor, T> parsedToValue,
|
||||
Function<FromIntegerArguments, T> fromMilliseconds,
|
||||
Function<FromDecimalArguments, T> fromNanoseconds,
|
||||
BiFunction<T, ZoneId, T> adjust,
|
||||
boolean replaceZeroOffsetAsZ,
|
||||
boolean normalizeZoneId,
|
||||
boolean readNumericStringsAsTimestamp) {
|
||||
super(
|
||||
supportedType,
|
||||
formatter,
|
||||
parsedToValue,
|
||||
fromMilliseconds,
|
||||
fromNanoseconds,
|
||||
adjust,
|
||||
replaceZeroOffsetAsZ,
|
||||
normalizeZoneId,
|
||||
readNumericStringsAsTimestamp
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected T _fromString(JsonParser p, DeserializationContext ctxt, String string0) throws IOException {
|
||||
return super._fromString(p, ctxt, string0.replace( ' ', 'T' ));
|
||||
}
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
/*
|
||||
* Echo Server API
|
||||
* Echo Server API
|
||||
*
|
||||
* The version of the OpenAPI document: 0.1.0
|
||||
* Contact: team@openapitools.org
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
package org.openapitools.client;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZonedDateTime;
|
||||
|
||||
import com.fasterxml.jackson.databind.module.SimpleModule;
|
||||
|
||||
@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.12.0-SNAPSHOT")
|
||||
public class RFC3339JavaTimeModule extends SimpleModule {
|
||||
|
||||
public RFC3339JavaTimeModule() {
|
||||
super("RFC3339JavaTimeModule");
|
||||
|
||||
addDeserializer(Instant.class, RFC3339InstantDeserializer.INSTANT);
|
||||
addDeserializer(OffsetDateTime.class, RFC3339InstantDeserializer.OFFSET_DATE_TIME);
|
||||
addDeserializer(ZonedDateTime.class, RFC3339InstantDeserializer.ZONED_DATE_TIME);
|
||||
}
|
||||
}
|
@ -39,6 +39,8 @@ src/main/java/org/openapitools/client/JSON.java
|
||||
src/main/java/org/openapitools/client/JavaTimeFormatter.java
|
||||
src/main/java/org/openapitools/client/Pair.java
|
||||
src/main/java/org/openapitools/client/RFC3339DateFormat.java
|
||||
src/main/java/org/openapitools/client/RFC3339InstantDeserializer.java
|
||||
src/main/java/org/openapitools/client/RFC3339JavaTimeModule.java
|
||||
src/main/java/org/openapitools/client/ServerConfiguration.java
|
||||
src/main/java/org/openapitools/client/ServerVariable.java
|
||||
src/main/java/org/openapitools/client/StringUtil.java
|
||||
|
@ -0,0 +1,100 @@
|
||||
/*
|
||||
* Echo Server API
|
||||
* Echo Server API
|
||||
*
|
||||
* The version of the OpenAPI document: 0.1.0
|
||||
* Contact: team@openapitools.org
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
package org.openapitools.client;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZoneId;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.temporal.Temporal;
|
||||
import java.time.temporal.TemporalAccessor;
|
||||
import java.util.function.BiFunction;
|
||||
import java.util.function.Function;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonParser;
|
||||
import com.fasterxml.jackson.databind.DeserializationContext;
|
||||
import com.fasterxml.jackson.datatype.jsr310.JavaTimeFeature;
|
||||
import com.fasterxml.jackson.datatype.jsr310.deser.InstantDeserializer;
|
||||
|
||||
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.12.0-SNAPSHOT")
|
||||
public class RFC3339InstantDeserializer<T extends Temporal> extends InstantDeserializer<T> {
|
||||
|
||||
private final static boolean DEFAULT_NORMALIZE_ZONE_ID = JavaTimeFeature.NORMALIZE_DESERIALIZED_ZONE_ID.enabledByDefault();
|
||||
private final static boolean DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
= JavaTimeFeature.ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS.enabledByDefault();
|
||||
|
||||
public static final RFC3339InstantDeserializer<Instant> INSTANT = new RFC3339InstantDeserializer<>(
|
||||
Instant.class, DateTimeFormatter.ISO_INSTANT,
|
||||
Instant::from,
|
||||
a -> Instant.ofEpochMilli( a.value ),
|
||||
a -> Instant.ofEpochSecond( a.integer, a.fraction ),
|
||||
null,
|
||||
true, // yes, replace zero offset with Z
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
public static final RFC3339InstantDeserializer<OffsetDateTime> OFFSET_DATE_TIME = new RFC3339InstantDeserializer<>(
|
||||
OffsetDateTime.class, DateTimeFormatter.ISO_OFFSET_DATE_TIME,
|
||||
OffsetDateTime::from,
|
||||
a -> OffsetDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ),
|
||||
a -> OffsetDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ),
|
||||
(d, z) -> ( d.isEqual( OffsetDateTime.MIN ) || d.isEqual( OffsetDateTime.MAX ) ?
|
||||
d :
|
||||
d.withOffsetSameInstant( z.getRules().getOffset( d.toLocalDateTime() ) ) ),
|
||||
true, // yes, replace zero offset with Z
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
public static final RFC3339InstantDeserializer<ZonedDateTime> ZONED_DATE_TIME = new RFC3339InstantDeserializer<>(
|
||||
ZonedDateTime.class, DateTimeFormatter.ISO_ZONED_DATE_TIME,
|
||||
ZonedDateTime::from,
|
||||
a -> ZonedDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ),
|
||||
a -> ZonedDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ),
|
||||
ZonedDateTime::withZoneSameInstant,
|
||||
false, // keep zero offset and Z separate since zones explicitly supported
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
protected RFC3339InstantDeserializer(
|
||||
Class<T> supportedType,
|
||||
DateTimeFormatter formatter,
|
||||
Function<TemporalAccessor, T> parsedToValue,
|
||||
Function<FromIntegerArguments, T> fromMilliseconds,
|
||||
Function<FromDecimalArguments, T> fromNanoseconds,
|
||||
BiFunction<T, ZoneId, T> adjust,
|
||||
boolean replaceZeroOffsetAsZ,
|
||||
boolean normalizeZoneId,
|
||||
boolean readNumericStringsAsTimestamp) {
|
||||
super(
|
||||
supportedType,
|
||||
formatter,
|
||||
parsedToValue,
|
||||
fromMilliseconds,
|
||||
fromNanoseconds,
|
||||
adjust,
|
||||
replaceZeroOffsetAsZ,
|
||||
normalizeZoneId,
|
||||
readNumericStringsAsTimestamp
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected T _fromString(JsonParser p, DeserializationContext ctxt, String string0) throws IOException {
|
||||
return super._fromString(p, ctxt, string0.replace( ' ', 'T' ));
|
||||
}
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
/*
|
||||
* Echo Server API
|
||||
* Echo Server API
|
||||
*
|
||||
* The version of the OpenAPI document: 0.1.0
|
||||
* Contact: team@openapitools.org
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
package org.openapitools.client;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZonedDateTime;
|
||||
|
||||
import com.fasterxml.jackson.databind.module.SimpleModule;
|
||||
|
||||
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.12.0-SNAPSHOT")
|
||||
public class RFC3339JavaTimeModule extends SimpleModule {
|
||||
|
||||
public RFC3339JavaTimeModule() {
|
||||
super("RFC3339JavaTimeModule");
|
||||
|
||||
addDeserializer(Instant.class, RFC3339InstantDeserializer.INSTANT);
|
||||
addDeserializer(OffsetDateTime.class, RFC3339InstantDeserializer.OFFSET_DATE_TIME);
|
||||
addDeserializer(ZonedDateTime.class, RFC3339InstantDeserializer.ZONED_DATE_TIME);
|
||||
}
|
||||
}
|
@ -36,6 +36,8 @@ src/main/java/org/openapitools/client/ApiClient.java
|
||||
src/main/java/org/openapitools/client/BaseApi.java
|
||||
src/main/java/org/openapitools/client/JavaTimeFormatter.java
|
||||
src/main/java/org/openapitools/client/RFC3339DateFormat.java
|
||||
src/main/java/org/openapitools/client/RFC3339InstantDeserializer.java
|
||||
src/main/java/org/openapitools/client/RFC3339JavaTimeModule.java
|
||||
src/main/java/org/openapitools/client/ServerConfiguration.java
|
||||
src/main/java/org/openapitools/client/ServerVariable.java
|
||||
src/main/java/org/openapitools/client/api/AuthApi.java
|
||||
|
@ -0,0 +1,100 @@
|
||||
/*
|
||||
* Echo Server API
|
||||
* Echo Server API
|
||||
*
|
||||
* The version of the OpenAPI document: 0.1.0
|
||||
* Contact: team@openapitools.org
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
package org.openapitools.client;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZoneId;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.temporal.Temporal;
|
||||
import java.time.temporal.TemporalAccessor;
|
||||
import java.util.function.BiFunction;
|
||||
import java.util.function.Function;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonParser;
|
||||
import com.fasterxml.jackson.databind.DeserializationContext;
|
||||
import com.fasterxml.jackson.datatype.jsr310.JavaTimeFeature;
|
||||
import com.fasterxml.jackson.datatype.jsr310.deser.InstantDeserializer;
|
||||
|
||||
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.12.0-SNAPSHOT")
|
||||
public class RFC3339InstantDeserializer<T extends Temporal> extends InstantDeserializer<T> {
|
||||
|
||||
private final static boolean DEFAULT_NORMALIZE_ZONE_ID = JavaTimeFeature.NORMALIZE_DESERIALIZED_ZONE_ID.enabledByDefault();
|
||||
private final static boolean DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
= JavaTimeFeature.ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS.enabledByDefault();
|
||||
|
||||
public static final RFC3339InstantDeserializer<Instant> INSTANT = new RFC3339InstantDeserializer<>(
|
||||
Instant.class, DateTimeFormatter.ISO_INSTANT,
|
||||
Instant::from,
|
||||
a -> Instant.ofEpochMilli( a.value ),
|
||||
a -> Instant.ofEpochSecond( a.integer, a.fraction ),
|
||||
null,
|
||||
true, // yes, replace zero offset with Z
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
public static final RFC3339InstantDeserializer<OffsetDateTime> OFFSET_DATE_TIME = new RFC3339InstantDeserializer<>(
|
||||
OffsetDateTime.class, DateTimeFormatter.ISO_OFFSET_DATE_TIME,
|
||||
OffsetDateTime::from,
|
||||
a -> OffsetDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ),
|
||||
a -> OffsetDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ),
|
||||
(d, z) -> ( d.isEqual( OffsetDateTime.MIN ) || d.isEqual( OffsetDateTime.MAX ) ?
|
||||
d :
|
||||
d.withOffsetSameInstant( z.getRules().getOffset( d.toLocalDateTime() ) ) ),
|
||||
true, // yes, replace zero offset with Z
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
public static final RFC3339InstantDeserializer<ZonedDateTime> ZONED_DATE_TIME = new RFC3339InstantDeserializer<>(
|
||||
ZonedDateTime.class, DateTimeFormatter.ISO_ZONED_DATE_TIME,
|
||||
ZonedDateTime::from,
|
||||
a -> ZonedDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ),
|
||||
a -> ZonedDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ),
|
||||
ZonedDateTime::withZoneSameInstant,
|
||||
false, // keep zero offset and Z separate since zones explicitly supported
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
protected RFC3339InstantDeserializer(
|
||||
Class<T> supportedType,
|
||||
DateTimeFormatter formatter,
|
||||
Function<TemporalAccessor, T> parsedToValue,
|
||||
Function<FromIntegerArguments, T> fromMilliseconds,
|
||||
Function<FromDecimalArguments, T> fromNanoseconds,
|
||||
BiFunction<T, ZoneId, T> adjust,
|
||||
boolean replaceZeroOffsetAsZ,
|
||||
boolean normalizeZoneId,
|
||||
boolean readNumericStringsAsTimestamp) {
|
||||
super(
|
||||
supportedType,
|
||||
formatter,
|
||||
parsedToValue,
|
||||
fromMilliseconds,
|
||||
fromNanoseconds,
|
||||
adjust,
|
||||
replaceZeroOffsetAsZ,
|
||||
normalizeZoneId,
|
||||
readNumericStringsAsTimestamp
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected T _fromString(JsonParser p, DeserializationContext ctxt, String string0) throws IOException {
|
||||
return super._fromString(p, ctxt, string0.replace( ' ', 'T' ));
|
||||
}
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
/*
|
||||
* Echo Server API
|
||||
* Echo Server API
|
||||
*
|
||||
* The version of the OpenAPI document: 0.1.0
|
||||
* Contact: team@openapitools.org
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
package org.openapitools.client;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZonedDateTime;
|
||||
|
||||
import com.fasterxml.jackson.databind.module.SimpleModule;
|
||||
|
||||
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.12.0-SNAPSHOT")
|
||||
public class RFC3339JavaTimeModule extends SimpleModule {
|
||||
|
||||
public RFC3339JavaTimeModule() {
|
||||
super("RFC3339JavaTimeModule");
|
||||
|
||||
addDeserializer(Instant.class, RFC3339InstantDeserializer.INSTANT);
|
||||
addDeserializer(OffsetDateTime.class, RFC3339InstantDeserializer.OFFSET_DATE_TIME);
|
||||
addDeserializer(ZonedDateTime.class, RFC3339InstantDeserializer.ZONED_DATE_TIME);
|
||||
}
|
||||
}
|
@ -24,6 +24,8 @@ src/main/java/org/openapitools/client/JSON.java
|
||||
src/main/java/org/openapitools/client/JavaTimeFormatter.java
|
||||
src/main/java/org/openapitools/client/Pair.java
|
||||
src/main/java/org/openapitools/client/RFC3339DateFormat.java
|
||||
src/main/java/org/openapitools/client/RFC3339InstantDeserializer.java
|
||||
src/main/java/org/openapitools/client/RFC3339JavaTimeModule.java
|
||||
src/main/java/org/openapitools/client/ServerConfiguration.java
|
||||
src/main/java/org/openapitools/client/ServerVariable.java
|
||||
src/main/java/org/openapitools/client/StringUtil.java
|
||||
|
@ -43,6 +43,7 @@ public class JSON implements ContextResolver<ObjectMapper> {
|
||||
.defaultDateFormat(new RFC3339DateFormat())
|
||||
.addModule(new JavaTimeModule())
|
||||
.addModule(new JsonNullableModule())
|
||||
.addModule(new RFC3339JavaTimeModule())
|
||||
.build();
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,100 @@
|
||||
/*
|
||||
* Example - oneOf data type
|
||||
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||
*
|
||||
* The version of the OpenAPI document: 1.0.0
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
package org.openapitools.client;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZoneId;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.temporal.Temporal;
|
||||
import java.time.temporal.TemporalAccessor;
|
||||
import java.util.function.BiFunction;
|
||||
import java.util.function.Function;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonParser;
|
||||
import com.fasterxml.jackson.databind.DeserializationContext;
|
||||
import com.fasterxml.jackson.datatype.jsr310.JavaTimeFeature;
|
||||
import com.fasterxml.jackson.datatype.jsr310.deser.InstantDeserializer;
|
||||
|
||||
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.12.0-SNAPSHOT")
|
||||
public class RFC3339InstantDeserializer<T extends Temporal> extends InstantDeserializer<T> {
|
||||
|
||||
private final static boolean DEFAULT_NORMALIZE_ZONE_ID = JavaTimeFeature.NORMALIZE_DESERIALIZED_ZONE_ID.enabledByDefault();
|
||||
private final static boolean DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
= JavaTimeFeature.ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS.enabledByDefault();
|
||||
|
||||
public static final RFC3339InstantDeserializer<Instant> INSTANT = new RFC3339InstantDeserializer<>(
|
||||
Instant.class, DateTimeFormatter.ISO_INSTANT,
|
||||
Instant::from,
|
||||
a -> Instant.ofEpochMilli( a.value ),
|
||||
a -> Instant.ofEpochSecond( a.integer, a.fraction ),
|
||||
null,
|
||||
true, // yes, replace zero offset with Z
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
public static final RFC3339InstantDeserializer<OffsetDateTime> OFFSET_DATE_TIME = new RFC3339InstantDeserializer<>(
|
||||
OffsetDateTime.class, DateTimeFormatter.ISO_OFFSET_DATE_TIME,
|
||||
OffsetDateTime::from,
|
||||
a -> OffsetDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ),
|
||||
a -> OffsetDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ),
|
||||
(d, z) -> ( d.isEqual( OffsetDateTime.MIN ) || d.isEqual( OffsetDateTime.MAX ) ?
|
||||
d :
|
||||
d.withOffsetSameInstant( z.getRules().getOffset( d.toLocalDateTime() ) ) ),
|
||||
true, // yes, replace zero offset with Z
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
public static final RFC3339InstantDeserializer<ZonedDateTime> ZONED_DATE_TIME = new RFC3339InstantDeserializer<>(
|
||||
ZonedDateTime.class, DateTimeFormatter.ISO_ZONED_DATE_TIME,
|
||||
ZonedDateTime::from,
|
||||
a -> ZonedDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ),
|
||||
a -> ZonedDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ),
|
||||
ZonedDateTime::withZoneSameInstant,
|
||||
false, // keep zero offset and Z separate since zones explicitly supported
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
protected RFC3339InstantDeserializer(
|
||||
Class<T> supportedType,
|
||||
DateTimeFormatter formatter,
|
||||
Function<TemporalAccessor, T> parsedToValue,
|
||||
Function<FromIntegerArguments, T> fromMilliseconds,
|
||||
Function<FromDecimalArguments, T> fromNanoseconds,
|
||||
BiFunction<T, ZoneId, T> adjust,
|
||||
boolean replaceZeroOffsetAsZ,
|
||||
boolean normalizeZoneId,
|
||||
boolean readNumericStringsAsTimestamp) {
|
||||
super(
|
||||
supportedType,
|
||||
formatter,
|
||||
parsedToValue,
|
||||
fromMilliseconds,
|
||||
fromNanoseconds,
|
||||
adjust,
|
||||
replaceZeroOffsetAsZ,
|
||||
normalizeZoneId,
|
||||
readNumericStringsAsTimestamp
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected T _fromString(JsonParser p, DeserializationContext ctxt, String string0) throws IOException {
|
||||
return super._fromString(p, ctxt, string0.replace( ' ', 'T' ));
|
||||
}
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
/*
|
||||
* Example - oneOf data type
|
||||
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||
*
|
||||
* The version of the OpenAPI document: 1.0.0
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
package org.openapitools.client;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZonedDateTime;
|
||||
|
||||
import com.fasterxml.jackson.databind.module.SimpleModule;
|
||||
|
||||
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.12.0-SNAPSHOT")
|
||||
public class RFC3339JavaTimeModule extends SimpleModule {
|
||||
|
||||
public RFC3339JavaTimeModule() {
|
||||
super("RFC3339JavaTimeModule");
|
||||
|
||||
addDeserializer(Instant.class, RFC3339InstantDeserializer.INSTANT);
|
||||
addDeserializer(OffsetDateTime.class, RFC3339InstantDeserializer.OFFSET_DATE_TIME);
|
||||
addDeserializer(ZonedDateTime.class, RFC3339InstantDeserializer.ZONED_DATE_TIME);
|
||||
}
|
||||
}
|
@ -24,6 +24,8 @@ src/main/java/org/openapitools/client/JSON.java
|
||||
src/main/java/org/openapitools/client/JavaTimeFormatter.java
|
||||
src/main/java/org/openapitools/client/Pair.java
|
||||
src/main/java/org/openapitools/client/RFC3339DateFormat.java
|
||||
src/main/java/org/openapitools/client/RFC3339InstantDeserializer.java
|
||||
src/main/java/org/openapitools/client/RFC3339JavaTimeModule.java
|
||||
src/main/java/org/openapitools/client/ServerConfiguration.java
|
||||
src/main/java/org/openapitools/client/ServerVariable.java
|
||||
src/main/java/org/openapitools/client/StringUtil.java
|
||||
|
@ -43,6 +43,7 @@ public class JSON implements ContextResolver<ObjectMapper> {
|
||||
.defaultDateFormat(new RFC3339DateFormat())
|
||||
.addModule(new JavaTimeModule())
|
||||
.addModule(new JsonNullableModule())
|
||||
.addModule(new RFC3339JavaTimeModule())
|
||||
.build();
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,100 @@
|
||||
/*
|
||||
* Example - oneOf data type
|
||||
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||
*
|
||||
* The version of the OpenAPI document: 1.0.0
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
package org.openapitools.client;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZoneId;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.temporal.Temporal;
|
||||
import java.time.temporal.TemporalAccessor;
|
||||
import java.util.function.BiFunction;
|
||||
import java.util.function.Function;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonParser;
|
||||
import com.fasterxml.jackson.databind.DeserializationContext;
|
||||
import com.fasterxml.jackson.datatype.jsr310.JavaTimeFeature;
|
||||
import com.fasterxml.jackson.datatype.jsr310.deser.InstantDeserializer;
|
||||
|
||||
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.12.0-SNAPSHOT")
|
||||
public class RFC3339InstantDeserializer<T extends Temporal> extends InstantDeserializer<T> {
|
||||
|
||||
private final static boolean DEFAULT_NORMALIZE_ZONE_ID = JavaTimeFeature.NORMALIZE_DESERIALIZED_ZONE_ID.enabledByDefault();
|
||||
private final static boolean DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
= JavaTimeFeature.ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS.enabledByDefault();
|
||||
|
||||
public static final RFC3339InstantDeserializer<Instant> INSTANT = new RFC3339InstantDeserializer<>(
|
||||
Instant.class, DateTimeFormatter.ISO_INSTANT,
|
||||
Instant::from,
|
||||
a -> Instant.ofEpochMilli( a.value ),
|
||||
a -> Instant.ofEpochSecond( a.integer, a.fraction ),
|
||||
null,
|
||||
true, // yes, replace zero offset with Z
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
public static final RFC3339InstantDeserializer<OffsetDateTime> OFFSET_DATE_TIME = new RFC3339InstantDeserializer<>(
|
||||
OffsetDateTime.class, DateTimeFormatter.ISO_OFFSET_DATE_TIME,
|
||||
OffsetDateTime::from,
|
||||
a -> OffsetDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ),
|
||||
a -> OffsetDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ),
|
||||
(d, z) -> ( d.isEqual( OffsetDateTime.MIN ) || d.isEqual( OffsetDateTime.MAX ) ?
|
||||
d :
|
||||
d.withOffsetSameInstant( z.getRules().getOffset( d.toLocalDateTime() ) ) ),
|
||||
true, // yes, replace zero offset with Z
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
public static final RFC3339InstantDeserializer<ZonedDateTime> ZONED_DATE_TIME = new RFC3339InstantDeserializer<>(
|
||||
ZonedDateTime.class, DateTimeFormatter.ISO_ZONED_DATE_TIME,
|
||||
ZonedDateTime::from,
|
||||
a -> ZonedDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ),
|
||||
a -> ZonedDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ),
|
||||
ZonedDateTime::withZoneSameInstant,
|
||||
false, // keep zero offset and Z separate since zones explicitly supported
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
protected RFC3339InstantDeserializer(
|
||||
Class<T> supportedType,
|
||||
DateTimeFormatter formatter,
|
||||
Function<TemporalAccessor, T> parsedToValue,
|
||||
Function<FromIntegerArguments, T> fromMilliseconds,
|
||||
Function<FromDecimalArguments, T> fromNanoseconds,
|
||||
BiFunction<T, ZoneId, T> adjust,
|
||||
boolean replaceZeroOffsetAsZ,
|
||||
boolean normalizeZoneId,
|
||||
boolean readNumericStringsAsTimestamp) {
|
||||
super(
|
||||
supportedType,
|
||||
formatter,
|
||||
parsedToValue,
|
||||
fromMilliseconds,
|
||||
fromNanoseconds,
|
||||
adjust,
|
||||
replaceZeroOffsetAsZ,
|
||||
normalizeZoneId,
|
||||
readNumericStringsAsTimestamp
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected T _fromString(JsonParser p, DeserializationContext ctxt, String string0) throws IOException {
|
||||
return super._fromString(p, ctxt, string0.replace( ' ', 'T' ));
|
||||
}
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
/*
|
||||
* Example - oneOf data type
|
||||
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||
*
|
||||
* The version of the OpenAPI document: 1.0.0
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
package org.openapitools.client;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZonedDateTime;
|
||||
|
||||
import com.fasterxml.jackson.databind.module.SimpleModule;
|
||||
|
||||
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.12.0-SNAPSHOT")
|
||||
public class RFC3339JavaTimeModule extends SimpleModule {
|
||||
|
||||
public RFC3339JavaTimeModule() {
|
||||
super("RFC3339JavaTimeModule");
|
||||
|
||||
addDeserializer(Instant.class, RFC3339InstantDeserializer.INSTANT);
|
||||
addDeserializer(OffsetDateTime.class, RFC3339InstantDeserializer.OFFSET_DATE_TIME);
|
||||
addDeserializer(ZonedDateTime.class, RFC3339InstantDeserializer.ZONED_DATE_TIME);
|
||||
}
|
||||
}
|
@ -18,6 +18,8 @@ src/main/AndroidManifest.xml
|
||||
src/main/java/org/openapitools/client/ApiClient.java
|
||||
src/main/java/org/openapitools/client/JavaTimeFormatter.java
|
||||
src/main/java/org/openapitools/client/RFC3339DateFormat.java
|
||||
src/main/java/org/openapitools/client/RFC3339InstantDeserializer.java
|
||||
src/main/java/org/openapitools/client/RFC3339JavaTimeModule.java
|
||||
src/main/java/org/openapitools/client/ServerConfiguration.java
|
||||
src/main/java/org/openapitools/client/ServerVariable.java
|
||||
src/main/java/org/openapitools/client/StringUtil.java
|
||||
|
@ -0,0 +1,100 @@
|
||||
/*
|
||||
* Response file abstraction test
|
||||
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||
*
|
||||
* The version of the OpenAPI document: 1.0.0
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
package org.openapitools.client;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZoneId;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.temporal.Temporal;
|
||||
import java.time.temporal.TemporalAccessor;
|
||||
import java.util.function.BiFunction;
|
||||
import java.util.function.Function;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonParser;
|
||||
import com.fasterxml.jackson.databind.DeserializationContext;
|
||||
import com.fasterxml.jackson.datatype.jsr310.JavaTimeFeature;
|
||||
import com.fasterxml.jackson.datatype.jsr310.deser.InstantDeserializer;
|
||||
|
||||
@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.12.0-SNAPSHOT")
|
||||
public class RFC3339InstantDeserializer<T extends Temporal> extends InstantDeserializer<T> {
|
||||
|
||||
private final static boolean DEFAULT_NORMALIZE_ZONE_ID = JavaTimeFeature.NORMALIZE_DESERIALIZED_ZONE_ID.enabledByDefault();
|
||||
private final static boolean DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
= JavaTimeFeature.ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS.enabledByDefault();
|
||||
|
||||
public static final RFC3339InstantDeserializer<Instant> INSTANT = new RFC3339InstantDeserializer<>(
|
||||
Instant.class, DateTimeFormatter.ISO_INSTANT,
|
||||
Instant::from,
|
||||
a -> Instant.ofEpochMilli( a.value ),
|
||||
a -> Instant.ofEpochSecond( a.integer, a.fraction ),
|
||||
null,
|
||||
true, // yes, replace zero offset with Z
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
public static final RFC3339InstantDeserializer<OffsetDateTime> OFFSET_DATE_TIME = new RFC3339InstantDeserializer<>(
|
||||
OffsetDateTime.class, DateTimeFormatter.ISO_OFFSET_DATE_TIME,
|
||||
OffsetDateTime::from,
|
||||
a -> OffsetDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ),
|
||||
a -> OffsetDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ),
|
||||
(d, z) -> ( d.isEqual( OffsetDateTime.MIN ) || d.isEqual( OffsetDateTime.MAX ) ?
|
||||
d :
|
||||
d.withOffsetSameInstant( z.getRules().getOffset( d.toLocalDateTime() ) ) ),
|
||||
true, // yes, replace zero offset with Z
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
public static final RFC3339InstantDeserializer<ZonedDateTime> ZONED_DATE_TIME = new RFC3339InstantDeserializer<>(
|
||||
ZonedDateTime.class, DateTimeFormatter.ISO_ZONED_DATE_TIME,
|
||||
ZonedDateTime::from,
|
||||
a -> ZonedDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ),
|
||||
a -> ZonedDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ),
|
||||
ZonedDateTime::withZoneSameInstant,
|
||||
false, // keep zero offset and Z separate since zones explicitly supported
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
protected RFC3339InstantDeserializer(
|
||||
Class<T> supportedType,
|
||||
DateTimeFormatter formatter,
|
||||
Function<TemporalAccessor, T> parsedToValue,
|
||||
Function<FromIntegerArguments, T> fromMilliseconds,
|
||||
Function<FromDecimalArguments, T> fromNanoseconds,
|
||||
BiFunction<T, ZoneId, T> adjust,
|
||||
boolean replaceZeroOffsetAsZ,
|
||||
boolean normalizeZoneId,
|
||||
boolean readNumericStringsAsTimestamp) {
|
||||
super(
|
||||
supportedType,
|
||||
formatter,
|
||||
parsedToValue,
|
||||
fromMilliseconds,
|
||||
fromNanoseconds,
|
||||
adjust,
|
||||
replaceZeroOffsetAsZ,
|
||||
normalizeZoneId,
|
||||
readNumericStringsAsTimestamp
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected T _fromString(JsonParser p, DeserializationContext ctxt, String string0) throws IOException {
|
||||
return super._fromString(p, ctxt, string0.replace( ' ', 'T' ));
|
||||
}
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
/*
|
||||
* Response file abstraction test
|
||||
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||
*
|
||||
* The version of the OpenAPI document: 1.0.0
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
package org.openapitools.client;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZonedDateTime;
|
||||
|
||||
import com.fasterxml.jackson.databind.module.SimpleModule;
|
||||
|
||||
@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.12.0-SNAPSHOT")
|
||||
public class RFC3339JavaTimeModule extends SimpleModule {
|
||||
|
||||
public RFC3339JavaTimeModule() {
|
||||
super("RFC3339JavaTimeModule");
|
||||
|
||||
addDeserializer(Instant.class, RFC3339InstantDeserializer.INSTANT);
|
||||
addDeserializer(OffsetDateTime.class, RFC3339InstantDeserializer.OFFSET_DATE_TIME);
|
||||
addDeserializer(ZonedDateTime.class, RFC3339InstantDeserializer.ZONED_DATE_TIME);
|
||||
}
|
||||
}
|
@ -19,6 +19,8 @@ src/main/java/org/openapitools/client/ApiClient.java
|
||||
src/main/java/org/openapitools/client/BaseApi.java
|
||||
src/main/java/org/openapitools/client/JavaTimeFormatter.java
|
||||
src/main/java/org/openapitools/client/RFC3339DateFormat.java
|
||||
src/main/java/org/openapitools/client/RFC3339InstantDeserializer.java
|
||||
src/main/java/org/openapitools/client/RFC3339JavaTimeModule.java
|
||||
src/main/java/org/openapitools/client/ServerConfiguration.java
|
||||
src/main/java/org/openapitools/client/ServerVariable.java
|
||||
src/main/java/org/openapitools/client/api/UserApi.java
|
||||
|
@ -0,0 +1,100 @@
|
||||
/*
|
||||
* issue-17485
|
||||
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||
*
|
||||
* The version of the OpenAPI document: 0.1.0
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
package org.openapitools.client;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZoneId;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.temporal.Temporal;
|
||||
import java.time.temporal.TemporalAccessor;
|
||||
import java.util.function.BiFunction;
|
||||
import java.util.function.Function;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonParser;
|
||||
import com.fasterxml.jackson.databind.DeserializationContext;
|
||||
import com.fasterxml.jackson.datatype.jsr310.JavaTimeFeature;
|
||||
import com.fasterxml.jackson.datatype.jsr310.deser.InstantDeserializer;
|
||||
|
||||
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.12.0-SNAPSHOT")
|
||||
public class RFC3339InstantDeserializer<T extends Temporal> extends InstantDeserializer<T> {
|
||||
|
||||
private final static boolean DEFAULT_NORMALIZE_ZONE_ID = JavaTimeFeature.NORMALIZE_DESERIALIZED_ZONE_ID.enabledByDefault();
|
||||
private final static boolean DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
= JavaTimeFeature.ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS.enabledByDefault();
|
||||
|
||||
public static final RFC3339InstantDeserializer<Instant> INSTANT = new RFC3339InstantDeserializer<>(
|
||||
Instant.class, DateTimeFormatter.ISO_INSTANT,
|
||||
Instant::from,
|
||||
a -> Instant.ofEpochMilli( a.value ),
|
||||
a -> Instant.ofEpochSecond( a.integer, a.fraction ),
|
||||
null,
|
||||
true, // yes, replace zero offset with Z
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
public static final RFC3339InstantDeserializer<OffsetDateTime> OFFSET_DATE_TIME = new RFC3339InstantDeserializer<>(
|
||||
OffsetDateTime.class, DateTimeFormatter.ISO_OFFSET_DATE_TIME,
|
||||
OffsetDateTime::from,
|
||||
a -> OffsetDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ),
|
||||
a -> OffsetDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ),
|
||||
(d, z) -> ( d.isEqual( OffsetDateTime.MIN ) || d.isEqual( OffsetDateTime.MAX ) ?
|
||||
d :
|
||||
d.withOffsetSameInstant( z.getRules().getOffset( d.toLocalDateTime() ) ) ),
|
||||
true, // yes, replace zero offset with Z
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
public static final RFC3339InstantDeserializer<ZonedDateTime> ZONED_DATE_TIME = new RFC3339InstantDeserializer<>(
|
||||
ZonedDateTime.class, DateTimeFormatter.ISO_ZONED_DATE_TIME,
|
||||
ZonedDateTime::from,
|
||||
a -> ZonedDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ),
|
||||
a -> ZonedDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ),
|
||||
ZonedDateTime::withZoneSameInstant,
|
||||
false, // keep zero offset and Z separate since zones explicitly supported
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
protected RFC3339InstantDeserializer(
|
||||
Class<T> supportedType,
|
||||
DateTimeFormatter formatter,
|
||||
Function<TemporalAccessor, T> parsedToValue,
|
||||
Function<FromIntegerArguments, T> fromMilliseconds,
|
||||
Function<FromDecimalArguments, T> fromNanoseconds,
|
||||
BiFunction<T, ZoneId, T> adjust,
|
||||
boolean replaceZeroOffsetAsZ,
|
||||
boolean normalizeZoneId,
|
||||
boolean readNumericStringsAsTimestamp) {
|
||||
super(
|
||||
supportedType,
|
||||
formatter,
|
||||
parsedToValue,
|
||||
fromMilliseconds,
|
||||
fromNanoseconds,
|
||||
adjust,
|
||||
replaceZeroOffsetAsZ,
|
||||
normalizeZoneId,
|
||||
readNumericStringsAsTimestamp
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected T _fromString(JsonParser p, DeserializationContext ctxt, String string0) throws IOException {
|
||||
return super._fromString(p, ctxt, string0.replace( ' ', 'T' ));
|
||||
}
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
/*
|
||||
* issue-17485
|
||||
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||
*
|
||||
* The version of the OpenAPI document: 0.1.0
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
package org.openapitools.client;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZonedDateTime;
|
||||
|
||||
import com.fasterxml.jackson.databind.module.SimpleModule;
|
||||
|
||||
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.12.0-SNAPSHOT")
|
||||
public class RFC3339JavaTimeModule extends SimpleModule {
|
||||
|
||||
public RFC3339JavaTimeModule() {
|
||||
super("RFC3339JavaTimeModule");
|
||||
|
||||
addDeserializer(Instant.class, RFC3339InstantDeserializer.INSTANT);
|
||||
addDeserializer(OffsetDateTime.class, RFC3339InstantDeserializer.OFFSET_DATE_TIME);
|
||||
addDeserializer(ZonedDateTime.class, RFC3339InstantDeserializer.ZONED_DATE_TIME);
|
||||
}
|
||||
}
|
@ -19,6 +19,8 @@ src/main/java/org/openapitools/client/ApiClient.java
|
||||
src/main/java/org/openapitools/client/BaseApi.java
|
||||
src/main/java/org/openapitools/client/JavaTimeFormatter.java
|
||||
src/main/java/org/openapitools/client/RFC3339DateFormat.java
|
||||
src/main/java/org/openapitools/client/RFC3339InstantDeserializer.java
|
||||
src/main/java/org/openapitools/client/RFC3339JavaTimeModule.java
|
||||
src/main/java/org/openapitools/client/ServerConfiguration.java
|
||||
src/main/java/org/openapitools/client/ServerVariable.java
|
||||
src/main/java/org/openapitools/client/api/ResourceApi.java
|
||||
|
@ -0,0 +1,100 @@
|
||||
/*
|
||||
* Response file abstraction test
|
||||
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||
*
|
||||
* The version of the OpenAPI document: 1.0.0
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
package org.openapitools.client;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZoneId;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.temporal.Temporal;
|
||||
import java.time.temporal.TemporalAccessor;
|
||||
import java.util.function.BiFunction;
|
||||
import java.util.function.Function;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonParser;
|
||||
import com.fasterxml.jackson.databind.DeserializationContext;
|
||||
import com.fasterxml.jackson.datatype.jsr310.JavaTimeFeature;
|
||||
import com.fasterxml.jackson.datatype.jsr310.deser.InstantDeserializer;
|
||||
|
||||
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.12.0-SNAPSHOT")
|
||||
public class RFC3339InstantDeserializer<T extends Temporal> extends InstantDeserializer<T> {
|
||||
|
||||
private final static boolean DEFAULT_NORMALIZE_ZONE_ID = JavaTimeFeature.NORMALIZE_DESERIALIZED_ZONE_ID.enabledByDefault();
|
||||
private final static boolean DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
= JavaTimeFeature.ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS.enabledByDefault();
|
||||
|
||||
public static final RFC3339InstantDeserializer<Instant> INSTANT = new RFC3339InstantDeserializer<>(
|
||||
Instant.class, DateTimeFormatter.ISO_INSTANT,
|
||||
Instant::from,
|
||||
a -> Instant.ofEpochMilli( a.value ),
|
||||
a -> Instant.ofEpochSecond( a.integer, a.fraction ),
|
||||
null,
|
||||
true, // yes, replace zero offset with Z
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
public static final RFC3339InstantDeserializer<OffsetDateTime> OFFSET_DATE_TIME = new RFC3339InstantDeserializer<>(
|
||||
OffsetDateTime.class, DateTimeFormatter.ISO_OFFSET_DATE_TIME,
|
||||
OffsetDateTime::from,
|
||||
a -> OffsetDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ),
|
||||
a -> OffsetDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ),
|
||||
(d, z) -> ( d.isEqual( OffsetDateTime.MIN ) || d.isEqual( OffsetDateTime.MAX ) ?
|
||||
d :
|
||||
d.withOffsetSameInstant( z.getRules().getOffset( d.toLocalDateTime() ) ) ),
|
||||
true, // yes, replace zero offset with Z
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
public static final RFC3339InstantDeserializer<ZonedDateTime> ZONED_DATE_TIME = new RFC3339InstantDeserializer<>(
|
||||
ZonedDateTime.class, DateTimeFormatter.ISO_ZONED_DATE_TIME,
|
||||
ZonedDateTime::from,
|
||||
a -> ZonedDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ),
|
||||
a -> ZonedDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ),
|
||||
ZonedDateTime::withZoneSameInstant,
|
||||
false, // keep zero offset and Z separate since zones explicitly supported
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
protected RFC3339InstantDeserializer(
|
||||
Class<T> supportedType,
|
||||
DateTimeFormatter formatter,
|
||||
Function<TemporalAccessor, T> parsedToValue,
|
||||
Function<FromIntegerArguments, T> fromMilliseconds,
|
||||
Function<FromDecimalArguments, T> fromNanoseconds,
|
||||
BiFunction<T, ZoneId, T> adjust,
|
||||
boolean replaceZeroOffsetAsZ,
|
||||
boolean normalizeZoneId,
|
||||
boolean readNumericStringsAsTimestamp) {
|
||||
super(
|
||||
supportedType,
|
||||
formatter,
|
||||
parsedToValue,
|
||||
fromMilliseconds,
|
||||
fromNanoseconds,
|
||||
adjust,
|
||||
replaceZeroOffsetAsZ,
|
||||
normalizeZoneId,
|
||||
readNumericStringsAsTimestamp
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected T _fromString(JsonParser p, DeserializationContext ctxt, String string0) throws IOException {
|
||||
return super._fromString(p, ctxt, string0.replace( ' ', 'T' ));
|
||||
}
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
/*
|
||||
* Response file abstraction test
|
||||
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||
*
|
||||
* The version of the OpenAPI document: 1.0.0
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
package org.openapitools.client;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZonedDateTime;
|
||||
|
||||
import com.fasterxml.jackson.databind.module.SimpleModule;
|
||||
|
||||
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.12.0-SNAPSHOT")
|
||||
public class RFC3339JavaTimeModule extends SimpleModule {
|
||||
|
||||
public RFC3339JavaTimeModule() {
|
||||
super("RFC3339JavaTimeModule");
|
||||
|
||||
addDeserializer(Instant.class, RFC3339InstantDeserializer.INSTANT);
|
||||
addDeserializer(OffsetDateTime.class, RFC3339InstantDeserializer.OFFSET_DATE_TIME);
|
||||
addDeserializer(ZonedDateTime.class, RFC3339InstantDeserializer.ZONED_DATE_TIME);
|
||||
}
|
||||
}
|
@ -18,6 +18,8 @@ src/main/AndroidManifest.xml
|
||||
src/main/java/org/openapitools/client/ApiClient.java
|
||||
src/main/java/org/openapitools/client/JavaTimeFormatter.java
|
||||
src/main/java/org/openapitools/client/RFC3339DateFormat.java
|
||||
src/main/java/org/openapitools/client/RFC3339InstantDeserializer.java
|
||||
src/main/java/org/openapitools/client/RFC3339JavaTimeModule.java
|
||||
src/main/java/org/openapitools/client/ServerConfiguration.java
|
||||
src/main/java/org/openapitools/client/ServerVariable.java
|
||||
src/main/java/org/openapitools/client/StringUtil.java
|
||||
|
@ -0,0 +1,100 @@
|
||||
/*
|
||||
* Response file abstraction test
|
||||
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||
*
|
||||
* The version of the OpenAPI document: 1.0.0
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
package org.openapitools.client;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZoneId;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.temporal.Temporal;
|
||||
import java.time.temporal.TemporalAccessor;
|
||||
import java.util.function.BiFunction;
|
||||
import java.util.function.Function;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonParser;
|
||||
import com.fasterxml.jackson.databind.DeserializationContext;
|
||||
import com.fasterxml.jackson.datatype.jsr310.JavaTimeFeature;
|
||||
import com.fasterxml.jackson.datatype.jsr310.deser.InstantDeserializer;
|
||||
|
||||
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.12.0-SNAPSHOT")
|
||||
public class RFC3339InstantDeserializer<T extends Temporal> extends InstantDeserializer<T> {
|
||||
|
||||
private final static boolean DEFAULT_NORMALIZE_ZONE_ID = JavaTimeFeature.NORMALIZE_DESERIALIZED_ZONE_ID.enabledByDefault();
|
||||
private final static boolean DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
= JavaTimeFeature.ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS.enabledByDefault();
|
||||
|
||||
public static final RFC3339InstantDeserializer<Instant> INSTANT = new RFC3339InstantDeserializer<>(
|
||||
Instant.class, DateTimeFormatter.ISO_INSTANT,
|
||||
Instant::from,
|
||||
a -> Instant.ofEpochMilli( a.value ),
|
||||
a -> Instant.ofEpochSecond( a.integer, a.fraction ),
|
||||
null,
|
||||
true, // yes, replace zero offset with Z
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
public static final RFC3339InstantDeserializer<OffsetDateTime> OFFSET_DATE_TIME = new RFC3339InstantDeserializer<>(
|
||||
OffsetDateTime.class, DateTimeFormatter.ISO_OFFSET_DATE_TIME,
|
||||
OffsetDateTime::from,
|
||||
a -> OffsetDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ),
|
||||
a -> OffsetDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ),
|
||||
(d, z) -> ( d.isEqual( OffsetDateTime.MIN ) || d.isEqual( OffsetDateTime.MAX ) ?
|
||||
d :
|
||||
d.withOffsetSameInstant( z.getRules().getOffset( d.toLocalDateTime() ) ) ),
|
||||
true, // yes, replace zero offset with Z
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
public static final RFC3339InstantDeserializer<ZonedDateTime> ZONED_DATE_TIME = new RFC3339InstantDeserializer<>(
|
||||
ZonedDateTime.class, DateTimeFormatter.ISO_ZONED_DATE_TIME,
|
||||
ZonedDateTime::from,
|
||||
a -> ZonedDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ),
|
||||
a -> ZonedDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ),
|
||||
ZonedDateTime::withZoneSameInstant,
|
||||
false, // keep zero offset and Z separate since zones explicitly supported
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
protected RFC3339InstantDeserializer(
|
||||
Class<T> supportedType,
|
||||
DateTimeFormatter formatter,
|
||||
Function<TemporalAccessor, T> parsedToValue,
|
||||
Function<FromIntegerArguments, T> fromMilliseconds,
|
||||
Function<FromDecimalArguments, T> fromNanoseconds,
|
||||
BiFunction<T, ZoneId, T> adjust,
|
||||
boolean replaceZeroOffsetAsZ,
|
||||
boolean normalizeZoneId,
|
||||
boolean readNumericStringsAsTimestamp) {
|
||||
super(
|
||||
supportedType,
|
||||
formatter,
|
||||
parsedToValue,
|
||||
fromMilliseconds,
|
||||
fromNanoseconds,
|
||||
adjust,
|
||||
replaceZeroOffsetAsZ,
|
||||
normalizeZoneId,
|
||||
readNumericStringsAsTimestamp
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected T _fromString(JsonParser p, DeserializationContext ctxt, String string0) throws IOException {
|
||||
return super._fromString(p, ctxt, string0.replace( ' ', 'T' ));
|
||||
}
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
/*
|
||||
* Response file abstraction test
|
||||
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||
*
|
||||
* The version of the OpenAPI document: 1.0.0
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
package org.openapitools.client;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZonedDateTime;
|
||||
|
||||
import com.fasterxml.jackson.databind.module.SimpleModule;
|
||||
|
||||
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.12.0-SNAPSHOT")
|
||||
public class RFC3339JavaTimeModule extends SimpleModule {
|
||||
|
||||
public RFC3339JavaTimeModule() {
|
||||
super("RFC3339JavaTimeModule");
|
||||
|
||||
addDeserializer(Instant.class, RFC3339InstantDeserializer.INSTANT);
|
||||
addDeserializer(OffsetDateTime.class, RFC3339InstantDeserializer.OFFSET_DATE_TIME);
|
||||
addDeserializer(ZonedDateTime.class, RFC3339InstantDeserializer.ZONED_DATE_TIME);
|
||||
}
|
||||
}
|
@ -78,6 +78,8 @@ src/main/java/org/openapitools/client/Configuration.java
|
||||
src/main/java/org/openapitools/client/JavaTimeFormatter.java
|
||||
src/main/java/org/openapitools/client/Pair.java
|
||||
src/main/java/org/openapitools/client/RFC3339DateFormat.java
|
||||
src/main/java/org/openapitools/client/RFC3339InstantDeserializer.java
|
||||
src/main/java/org/openapitools/client/RFC3339JavaTimeModule.java
|
||||
src/main/java/org/openapitools/client/ServerConfiguration.java
|
||||
src/main/java/org/openapitools/client/ServerVariable.java
|
||||
src/main/java/org/openapitools/client/StringUtil.java
|
||||
|
@ -167,6 +167,7 @@ public class ApiClient extends JavaTimeFormatter {
|
||||
objectMapper.enable(DeserializationFeature.READ_ENUMS_USING_TO_STRING);
|
||||
objectMapper.registerModule(new JavaTimeModule());
|
||||
objectMapper.registerModule(new JsonNullableModule());
|
||||
objectMapper.registerModule(new RFC3339JavaTimeModule());
|
||||
objectMapper.setDateFormat(ApiClient.buildDefaultDateFormat());
|
||||
|
||||
dateFormat = ApiClient.buildDefaultDateFormat();
|
||||
|
@ -0,0 +1,100 @@
|
||||
/*
|
||||
* OpenAPI Petstore
|
||||
* This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
||||
*
|
||||
* The version of the OpenAPI document: 1.0.0
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
package org.openapitools.client;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZoneId;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.temporal.Temporal;
|
||||
import java.time.temporal.TemporalAccessor;
|
||||
import java.util.function.BiFunction;
|
||||
import java.util.function.Function;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonParser;
|
||||
import com.fasterxml.jackson.databind.DeserializationContext;
|
||||
import com.fasterxml.jackson.datatype.jsr310.JavaTimeFeature;
|
||||
import com.fasterxml.jackson.datatype.jsr310.deser.InstantDeserializer;
|
||||
|
||||
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.12.0-SNAPSHOT")
|
||||
public class RFC3339InstantDeserializer<T extends Temporal> extends InstantDeserializer<T> {
|
||||
|
||||
private final static boolean DEFAULT_NORMALIZE_ZONE_ID = JavaTimeFeature.NORMALIZE_DESERIALIZED_ZONE_ID.enabledByDefault();
|
||||
private final static boolean DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
= JavaTimeFeature.ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS.enabledByDefault();
|
||||
|
||||
public static final RFC3339InstantDeserializer<Instant> INSTANT = new RFC3339InstantDeserializer<>(
|
||||
Instant.class, DateTimeFormatter.ISO_INSTANT,
|
||||
Instant::from,
|
||||
a -> Instant.ofEpochMilli( a.value ),
|
||||
a -> Instant.ofEpochSecond( a.integer, a.fraction ),
|
||||
null,
|
||||
true, // yes, replace zero offset with Z
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
public static final RFC3339InstantDeserializer<OffsetDateTime> OFFSET_DATE_TIME = new RFC3339InstantDeserializer<>(
|
||||
OffsetDateTime.class, DateTimeFormatter.ISO_OFFSET_DATE_TIME,
|
||||
OffsetDateTime::from,
|
||||
a -> OffsetDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ),
|
||||
a -> OffsetDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ),
|
||||
(d, z) -> ( d.isEqual( OffsetDateTime.MIN ) || d.isEqual( OffsetDateTime.MAX ) ?
|
||||
d :
|
||||
d.withOffsetSameInstant( z.getRules().getOffset( d.toLocalDateTime() ) ) ),
|
||||
true, // yes, replace zero offset with Z
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
public static final RFC3339InstantDeserializer<ZonedDateTime> ZONED_DATE_TIME = new RFC3339InstantDeserializer<>(
|
||||
ZonedDateTime.class, DateTimeFormatter.ISO_ZONED_DATE_TIME,
|
||||
ZonedDateTime::from,
|
||||
a -> ZonedDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ),
|
||||
a -> ZonedDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ),
|
||||
ZonedDateTime::withZoneSameInstant,
|
||||
false, // keep zero offset and Z separate since zones explicitly supported
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
protected RFC3339InstantDeserializer(
|
||||
Class<T> supportedType,
|
||||
DateTimeFormatter formatter,
|
||||
Function<TemporalAccessor, T> parsedToValue,
|
||||
Function<FromIntegerArguments, T> fromMilliseconds,
|
||||
Function<FromDecimalArguments, T> fromNanoseconds,
|
||||
BiFunction<T, ZoneId, T> adjust,
|
||||
boolean replaceZeroOffsetAsZ,
|
||||
boolean normalizeZoneId,
|
||||
boolean readNumericStringsAsTimestamp) {
|
||||
super(
|
||||
supportedType,
|
||||
formatter,
|
||||
parsedToValue,
|
||||
fromMilliseconds,
|
||||
fromNanoseconds,
|
||||
adjust,
|
||||
replaceZeroOffsetAsZ,
|
||||
normalizeZoneId,
|
||||
readNumericStringsAsTimestamp
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected T _fromString(JsonParser p, DeserializationContext ctxt, String string0) throws IOException {
|
||||
return super._fromString(p, ctxt, string0.replace( ' ', 'T' ));
|
||||
}
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
/*
|
||||
* OpenAPI Petstore
|
||||
* This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
||||
*
|
||||
* The version of the OpenAPI document: 1.0.0
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
package org.openapitools.client;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZonedDateTime;
|
||||
|
||||
import com.fasterxml.jackson.databind.module.SimpleModule;
|
||||
|
||||
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.12.0-SNAPSHOT")
|
||||
public class RFC3339JavaTimeModule extends SimpleModule {
|
||||
|
||||
public RFC3339JavaTimeModule() {
|
||||
super("RFC3339JavaTimeModule");
|
||||
|
||||
addDeserializer(Instant.class, RFC3339InstantDeserializer.INSTANT);
|
||||
addDeserializer(OffsetDateTime.class, RFC3339InstantDeserializer.OFFSET_DATE_TIME);
|
||||
addDeserializer(ZonedDateTime.class, RFC3339InstantDeserializer.ZONED_DATE_TIME);
|
||||
}
|
||||
}
|
@ -19,6 +19,8 @@ src/main/java/org/openapitools/client/ApiResponseDecoder.java
|
||||
src/main/java/org/openapitools/client/EncodingUtils.java
|
||||
src/main/java/org/openapitools/client/ParamExpander.java
|
||||
src/main/java/org/openapitools/client/RFC3339DateFormat.java
|
||||
src/main/java/org/openapitools/client/RFC3339InstantDeserializer.java
|
||||
src/main/java/org/openapitools/client/RFC3339JavaTimeModule.java
|
||||
src/main/java/org/openapitools/client/ServerConfiguration.java
|
||||
src/main/java/org/openapitools/client/ServerVariable.java
|
||||
src/main/java/org/openapitools/client/StringUtil.java
|
||||
|
@ -142,6 +142,7 @@ public class ApiClient {
|
||||
objectMapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
|
||||
objectMapper.setDateFormat(new RFC3339DateFormat());
|
||||
objectMapper.registerModule(new JavaTimeModule());
|
||||
objectMapper.registerModule(new RFC3339JavaTimeModule());
|
||||
return objectMapper;
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,100 @@
|
||||
/*
|
||||
* OpenAPI Petstore
|
||||
* This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
||||
*
|
||||
* The version of the OpenAPI document: 1.0.0
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
package org.openapitools.client;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZoneId;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.temporal.Temporal;
|
||||
import java.time.temporal.TemporalAccessor;
|
||||
import java.util.function.BiFunction;
|
||||
import java.util.function.Function;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonParser;
|
||||
import com.fasterxml.jackson.databind.DeserializationContext;
|
||||
import com.fasterxml.jackson.datatype.jsr310.JavaTimeFeature;
|
||||
import com.fasterxml.jackson.datatype.jsr310.deser.InstantDeserializer;
|
||||
|
||||
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.12.0-SNAPSHOT")
|
||||
public class RFC3339InstantDeserializer<T extends Temporal> extends InstantDeserializer<T> {
|
||||
|
||||
private final static boolean DEFAULT_NORMALIZE_ZONE_ID = JavaTimeFeature.NORMALIZE_DESERIALIZED_ZONE_ID.enabledByDefault();
|
||||
private final static boolean DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
= JavaTimeFeature.ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS.enabledByDefault();
|
||||
|
||||
public static final RFC3339InstantDeserializer<Instant> INSTANT = new RFC3339InstantDeserializer<>(
|
||||
Instant.class, DateTimeFormatter.ISO_INSTANT,
|
||||
Instant::from,
|
||||
a -> Instant.ofEpochMilli( a.value ),
|
||||
a -> Instant.ofEpochSecond( a.integer, a.fraction ),
|
||||
null,
|
||||
true, // yes, replace zero offset with Z
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
public static final RFC3339InstantDeserializer<OffsetDateTime> OFFSET_DATE_TIME = new RFC3339InstantDeserializer<>(
|
||||
OffsetDateTime.class, DateTimeFormatter.ISO_OFFSET_DATE_TIME,
|
||||
OffsetDateTime::from,
|
||||
a -> OffsetDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ),
|
||||
a -> OffsetDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ),
|
||||
(d, z) -> ( d.isEqual( OffsetDateTime.MIN ) || d.isEqual( OffsetDateTime.MAX ) ?
|
||||
d :
|
||||
d.withOffsetSameInstant( z.getRules().getOffset( d.toLocalDateTime() ) ) ),
|
||||
true, // yes, replace zero offset with Z
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
public static final RFC3339InstantDeserializer<ZonedDateTime> ZONED_DATE_TIME = new RFC3339InstantDeserializer<>(
|
||||
ZonedDateTime.class, DateTimeFormatter.ISO_ZONED_DATE_TIME,
|
||||
ZonedDateTime::from,
|
||||
a -> ZonedDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ),
|
||||
a -> ZonedDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ),
|
||||
ZonedDateTime::withZoneSameInstant,
|
||||
false, // keep zero offset and Z separate since zones explicitly supported
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
protected RFC3339InstantDeserializer(
|
||||
Class<T> supportedType,
|
||||
DateTimeFormatter formatter,
|
||||
Function<TemporalAccessor, T> parsedToValue,
|
||||
Function<FromIntegerArguments, T> fromMilliseconds,
|
||||
Function<FromDecimalArguments, T> fromNanoseconds,
|
||||
BiFunction<T, ZoneId, T> adjust,
|
||||
boolean replaceZeroOffsetAsZ,
|
||||
boolean normalizeZoneId,
|
||||
boolean readNumericStringsAsTimestamp) {
|
||||
super(
|
||||
supportedType,
|
||||
formatter,
|
||||
parsedToValue,
|
||||
fromMilliseconds,
|
||||
fromNanoseconds,
|
||||
adjust,
|
||||
replaceZeroOffsetAsZ,
|
||||
normalizeZoneId,
|
||||
readNumericStringsAsTimestamp
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected T _fromString(JsonParser p, DeserializationContext ctxt, String string0) throws IOException {
|
||||
return super._fromString(p, ctxt, string0.replace( ' ', 'T' ));
|
||||
}
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
/*
|
||||
* OpenAPI Petstore
|
||||
* This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
||||
*
|
||||
* The version of the OpenAPI document: 1.0.0
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
package org.openapitools.client;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZonedDateTime;
|
||||
|
||||
import com.fasterxml.jackson.databind.module.SimpleModule;
|
||||
|
||||
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.12.0-SNAPSHOT")
|
||||
public class RFC3339JavaTimeModule extends SimpleModule {
|
||||
|
||||
public RFC3339JavaTimeModule() {
|
||||
super("RFC3339JavaTimeModule");
|
||||
|
||||
addDeserializer(Instant.class, RFC3339InstantDeserializer.INSTANT);
|
||||
addDeserializer(OffsetDateTime.class, RFC3339InstantDeserializer.OFFSET_DATE_TIME);
|
||||
addDeserializer(ZonedDateTime.class, RFC3339InstantDeserializer.ZONED_DATE_TIME);
|
||||
}
|
||||
}
|
@ -19,6 +19,8 @@ src/main/java/org/openapitools/client/ApiResponseDecoder.java
|
||||
src/main/java/org/openapitools/client/EncodingUtils.java
|
||||
src/main/java/org/openapitools/client/ParamExpander.java
|
||||
src/main/java/org/openapitools/client/RFC3339DateFormat.java
|
||||
src/main/java/org/openapitools/client/RFC3339InstantDeserializer.java
|
||||
src/main/java/org/openapitools/client/RFC3339JavaTimeModule.java
|
||||
src/main/java/org/openapitools/client/ServerConfiguration.java
|
||||
src/main/java/org/openapitools/client/ServerVariable.java
|
||||
src/main/java/org/openapitools/client/StringUtil.java
|
||||
|
@ -146,6 +146,7 @@ public class ApiClient {
|
||||
objectMapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
|
||||
objectMapper.setDateFormat(new RFC3339DateFormat());
|
||||
objectMapper.registerModule(new JavaTimeModule());
|
||||
objectMapper.registerModule(new RFC3339JavaTimeModule());
|
||||
JsonNullableModule jnm = new JsonNullableModule();
|
||||
objectMapper.registerModule(jnm);
|
||||
return objectMapper;
|
||||
|
@ -0,0 +1,100 @@
|
||||
/*
|
||||
* OpenAPI Petstore
|
||||
* This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
||||
*
|
||||
* The version of the OpenAPI document: 1.0.0
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
package org.openapitools.client;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZoneId;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.temporal.Temporal;
|
||||
import java.time.temporal.TemporalAccessor;
|
||||
import java.util.function.BiFunction;
|
||||
import java.util.function.Function;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonParser;
|
||||
import com.fasterxml.jackson.databind.DeserializationContext;
|
||||
import com.fasterxml.jackson.datatype.jsr310.JavaTimeFeature;
|
||||
import com.fasterxml.jackson.datatype.jsr310.deser.InstantDeserializer;
|
||||
|
||||
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.12.0-SNAPSHOT")
|
||||
public class RFC3339InstantDeserializer<T extends Temporal> extends InstantDeserializer<T> {
|
||||
|
||||
private final static boolean DEFAULT_NORMALIZE_ZONE_ID = JavaTimeFeature.NORMALIZE_DESERIALIZED_ZONE_ID.enabledByDefault();
|
||||
private final static boolean DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
= JavaTimeFeature.ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS.enabledByDefault();
|
||||
|
||||
public static final RFC3339InstantDeserializer<Instant> INSTANT = new RFC3339InstantDeserializer<>(
|
||||
Instant.class, DateTimeFormatter.ISO_INSTANT,
|
||||
Instant::from,
|
||||
a -> Instant.ofEpochMilli( a.value ),
|
||||
a -> Instant.ofEpochSecond( a.integer, a.fraction ),
|
||||
null,
|
||||
true, // yes, replace zero offset with Z
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
public static final RFC3339InstantDeserializer<OffsetDateTime> OFFSET_DATE_TIME = new RFC3339InstantDeserializer<>(
|
||||
OffsetDateTime.class, DateTimeFormatter.ISO_OFFSET_DATE_TIME,
|
||||
OffsetDateTime::from,
|
||||
a -> OffsetDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ),
|
||||
a -> OffsetDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ),
|
||||
(d, z) -> ( d.isEqual( OffsetDateTime.MIN ) || d.isEqual( OffsetDateTime.MAX ) ?
|
||||
d :
|
||||
d.withOffsetSameInstant( z.getRules().getOffset( d.toLocalDateTime() ) ) ),
|
||||
true, // yes, replace zero offset with Z
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
public static final RFC3339InstantDeserializer<ZonedDateTime> ZONED_DATE_TIME = new RFC3339InstantDeserializer<>(
|
||||
ZonedDateTime.class, DateTimeFormatter.ISO_ZONED_DATE_TIME,
|
||||
ZonedDateTime::from,
|
||||
a -> ZonedDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ),
|
||||
a -> ZonedDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ),
|
||||
ZonedDateTime::withZoneSameInstant,
|
||||
false, // keep zero offset and Z separate since zones explicitly supported
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
protected RFC3339InstantDeserializer(
|
||||
Class<T> supportedType,
|
||||
DateTimeFormatter formatter,
|
||||
Function<TemporalAccessor, T> parsedToValue,
|
||||
Function<FromIntegerArguments, T> fromMilliseconds,
|
||||
Function<FromDecimalArguments, T> fromNanoseconds,
|
||||
BiFunction<T, ZoneId, T> adjust,
|
||||
boolean replaceZeroOffsetAsZ,
|
||||
boolean normalizeZoneId,
|
||||
boolean readNumericStringsAsTimestamp) {
|
||||
super(
|
||||
supportedType,
|
||||
formatter,
|
||||
parsedToValue,
|
||||
fromMilliseconds,
|
||||
fromNanoseconds,
|
||||
adjust,
|
||||
replaceZeroOffsetAsZ,
|
||||
normalizeZoneId,
|
||||
readNumericStringsAsTimestamp
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected T _fromString(JsonParser p, DeserializationContext ctxt, String string0) throws IOException {
|
||||
return super._fromString(p, ctxt, string0.replace( ' ', 'T' ));
|
||||
}
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
/*
|
||||
* OpenAPI Petstore
|
||||
* This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
||||
*
|
||||
* The version of the OpenAPI document: 1.0.0
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
package org.openapitools.client;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZonedDateTime;
|
||||
|
||||
import com.fasterxml.jackson.databind.module.SimpleModule;
|
||||
|
||||
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.12.0-SNAPSHOT")
|
||||
public class RFC3339JavaTimeModule extends SimpleModule {
|
||||
|
||||
public RFC3339JavaTimeModule() {
|
||||
super("RFC3339JavaTimeModule");
|
||||
|
||||
addDeserializer(Instant.class, RFC3339InstantDeserializer.INSTANT);
|
||||
addDeserializer(OffsetDateTime.class, RFC3339InstantDeserializer.OFFSET_DATE_TIME);
|
||||
addDeserializer(ZonedDateTime.class, RFC3339InstantDeserializer.ZONED_DATE_TIME);
|
||||
}
|
||||
}
|
@ -67,6 +67,8 @@ settings.gradle
|
||||
src/main/AndroidManifest.xml
|
||||
src/main/java/org/openapitools/client/ApiClient.java
|
||||
src/main/java/org/openapitools/client/RFC3339DateFormat.java
|
||||
src/main/java/org/openapitools/client/RFC3339InstantDeserializer.java
|
||||
src/main/java/org/openapitools/client/RFC3339JavaTimeModule.java
|
||||
src/main/java/org/openapitools/client/ServerConfiguration.java
|
||||
src/main/java/org/openapitools/client/ServerVariable.java
|
||||
src/main/java/org/openapitools/client/StringUtil.java
|
||||
|
@ -0,0 +1,100 @@
|
||||
/*
|
||||
* OpenAPI Petstore
|
||||
* This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
||||
*
|
||||
* The version of the OpenAPI document: 1.0.0
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
package org.openapitools.client;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZoneId;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.temporal.Temporal;
|
||||
import java.time.temporal.TemporalAccessor;
|
||||
import java.util.function.BiFunction;
|
||||
import java.util.function.Function;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonParser;
|
||||
import com.fasterxml.jackson.databind.DeserializationContext;
|
||||
import com.fasterxml.jackson.datatype.jsr310.JavaTimeFeature;
|
||||
import com.fasterxml.jackson.datatype.jsr310.deser.InstantDeserializer;
|
||||
|
||||
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.12.0-SNAPSHOT")
|
||||
public class RFC3339InstantDeserializer<T extends Temporal> extends InstantDeserializer<T> {
|
||||
|
||||
private final static boolean DEFAULT_NORMALIZE_ZONE_ID = JavaTimeFeature.NORMALIZE_DESERIALIZED_ZONE_ID.enabledByDefault();
|
||||
private final static boolean DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
= JavaTimeFeature.ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS.enabledByDefault();
|
||||
|
||||
public static final RFC3339InstantDeserializer<Instant> INSTANT = new RFC3339InstantDeserializer<>(
|
||||
Instant.class, DateTimeFormatter.ISO_INSTANT,
|
||||
Instant::from,
|
||||
a -> Instant.ofEpochMilli( a.value ),
|
||||
a -> Instant.ofEpochSecond( a.integer, a.fraction ),
|
||||
null,
|
||||
true, // yes, replace zero offset with Z
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
public static final RFC3339InstantDeserializer<OffsetDateTime> OFFSET_DATE_TIME = new RFC3339InstantDeserializer<>(
|
||||
OffsetDateTime.class, DateTimeFormatter.ISO_OFFSET_DATE_TIME,
|
||||
OffsetDateTime::from,
|
||||
a -> OffsetDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ),
|
||||
a -> OffsetDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ),
|
||||
(d, z) -> ( d.isEqual( OffsetDateTime.MIN ) || d.isEqual( OffsetDateTime.MAX ) ?
|
||||
d :
|
||||
d.withOffsetSameInstant( z.getRules().getOffset( d.toLocalDateTime() ) ) ),
|
||||
true, // yes, replace zero offset with Z
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
public static final RFC3339InstantDeserializer<ZonedDateTime> ZONED_DATE_TIME = new RFC3339InstantDeserializer<>(
|
||||
ZonedDateTime.class, DateTimeFormatter.ISO_ZONED_DATE_TIME,
|
||||
ZonedDateTime::from,
|
||||
a -> ZonedDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ),
|
||||
a -> ZonedDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ),
|
||||
ZonedDateTime::withZoneSameInstant,
|
||||
false, // keep zero offset and Z separate since zones explicitly supported
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
protected RFC3339InstantDeserializer(
|
||||
Class<T> supportedType,
|
||||
DateTimeFormatter formatter,
|
||||
Function<TemporalAccessor, T> parsedToValue,
|
||||
Function<FromIntegerArguments, T> fromMilliseconds,
|
||||
Function<FromDecimalArguments, T> fromNanoseconds,
|
||||
BiFunction<T, ZoneId, T> adjust,
|
||||
boolean replaceZeroOffsetAsZ,
|
||||
boolean normalizeZoneId,
|
||||
boolean readNumericStringsAsTimestamp) {
|
||||
super(
|
||||
supportedType,
|
||||
formatter,
|
||||
parsedToValue,
|
||||
fromMilliseconds,
|
||||
fromNanoseconds,
|
||||
adjust,
|
||||
replaceZeroOffsetAsZ,
|
||||
normalizeZoneId,
|
||||
readNumericStringsAsTimestamp
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected T _fromString(JsonParser p, DeserializationContext ctxt, String string0) throws IOException {
|
||||
return super._fromString(p, ctxt, string0.replace( ' ', 'T' ));
|
||||
}
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
/*
|
||||
* OpenAPI Petstore
|
||||
* This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
||||
*
|
||||
* The version of the OpenAPI document: 1.0.0
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
package org.openapitools.client;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZonedDateTime;
|
||||
|
||||
import com.fasterxml.jackson.databind.module.SimpleModule;
|
||||
|
||||
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.12.0-SNAPSHOT")
|
||||
public class RFC3339JavaTimeModule extends SimpleModule {
|
||||
|
||||
public RFC3339JavaTimeModule() {
|
||||
super("RFC3339JavaTimeModule");
|
||||
|
||||
addDeserializer(Instant.class, RFC3339InstantDeserializer.INSTANT);
|
||||
addDeserializer(OffsetDateTime.class, RFC3339InstantDeserializer.OFFSET_DATE_TIME);
|
||||
addDeserializer(ZonedDateTime.class, RFC3339InstantDeserializer.ZONED_DATE_TIME);
|
||||
}
|
||||
}
|
@ -73,6 +73,8 @@ src/main/java/org/openapitools/client/JSON.java
|
||||
src/main/java/org/openapitools/client/JavaTimeFormatter.java
|
||||
src/main/java/org/openapitools/client/Pair.java
|
||||
src/main/java/org/openapitools/client/RFC3339DateFormat.java
|
||||
src/main/java/org/openapitools/client/RFC3339InstantDeserializer.java
|
||||
src/main/java/org/openapitools/client/RFC3339JavaTimeModule.java
|
||||
src/main/java/org/openapitools/client/ServerConfiguration.java
|
||||
src/main/java/org/openapitools/client/ServerVariable.java
|
||||
src/main/java/org/openapitools/client/StringUtil.java
|
||||
|
@ -43,6 +43,7 @@ public class JSON implements ContextResolver<ObjectMapper> {
|
||||
.defaultDateFormat(new RFC3339DateFormat())
|
||||
.addModule(new JavaTimeModule())
|
||||
.addModule(new JsonNullableModule())
|
||||
.addModule(new RFC3339JavaTimeModule())
|
||||
.build();
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,100 @@
|
||||
/*
|
||||
* OpenAPI Petstore
|
||||
* This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
||||
*
|
||||
* The version of the OpenAPI document: 1.0.0
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
package org.openapitools.client;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZoneId;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.temporal.Temporal;
|
||||
import java.time.temporal.TemporalAccessor;
|
||||
import java.util.function.BiFunction;
|
||||
import java.util.function.Function;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonParser;
|
||||
import com.fasterxml.jackson.databind.DeserializationContext;
|
||||
import com.fasterxml.jackson.datatype.jsr310.JavaTimeFeature;
|
||||
import com.fasterxml.jackson.datatype.jsr310.deser.InstantDeserializer;
|
||||
|
||||
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.12.0-SNAPSHOT")
|
||||
public class RFC3339InstantDeserializer<T extends Temporal> extends InstantDeserializer<T> {
|
||||
|
||||
private final static boolean DEFAULT_NORMALIZE_ZONE_ID = JavaTimeFeature.NORMALIZE_DESERIALIZED_ZONE_ID.enabledByDefault();
|
||||
private final static boolean DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
= JavaTimeFeature.ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS.enabledByDefault();
|
||||
|
||||
public static final RFC3339InstantDeserializer<Instant> INSTANT = new RFC3339InstantDeserializer<>(
|
||||
Instant.class, DateTimeFormatter.ISO_INSTANT,
|
||||
Instant::from,
|
||||
a -> Instant.ofEpochMilli( a.value ),
|
||||
a -> Instant.ofEpochSecond( a.integer, a.fraction ),
|
||||
null,
|
||||
true, // yes, replace zero offset with Z
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
public static final RFC3339InstantDeserializer<OffsetDateTime> OFFSET_DATE_TIME = new RFC3339InstantDeserializer<>(
|
||||
OffsetDateTime.class, DateTimeFormatter.ISO_OFFSET_DATE_TIME,
|
||||
OffsetDateTime::from,
|
||||
a -> OffsetDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ),
|
||||
a -> OffsetDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ),
|
||||
(d, z) -> ( d.isEqual( OffsetDateTime.MIN ) || d.isEqual( OffsetDateTime.MAX ) ?
|
||||
d :
|
||||
d.withOffsetSameInstant( z.getRules().getOffset( d.toLocalDateTime() ) ) ),
|
||||
true, // yes, replace zero offset with Z
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
public static final RFC3339InstantDeserializer<ZonedDateTime> ZONED_DATE_TIME = new RFC3339InstantDeserializer<>(
|
||||
ZonedDateTime.class, DateTimeFormatter.ISO_ZONED_DATE_TIME,
|
||||
ZonedDateTime::from,
|
||||
a -> ZonedDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ),
|
||||
a -> ZonedDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ),
|
||||
ZonedDateTime::withZoneSameInstant,
|
||||
false, // keep zero offset and Z separate since zones explicitly supported
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
protected RFC3339InstantDeserializer(
|
||||
Class<T> supportedType,
|
||||
DateTimeFormatter formatter,
|
||||
Function<TemporalAccessor, T> parsedToValue,
|
||||
Function<FromIntegerArguments, T> fromMilliseconds,
|
||||
Function<FromDecimalArguments, T> fromNanoseconds,
|
||||
BiFunction<T, ZoneId, T> adjust,
|
||||
boolean replaceZeroOffsetAsZ,
|
||||
boolean normalizeZoneId,
|
||||
boolean readNumericStringsAsTimestamp) {
|
||||
super(
|
||||
supportedType,
|
||||
formatter,
|
||||
parsedToValue,
|
||||
fromMilliseconds,
|
||||
fromNanoseconds,
|
||||
adjust,
|
||||
replaceZeroOffsetAsZ,
|
||||
normalizeZoneId,
|
||||
readNumericStringsAsTimestamp
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected T _fromString(JsonParser p, DeserializationContext ctxt, String string0) throws IOException {
|
||||
return super._fromString(p, ctxt, string0.replace( ' ', 'T' ));
|
||||
}
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
/*
|
||||
* OpenAPI Petstore
|
||||
* This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
||||
*
|
||||
* The version of the OpenAPI document: 1.0.0
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
package org.openapitools.client;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZonedDateTime;
|
||||
|
||||
import com.fasterxml.jackson.databind.module.SimpleModule;
|
||||
|
||||
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.12.0-SNAPSHOT")
|
||||
public class RFC3339JavaTimeModule extends SimpleModule {
|
||||
|
||||
public RFC3339JavaTimeModule() {
|
||||
super("RFC3339JavaTimeModule");
|
||||
|
||||
addDeserializer(Instant.class, RFC3339InstantDeserializer.INSTANT);
|
||||
addDeserializer(OffsetDateTime.class, RFC3339InstantDeserializer.OFFSET_DATE_TIME);
|
||||
addDeserializer(ZonedDateTime.class, RFC3339InstantDeserializer.ZONED_DATE_TIME);
|
||||
}
|
||||
}
|
@ -73,6 +73,8 @@ src/main/java/org/openapitools/client/JSON.java
|
||||
src/main/java/org/openapitools/client/JavaTimeFormatter.java
|
||||
src/main/java/org/openapitools/client/Pair.java
|
||||
src/main/java/org/openapitools/client/RFC3339DateFormat.java
|
||||
src/main/java/org/openapitools/client/RFC3339InstantDeserializer.java
|
||||
src/main/java/org/openapitools/client/RFC3339JavaTimeModule.java
|
||||
src/main/java/org/openapitools/client/ServerConfiguration.java
|
||||
src/main/java/org/openapitools/client/ServerVariable.java
|
||||
src/main/java/org/openapitools/client/StringUtil.java
|
||||
|
@ -43,6 +43,7 @@ public class JSON implements ContextResolver<ObjectMapper> {
|
||||
.defaultDateFormat(new RFC3339DateFormat())
|
||||
.addModule(new JavaTimeModule())
|
||||
.addModule(new JsonNullableModule())
|
||||
.addModule(new RFC3339JavaTimeModule())
|
||||
.build();
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,100 @@
|
||||
/*
|
||||
* OpenAPI Petstore
|
||||
* This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
||||
*
|
||||
* The version of the OpenAPI document: 1.0.0
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
package org.openapitools.client;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZoneId;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.temporal.Temporal;
|
||||
import java.time.temporal.TemporalAccessor;
|
||||
import java.util.function.BiFunction;
|
||||
import java.util.function.Function;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonParser;
|
||||
import com.fasterxml.jackson.databind.DeserializationContext;
|
||||
import com.fasterxml.jackson.datatype.jsr310.JavaTimeFeature;
|
||||
import com.fasterxml.jackson.datatype.jsr310.deser.InstantDeserializer;
|
||||
|
||||
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.12.0-SNAPSHOT")
|
||||
public class RFC3339InstantDeserializer<T extends Temporal> extends InstantDeserializer<T> {
|
||||
|
||||
private final static boolean DEFAULT_NORMALIZE_ZONE_ID = JavaTimeFeature.NORMALIZE_DESERIALIZED_ZONE_ID.enabledByDefault();
|
||||
private final static boolean DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
= JavaTimeFeature.ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS.enabledByDefault();
|
||||
|
||||
public static final RFC3339InstantDeserializer<Instant> INSTANT = new RFC3339InstantDeserializer<>(
|
||||
Instant.class, DateTimeFormatter.ISO_INSTANT,
|
||||
Instant::from,
|
||||
a -> Instant.ofEpochMilli( a.value ),
|
||||
a -> Instant.ofEpochSecond( a.integer, a.fraction ),
|
||||
null,
|
||||
true, // yes, replace zero offset with Z
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
public static final RFC3339InstantDeserializer<OffsetDateTime> OFFSET_DATE_TIME = new RFC3339InstantDeserializer<>(
|
||||
OffsetDateTime.class, DateTimeFormatter.ISO_OFFSET_DATE_TIME,
|
||||
OffsetDateTime::from,
|
||||
a -> OffsetDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ),
|
||||
a -> OffsetDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ),
|
||||
(d, z) -> ( d.isEqual( OffsetDateTime.MIN ) || d.isEqual( OffsetDateTime.MAX ) ?
|
||||
d :
|
||||
d.withOffsetSameInstant( z.getRules().getOffset( d.toLocalDateTime() ) ) ),
|
||||
true, // yes, replace zero offset with Z
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
public static final RFC3339InstantDeserializer<ZonedDateTime> ZONED_DATE_TIME = new RFC3339InstantDeserializer<>(
|
||||
ZonedDateTime.class, DateTimeFormatter.ISO_ZONED_DATE_TIME,
|
||||
ZonedDateTime::from,
|
||||
a -> ZonedDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ),
|
||||
a -> ZonedDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ),
|
||||
ZonedDateTime::withZoneSameInstant,
|
||||
false, // keep zero offset and Z separate since zones explicitly supported
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
protected RFC3339InstantDeserializer(
|
||||
Class<T> supportedType,
|
||||
DateTimeFormatter formatter,
|
||||
Function<TemporalAccessor, T> parsedToValue,
|
||||
Function<FromIntegerArguments, T> fromMilliseconds,
|
||||
Function<FromDecimalArguments, T> fromNanoseconds,
|
||||
BiFunction<T, ZoneId, T> adjust,
|
||||
boolean replaceZeroOffsetAsZ,
|
||||
boolean normalizeZoneId,
|
||||
boolean readNumericStringsAsTimestamp) {
|
||||
super(
|
||||
supportedType,
|
||||
formatter,
|
||||
parsedToValue,
|
||||
fromMilliseconds,
|
||||
fromNanoseconds,
|
||||
adjust,
|
||||
replaceZeroOffsetAsZ,
|
||||
normalizeZoneId,
|
||||
readNumericStringsAsTimestamp
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected T _fromString(JsonParser p, DeserializationContext ctxt, String string0) throws IOException {
|
||||
return super._fromString(p, ctxt, string0.replace( ' ', 'T' ));
|
||||
}
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
/*
|
||||
* OpenAPI Petstore
|
||||
* This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
||||
*
|
||||
* The version of the OpenAPI document: 1.0.0
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
package org.openapitools.client;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZonedDateTime;
|
||||
|
||||
import com.fasterxml.jackson.databind.module.SimpleModule;
|
||||
|
||||
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.12.0-SNAPSHOT")
|
||||
public class RFC3339JavaTimeModule extends SimpleModule {
|
||||
|
||||
public RFC3339JavaTimeModule() {
|
||||
super("RFC3339JavaTimeModule");
|
||||
|
||||
addDeserializer(Instant.class, RFC3339InstantDeserializer.INSTANT);
|
||||
addDeserializer(OffsetDateTime.class, RFC3339InstantDeserializer.OFFSET_DATE_TIME);
|
||||
addDeserializer(ZonedDateTime.class, RFC3339InstantDeserializer.ZONED_DATE_TIME);
|
||||
}
|
||||
}
|
@ -25,6 +25,8 @@ src/main/java/org/openapitools/client/JSON.java
|
||||
src/main/java/org/openapitools/client/JavaTimeFormatter.java
|
||||
src/main/java/org/openapitools/client/Pair.java
|
||||
src/main/java/org/openapitools/client/RFC3339DateFormat.java
|
||||
src/main/java/org/openapitools/client/RFC3339InstantDeserializer.java
|
||||
src/main/java/org/openapitools/client/RFC3339JavaTimeModule.java
|
||||
src/main/java/org/openapitools/client/ServerConfiguration.java
|
||||
src/main/java/org/openapitools/client/ServerVariable.java
|
||||
src/main/java/org/openapitools/client/StringUtil.java
|
||||
|
@ -43,6 +43,7 @@ public class JSON implements ContextResolver<ObjectMapper> {
|
||||
.defaultDateFormat(new RFC3339DateFormat())
|
||||
.addModule(new JavaTimeModule())
|
||||
.addModule(new JsonNullableModule())
|
||||
.addModule(new RFC3339JavaTimeModule())
|
||||
.build();
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,100 @@
|
||||
/*
|
||||
* dummy
|
||||
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||
*
|
||||
* The version of the OpenAPI document: 1.0.0
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
package org.openapitools.client;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZoneId;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.temporal.Temporal;
|
||||
import java.time.temporal.TemporalAccessor;
|
||||
import java.util.function.BiFunction;
|
||||
import java.util.function.Function;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonParser;
|
||||
import com.fasterxml.jackson.databind.DeserializationContext;
|
||||
import com.fasterxml.jackson.datatype.jsr310.JavaTimeFeature;
|
||||
import com.fasterxml.jackson.datatype.jsr310.deser.InstantDeserializer;
|
||||
|
||||
@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.12.0-SNAPSHOT")
|
||||
public class RFC3339InstantDeserializer<T extends Temporal> extends InstantDeserializer<T> {
|
||||
|
||||
private final static boolean DEFAULT_NORMALIZE_ZONE_ID = JavaTimeFeature.NORMALIZE_DESERIALIZED_ZONE_ID.enabledByDefault();
|
||||
private final static boolean DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
= JavaTimeFeature.ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS.enabledByDefault();
|
||||
|
||||
public static final RFC3339InstantDeserializer<Instant> INSTANT = new RFC3339InstantDeserializer<>(
|
||||
Instant.class, DateTimeFormatter.ISO_INSTANT,
|
||||
Instant::from,
|
||||
a -> Instant.ofEpochMilli( a.value ),
|
||||
a -> Instant.ofEpochSecond( a.integer, a.fraction ),
|
||||
null,
|
||||
true, // yes, replace zero offset with Z
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
public static final RFC3339InstantDeserializer<OffsetDateTime> OFFSET_DATE_TIME = new RFC3339InstantDeserializer<>(
|
||||
OffsetDateTime.class, DateTimeFormatter.ISO_OFFSET_DATE_TIME,
|
||||
OffsetDateTime::from,
|
||||
a -> OffsetDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ),
|
||||
a -> OffsetDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ),
|
||||
(d, z) -> ( d.isEqual( OffsetDateTime.MIN ) || d.isEqual( OffsetDateTime.MAX ) ?
|
||||
d :
|
||||
d.withOffsetSameInstant( z.getRules().getOffset( d.toLocalDateTime() ) ) ),
|
||||
true, // yes, replace zero offset with Z
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
public static final RFC3339InstantDeserializer<ZonedDateTime> ZONED_DATE_TIME = new RFC3339InstantDeserializer<>(
|
||||
ZonedDateTime.class, DateTimeFormatter.ISO_ZONED_DATE_TIME,
|
||||
ZonedDateTime::from,
|
||||
a -> ZonedDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ),
|
||||
a -> ZonedDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ),
|
||||
ZonedDateTime::withZoneSameInstant,
|
||||
false, // keep zero offset and Z separate since zones explicitly supported
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
protected RFC3339InstantDeserializer(
|
||||
Class<T> supportedType,
|
||||
DateTimeFormatter formatter,
|
||||
Function<TemporalAccessor, T> parsedToValue,
|
||||
Function<FromIntegerArguments, T> fromMilliseconds,
|
||||
Function<FromDecimalArguments, T> fromNanoseconds,
|
||||
BiFunction<T, ZoneId, T> adjust,
|
||||
boolean replaceZeroOffsetAsZ,
|
||||
boolean normalizeZoneId,
|
||||
boolean readNumericStringsAsTimestamp) {
|
||||
super(
|
||||
supportedType,
|
||||
formatter,
|
||||
parsedToValue,
|
||||
fromMilliseconds,
|
||||
fromNanoseconds,
|
||||
adjust,
|
||||
replaceZeroOffsetAsZ,
|
||||
normalizeZoneId,
|
||||
readNumericStringsAsTimestamp
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected T _fromString(JsonParser p, DeserializationContext ctxt, String string0) throws IOException {
|
||||
return super._fromString(p, ctxt, string0.replace( ' ', 'T' ));
|
||||
}
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
/*
|
||||
* dummy
|
||||
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||
*
|
||||
* The version of the OpenAPI document: 1.0.0
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
package org.openapitools.client;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZonedDateTime;
|
||||
|
||||
import com.fasterxml.jackson.databind.module.SimpleModule;
|
||||
|
||||
@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.12.0-SNAPSHOT")
|
||||
public class RFC3339JavaTimeModule extends SimpleModule {
|
||||
|
||||
public RFC3339JavaTimeModule() {
|
||||
super("RFC3339JavaTimeModule");
|
||||
|
||||
addDeserializer(Instant.class, RFC3339InstantDeserializer.INSTANT);
|
||||
addDeserializer(OffsetDateTime.class, RFC3339InstantDeserializer.OFFSET_DATE_TIME);
|
||||
addDeserializer(ZonedDateTime.class, RFC3339InstantDeserializer.ZONED_DATE_TIME);
|
||||
}
|
||||
}
|
@ -104,6 +104,8 @@ src/main/java/org/openapitools/client/JSON.java
|
||||
src/main/java/org/openapitools/client/JavaTimeFormatter.java
|
||||
src/main/java/org/openapitools/client/Pair.java
|
||||
src/main/java/org/openapitools/client/RFC3339DateFormat.java
|
||||
src/main/java/org/openapitools/client/RFC3339InstantDeserializer.java
|
||||
src/main/java/org/openapitools/client/RFC3339JavaTimeModule.java
|
||||
src/main/java/org/openapitools/client/ServerConfiguration.java
|
||||
src/main/java/org/openapitools/client/ServerVariable.java
|
||||
src/main/java/org/openapitools/client/StringUtil.java
|
||||
|
@ -43,6 +43,7 @@ public class JSON implements ContextResolver<ObjectMapper> {
|
||||
.defaultDateFormat(new RFC3339DateFormat())
|
||||
.addModule(new JavaTimeModule())
|
||||
.addModule(new JsonNullableModule())
|
||||
.addModule(new RFC3339JavaTimeModule())
|
||||
.build();
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,100 @@
|
||||
/*
|
||||
* OpenAPI Petstore
|
||||
* This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
||||
*
|
||||
* The version of the OpenAPI document: 1.0.0
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
package org.openapitools.client;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZoneId;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.temporal.Temporal;
|
||||
import java.time.temporal.TemporalAccessor;
|
||||
import java.util.function.BiFunction;
|
||||
import java.util.function.Function;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonParser;
|
||||
import com.fasterxml.jackson.databind.DeserializationContext;
|
||||
import com.fasterxml.jackson.datatype.jsr310.JavaTimeFeature;
|
||||
import com.fasterxml.jackson.datatype.jsr310.deser.InstantDeserializer;
|
||||
|
||||
@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.12.0-SNAPSHOT")
|
||||
public class RFC3339InstantDeserializer<T extends Temporal> extends InstantDeserializer<T> {
|
||||
|
||||
private final static boolean DEFAULT_NORMALIZE_ZONE_ID = JavaTimeFeature.NORMALIZE_DESERIALIZED_ZONE_ID.enabledByDefault();
|
||||
private final static boolean DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
= JavaTimeFeature.ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS.enabledByDefault();
|
||||
|
||||
public static final RFC3339InstantDeserializer<Instant> INSTANT = new RFC3339InstantDeserializer<>(
|
||||
Instant.class, DateTimeFormatter.ISO_INSTANT,
|
||||
Instant::from,
|
||||
a -> Instant.ofEpochMilli( a.value ),
|
||||
a -> Instant.ofEpochSecond( a.integer, a.fraction ),
|
||||
null,
|
||||
true, // yes, replace zero offset with Z
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
public static final RFC3339InstantDeserializer<OffsetDateTime> OFFSET_DATE_TIME = new RFC3339InstantDeserializer<>(
|
||||
OffsetDateTime.class, DateTimeFormatter.ISO_OFFSET_DATE_TIME,
|
||||
OffsetDateTime::from,
|
||||
a -> OffsetDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ),
|
||||
a -> OffsetDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ),
|
||||
(d, z) -> ( d.isEqual( OffsetDateTime.MIN ) || d.isEqual( OffsetDateTime.MAX ) ?
|
||||
d :
|
||||
d.withOffsetSameInstant( z.getRules().getOffset( d.toLocalDateTime() ) ) ),
|
||||
true, // yes, replace zero offset with Z
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
public static final RFC3339InstantDeserializer<ZonedDateTime> ZONED_DATE_TIME = new RFC3339InstantDeserializer<>(
|
||||
ZonedDateTime.class, DateTimeFormatter.ISO_ZONED_DATE_TIME,
|
||||
ZonedDateTime::from,
|
||||
a -> ZonedDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ),
|
||||
a -> ZonedDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ),
|
||||
ZonedDateTime::withZoneSameInstant,
|
||||
false, // keep zero offset and Z separate since zones explicitly supported
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
protected RFC3339InstantDeserializer(
|
||||
Class<T> supportedType,
|
||||
DateTimeFormatter formatter,
|
||||
Function<TemporalAccessor, T> parsedToValue,
|
||||
Function<FromIntegerArguments, T> fromMilliseconds,
|
||||
Function<FromDecimalArguments, T> fromNanoseconds,
|
||||
BiFunction<T, ZoneId, T> adjust,
|
||||
boolean replaceZeroOffsetAsZ,
|
||||
boolean normalizeZoneId,
|
||||
boolean readNumericStringsAsTimestamp) {
|
||||
super(
|
||||
supportedType,
|
||||
formatter,
|
||||
parsedToValue,
|
||||
fromMilliseconds,
|
||||
fromNanoseconds,
|
||||
adjust,
|
||||
replaceZeroOffsetAsZ,
|
||||
normalizeZoneId,
|
||||
readNumericStringsAsTimestamp
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected T _fromString(JsonParser p, DeserializationContext ctxt, String string0) throws IOException {
|
||||
return super._fromString(p, ctxt, string0.replace( ' ', 'T' ));
|
||||
}
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
/*
|
||||
* OpenAPI Petstore
|
||||
* This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
||||
*
|
||||
* The version of the OpenAPI document: 1.0.0
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
package org.openapitools.client;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZonedDateTime;
|
||||
|
||||
import com.fasterxml.jackson.databind.module.SimpleModule;
|
||||
|
||||
@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.12.0-SNAPSHOT")
|
||||
public class RFC3339JavaTimeModule extends SimpleModule {
|
||||
|
||||
public RFC3339JavaTimeModule() {
|
||||
super("RFC3339JavaTimeModule");
|
||||
|
||||
addDeserializer(Instant.class, RFC3339InstantDeserializer.INSTANT);
|
||||
addDeserializer(OffsetDateTime.class, RFC3339InstantDeserializer.OFFSET_DATE_TIME);
|
||||
addDeserializer(ZonedDateTime.class, RFC3339InstantDeserializer.ZONED_DATE_TIME);
|
||||
}
|
||||
}
|
@ -10,6 +10,8 @@ docs/User.md
|
||||
docs/UserApi.md
|
||||
pom.xml
|
||||
src/main/java/org/openapitools/client/RFC3339DateFormat.java
|
||||
src/main/java/org/openapitools/client/RFC3339InstantDeserializer.java
|
||||
src/main/java/org/openapitools/client/RFC3339JavaTimeModule.java
|
||||
src/main/java/org/openapitools/client/api/ApiException.java
|
||||
src/main/java/org/openapitools/client/api/ApiExceptionMapper.java
|
||||
src/main/java/org/openapitools/client/api/PetApi.java
|
||||
|
@ -0,0 +1,100 @@
|
||||
/**
|
||||
* OpenAPI Petstore
|
||||
* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
|
||||
*
|
||||
* The version of the OpenAPI document: 1.0.0
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
package org.openapitools.client;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZoneId;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.temporal.Temporal;
|
||||
import java.time.temporal.TemporalAccessor;
|
||||
import java.util.function.BiFunction;
|
||||
import java.util.function.Function;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonParser;
|
||||
import com.fasterxml.jackson.databind.DeserializationContext;
|
||||
import com.fasterxml.jackson.datatype.jsr310.JavaTimeFeature;
|
||||
import com.fasterxml.jackson.datatype.jsr310.deser.InstantDeserializer;
|
||||
|
||||
@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.12.0-SNAPSHOT")
|
||||
public class RFC3339InstantDeserializer<T extends Temporal> extends InstantDeserializer<T> {
|
||||
|
||||
private final static boolean DEFAULT_NORMALIZE_ZONE_ID = JavaTimeFeature.NORMALIZE_DESERIALIZED_ZONE_ID.enabledByDefault();
|
||||
private final static boolean DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
= JavaTimeFeature.ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS.enabledByDefault();
|
||||
|
||||
public static final RFC3339InstantDeserializer<Instant> INSTANT = new RFC3339InstantDeserializer<>(
|
||||
Instant.class, DateTimeFormatter.ISO_INSTANT,
|
||||
Instant::from,
|
||||
a -> Instant.ofEpochMilli( a.value ),
|
||||
a -> Instant.ofEpochSecond( a.integer, a.fraction ),
|
||||
null,
|
||||
true, // yes, replace zero offset with Z
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
public static final RFC3339InstantDeserializer<OffsetDateTime> OFFSET_DATE_TIME = new RFC3339InstantDeserializer<>(
|
||||
OffsetDateTime.class, DateTimeFormatter.ISO_OFFSET_DATE_TIME,
|
||||
OffsetDateTime::from,
|
||||
a -> OffsetDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ),
|
||||
a -> OffsetDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ),
|
||||
(d, z) -> ( d.isEqual( OffsetDateTime.MIN ) || d.isEqual( OffsetDateTime.MAX ) ?
|
||||
d :
|
||||
d.withOffsetSameInstant( z.getRules().getOffset( d.toLocalDateTime() ) ) ),
|
||||
true, // yes, replace zero offset with Z
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
public static final RFC3339InstantDeserializer<ZonedDateTime> ZONED_DATE_TIME = new RFC3339InstantDeserializer<>(
|
||||
ZonedDateTime.class, DateTimeFormatter.ISO_ZONED_DATE_TIME,
|
||||
ZonedDateTime::from,
|
||||
a -> ZonedDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ),
|
||||
a -> ZonedDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ),
|
||||
ZonedDateTime::withZoneSameInstant,
|
||||
false, // keep zero offset and Z separate since zones explicitly supported
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
protected RFC3339InstantDeserializer(
|
||||
Class<T> supportedType,
|
||||
DateTimeFormatter formatter,
|
||||
Function<TemporalAccessor, T> parsedToValue,
|
||||
Function<FromIntegerArguments, T> fromMilliseconds,
|
||||
Function<FromDecimalArguments, T> fromNanoseconds,
|
||||
BiFunction<T, ZoneId, T> adjust,
|
||||
boolean replaceZeroOffsetAsZ,
|
||||
boolean normalizeZoneId,
|
||||
boolean readNumericStringsAsTimestamp) {
|
||||
super(
|
||||
supportedType,
|
||||
formatter,
|
||||
parsedToValue,
|
||||
fromMilliseconds,
|
||||
fromNanoseconds,
|
||||
adjust,
|
||||
replaceZeroOffsetAsZ,
|
||||
normalizeZoneId,
|
||||
readNumericStringsAsTimestamp
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected T _fromString(JsonParser p, DeserializationContext ctxt, String string0) throws IOException {
|
||||
return super._fromString(p, ctxt, string0.replace( ' ', 'T' ));
|
||||
}
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
/**
|
||||
* OpenAPI Petstore
|
||||
* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
|
||||
*
|
||||
* The version of the OpenAPI document: 1.0.0
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
package org.openapitools.client;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZonedDateTime;
|
||||
|
||||
import com.fasterxml.jackson.databind.module.SimpleModule;
|
||||
|
||||
@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.12.0-SNAPSHOT")
|
||||
public class RFC3339JavaTimeModule extends SimpleModule {
|
||||
|
||||
public RFC3339JavaTimeModule() {
|
||||
super("RFC3339JavaTimeModule");
|
||||
|
||||
addDeserializer(Instant.class, RFC3339InstantDeserializer.INSTANT);
|
||||
addDeserializer(OffsetDateTime.class, RFC3339InstantDeserializer.OFFSET_DATE_TIME);
|
||||
addDeserializer(ZonedDateTime.class, RFC3339InstantDeserializer.ZONED_DATE_TIME);
|
||||
}
|
||||
}
|
@ -58,6 +58,8 @@ docs/User.md
|
||||
docs/UserApi.md
|
||||
pom.xml
|
||||
src/main/java/org/openapitools/client/RFC3339DateFormat.java
|
||||
src/main/java/org/openapitools/client/RFC3339InstantDeserializer.java
|
||||
src/main/java/org/openapitools/client/RFC3339JavaTimeModule.java
|
||||
src/main/java/org/openapitools/client/api/AnotherFakeApi.java
|
||||
src/main/java/org/openapitools/client/api/ApiException.java
|
||||
src/main/java/org/openapitools/client/api/ApiExceptionMapper.java
|
||||
|
@ -0,0 +1,100 @@
|
||||
/**
|
||||
* OpenAPI Petstore
|
||||
* This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
||||
*
|
||||
* The version of the OpenAPI document: 1.0.0
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
package org.openapitools.client;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZoneId;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.temporal.Temporal;
|
||||
import java.time.temporal.TemporalAccessor;
|
||||
import java.util.function.BiFunction;
|
||||
import java.util.function.Function;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonParser;
|
||||
import com.fasterxml.jackson.databind.DeserializationContext;
|
||||
import com.fasterxml.jackson.datatype.jsr310.JavaTimeFeature;
|
||||
import com.fasterxml.jackson.datatype.jsr310.deser.InstantDeserializer;
|
||||
|
||||
@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.12.0-SNAPSHOT")
|
||||
public class RFC3339InstantDeserializer<T extends Temporal> extends InstantDeserializer<T> {
|
||||
|
||||
private final static boolean DEFAULT_NORMALIZE_ZONE_ID = JavaTimeFeature.NORMALIZE_DESERIALIZED_ZONE_ID.enabledByDefault();
|
||||
private final static boolean DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
= JavaTimeFeature.ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS.enabledByDefault();
|
||||
|
||||
public static final RFC3339InstantDeserializer<Instant> INSTANT = new RFC3339InstantDeserializer<>(
|
||||
Instant.class, DateTimeFormatter.ISO_INSTANT,
|
||||
Instant::from,
|
||||
a -> Instant.ofEpochMilli( a.value ),
|
||||
a -> Instant.ofEpochSecond( a.integer, a.fraction ),
|
||||
null,
|
||||
true, // yes, replace zero offset with Z
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
public static final RFC3339InstantDeserializer<OffsetDateTime> OFFSET_DATE_TIME = new RFC3339InstantDeserializer<>(
|
||||
OffsetDateTime.class, DateTimeFormatter.ISO_OFFSET_DATE_TIME,
|
||||
OffsetDateTime::from,
|
||||
a -> OffsetDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ),
|
||||
a -> OffsetDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ),
|
||||
(d, z) -> ( d.isEqual( OffsetDateTime.MIN ) || d.isEqual( OffsetDateTime.MAX ) ?
|
||||
d :
|
||||
d.withOffsetSameInstant( z.getRules().getOffset( d.toLocalDateTime() ) ) ),
|
||||
true, // yes, replace zero offset with Z
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
public static final RFC3339InstantDeserializer<ZonedDateTime> ZONED_DATE_TIME = new RFC3339InstantDeserializer<>(
|
||||
ZonedDateTime.class, DateTimeFormatter.ISO_ZONED_DATE_TIME,
|
||||
ZonedDateTime::from,
|
||||
a -> ZonedDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ),
|
||||
a -> ZonedDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ),
|
||||
ZonedDateTime::withZoneSameInstant,
|
||||
false, // keep zero offset and Z separate since zones explicitly supported
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
protected RFC3339InstantDeserializer(
|
||||
Class<T> supportedType,
|
||||
DateTimeFormatter formatter,
|
||||
Function<TemporalAccessor, T> parsedToValue,
|
||||
Function<FromIntegerArguments, T> fromMilliseconds,
|
||||
Function<FromDecimalArguments, T> fromNanoseconds,
|
||||
BiFunction<T, ZoneId, T> adjust,
|
||||
boolean replaceZeroOffsetAsZ,
|
||||
boolean normalizeZoneId,
|
||||
boolean readNumericStringsAsTimestamp) {
|
||||
super(
|
||||
supportedType,
|
||||
formatter,
|
||||
parsedToValue,
|
||||
fromMilliseconds,
|
||||
fromNanoseconds,
|
||||
adjust,
|
||||
replaceZeroOffsetAsZ,
|
||||
normalizeZoneId,
|
||||
readNumericStringsAsTimestamp
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected T _fromString(JsonParser p, DeserializationContext ctxt, String string0) throws IOException {
|
||||
return super._fromString(p, ctxt, string0.replace( ' ', 'T' ));
|
||||
}
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
/**
|
||||
* OpenAPI Petstore
|
||||
* This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
||||
*
|
||||
* The version of the OpenAPI document: 1.0.0
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
package org.openapitools.client;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZonedDateTime;
|
||||
|
||||
import com.fasterxml.jackson.databind.module.SimpleModule;
|
||||
|
||||
@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.12.0-SNAPSHOT")
|
||||
public class RFC3339JavaTimeModule extends SimpleModule {
|
||||
|
||||
public RFC3339JavaTimeModule() {
|
||||
super("RFC3339JavaTimeModule");
|
||||
|
||||
addDeserializer(Instant.class, RFC3339InstantDeserializer.INSTANT);
|
||||
addDeserializer(OffsetDateTime.class, RFC3339InstantDeserializer.OFFSET_DATE_TIME);
|
||||
addDeserializer(ZonedDateTime.class, RFC3339InstantDeserializer.ZONED_DATE_TIME);
|
||||
}
|
||||
}
|
@ -103,6 +103,8 @@ src/main/java/org/openapitools/client/Configuration.java
|
||||
src/main/java/org/openapitools/client/JSON.java
|
||||
src/main/java/org/openapitools/client/Pair.java
|
||||
src/main/java/org/openapitools/client/RFC3339DateFormat.java
|
||||
src/main/java/org/openapitools/client/RFC3339InstantDeserializer.java
|
||||
src/main/java/org/openapitools/client/RFC3339JavaTimeModule.java
|
||||
src/main/java/org/openapitools/client/ServerConfiguration.java
|
||||
src/main/java/org/openapitools/client/ServerVariable.java
|
||||
src/main/java/org/openapitools/client/api/AnotherFakeApi.java
|
||||
|
@ -203,6 +203,7 @@ public class ApiClient {
|
||||
mapper.disable(DeserializationFeature.ADJUST_DATES_TO_CONTEXT_TIME_ZONE);
|
||||
mapper.registerModule(new JavaTimeModule());
|
||||
mapper.registerModule(new JsonNullableModule());
|
||||
mapper.registerModule(new RFC3339JavaTimeModule());
|
||||
return mapper;
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,100 @@
|
||||
/*
|
||||
* OpenAPI Petstore
|
||||
* This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
||||
*
|
||||
* The version of the OpenAPI document: 1.0.0
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
package org.openapitools.client;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZoneId;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.temporal.Temporal;
|
||||
import java.time.temporal.TemporalAccessor;
|
||||
import java.util.function.BiFunction;
|
||||
import java.util.function.Function;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonParser;
|
||||
import com.fasterxml.jackson.databind.DeserializationContext;
|
||||
import com.fasterxml.jackson.datatype.jsr310.JavaTimeFeature;
|
||||
import com.fasterxml.jackson.datatype.jsr310.deser.InstantDeserializer;
|
||||
|
||||
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.12.0-SNAPSHOT")
|
||||
public class RFC3339InstantDeserializer<T extends Temporal> extends InstantDeserializer<T> {
|
||||
|
||||
private final static boolean DEFAULT_NORMALIZE_ZONE_ID = JavaTimeFeature.NORMALIZE_DESERIALIZED_ZONE_ID.enabledByDefault();
|
||||
private final static boolean DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
= JavaTimeFeature.ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS.enabledByDefault();
|
||||
|
||||
public static final RFC3339InstantDeserializer<Instant> INSTANT = new RFC3339InstantDeserializer<>(
|
||||
Instant.class, DateTimeFormatter.ISO_INSTANT,
|
||||
Instant::from,
|
||||
a -> Instant.ofEpochMilli( a.value ),
|
||||
a -> Instant.ofEpochSecond( a.integer, a.fraction ),
|
||||
null,
|
||||
true, // yes, replace zero offset with Z
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
public static final RFC3339InstantDeserializer<OffsetDateTime> OFFSET_DATE_TIME = new RFC3339InstantDeserializer<>(
|
||||
OffsetDateTime.class, DateTimeFormatter.ISO_OFFSET_DATE_TIME,
|
||||
OffsetDateTime::from,
|
||||
a -> OffsetDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ),
|
||||
a -> OffsetDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ),
|
||||
(d, z) -> ( d.isEqual( OffsetDateTime.MIN ) || d.isEqual( OffsetDateTime.MAX ) ?
|
||||
d :
|
||||
d.withOffsetSameInstant( z.getRules().getOffset( d.toLocalDateTime() ) ) ),
|
||||
true, // yes, replace zero offset with Z
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
public static final RFC3339InstantDeserializer<ZonedDateTime> ZONED_DATE_TIME = new RFC3339InstantDeserializer<>(
|
||||
ZonedDateTime.class, DateTimeFormatter.ISO_ZONED_DATE_TIME,
|
||||
ZonedDateTime::from,
|
||||
a -> ZonedDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ),
|
||||
a -> ZonedDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ),
|
||||
ZonedDateTime::withZoneSameInstant,
|
||||
false, // keep zero offset and Z separate since zones explicitly supported
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
protected RFC3339InstantDeserializer(
|
||||
Class<T> supportedType,
|
||||
DateTimeFormatter formatter,
|
||||
Function<TemporalAccessor, T> parsedToValue,
|
||||
Function<FromIntegerArguments, T> fromMilliseconds,
|
||||
Function<FromDecimalArguments, T> fromNanoseconds,
|
||||
BiFunction<T, ZoneId, T> adjust,
|
||||
boolean replaceZeroOffsetAsZ,
|
||||
boolean normalizeZoneId,
|
||||
boolean readNumericStringsAsTimestamp) {
|
||||
super(
|
||||
supportedType,
|
||||
formatter,
|
||||
parsedToValue,
|
||||
fromMilliseconds,
|
||||
fromNanoseconds,
|
||||
adjust,
|
||||
replaceZeroOffsetAsZ,
|
||||
normalizeZoneId,
|
||||
readNumericStringsAsTimestamp
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected T _fromString(JsonParser p, DeserializationContext ctxt, String string0) throws IOException {
|
||||
return super._fromString(p, ctxt, string0.replace( ' ', 'T' ));
|
||||
}
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
/*
|
||||
* OpenAPI Petstore
|
||||
* This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
||||
*
|
||||
* The version of the OpenAPI document: 1.0.0
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
package org.openapitools.client;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZonedDateTime;
|
||||
|
||||
import com.fasterxml.jackson.databind.module.SimpleModule;
|
||||
|
||||
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.12.0-SNAPSHOT")
|
||||
public class RFC3339JavaTimeModule extends SimpleModule {
|
||||
|
||||
public RFC3339JavaTimeModule() {
|
||||
super("RFC3339JavaTimeModule");
|
||||
|
||||
addDeserializer(Instant.class, RFC3339InstantDeserializer.INSTANT);
|
||||
addDeserializer(OffsetDateTime.class, RFC3339InstantDeserializer.OFFSET_DATE_TIME);
|
||||
addDeserializer(ZonedDateTime.class, RFC3339InstantDeserializer.ZONED_DATE_TIME);
|
||||
}
|
||||
}
|
@ -30,6 +30,8 @@ src/main/java/org/openapitools/client/Configuration.java
|
||||
src/main/java/org/openapitools/client/JSON.java
|
||||
src/main/java/org/openapitools/client/Pair.java
|
||||
src/main/java/org/openapitools/client/RFC3339DateFormat.java
|
||||
src/main/java/org/openapitools/client/RFC3339InstantDeserializer.java
|
||||
src/main/java/org/openapitools/client/RFC3339JavaTimeModule.java
|
||||
src/main/java/org/openapitools/client/ServerConfiguration.java
|
||||
src/main/java/org/openapitools/client/ServerVariable.java
|
||||
src/main/java/org/openapitools/client/api/PetApi.java
|
||||
|
@ -203,6 +203,7 @@ public class ApiClient {
|
||||
mapper.disable(DeserializationFeature.ADJUST_DATES_TO_CONTEXT_TIME_ZONE);
|
||||
mapper.registerModule(new JavaTimeModule());
|
||||
mapper.registerModule(new JsonNullableModule());
|
||||
mapper.registerModule(new RFC3339JavaTimeModule());
|
||||
return mapper;
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,100 @@
|
||||
/*
|
||||
* OpenAPI Petstore
|
||||
* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
|
||||
*
|
||||
* The version of the OpenAPI document: 1.0.0
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
package org.openapitools.client;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZoneId;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.temporal.Temporal;
|
||||
import java.time.temporal.TemporalAccessor;
|
||||
import java.util.function.BiFunction;
|
||||
import java.util.function.Function;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonParser;
|
||||
import com.fasterxml.jackson.databind.DeserializationContext;
|
||||
import com.fasterxml.jackson.datatype.jsr310.JavaTimeFeature;
|
||||
import com.fasterxml.jackson.datatype.jsr310.deser.InstantDeserializer;
|
||||
|
||||
@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.12.0-SNAPSHOT")
|
||||
public class RFC3339InstantDeserializer<T extends Temporal> extends InstantDeserializer<T> {
|
||||
|
||||
private final static boolean DEFAULT_NORMALIZE_ZONE_ID = JavaTimeFeature.NORMALIZE_DESERIALIZED_ZONE_ID.enabledByDefault();
|
||||
private final static boolean DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
= JavaTimeFeature.ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS.enabledByDefault();
|
||||
|
||||
public static final RFC3339InstantDeserializer<Instant> INSTANT = new RFC3339InstantDeserializer<>(
|
||||
Instant.class, DateTimeFormatter.ISO_INSTANT,
|
||||
Instant::from,
|
||||
a -> Instant.ofEpochMilli( a.value ),
|
||||
a -> Instant.ofEpochSecond( a.integer, a.fraction ),
|
||||
null,
|
||||
true, // yes, replace zero offset with Z
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
public static final RFC3339InstantDeserializer<OffsetDateTime> OFFSET_DATE_TIME = new RFC3339InstantDeserializer<>(
|
||||
OffsetDateTime.class, DateTimeFormatter.ISO_OFFSET_DATE_TIME,
|
||||
OffsetDateTime::from,
|
||||
a -> OffsetDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ),
|
||||
a -> OffsetDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ),
|
||||
(d, z) -> ( d.isEqual( OffsetDateTime.MIN ) || d.isEqual( OffsetDateTime.MAX ) ?
|
||||
d :
|
||||
d.withOffsetSameInstant( z.getRules().getOffset( d.toLocalDateTime() ) ) ),
|
||||
true, // yes, replace zero offset with Z
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
public static final RFC3339InstantDeserializer<ZonedDateTime> ZONED_DATE_TIME = new RFC3339InstantDeserializer<>(
|
||||
ZonedDateTime.class, DateTimeFormatter.ISO_ZONED_DATE_TIME,
|
||||
ZonedDateTime::from,
|
||||
a -> ZonedDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ),
|
||||
a -> ZonedDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ),
|
||||
ZonedDateTime::withZoneSameInstant,
|
||||
false, // keep zero offset and Z separate since zones explicitly supported
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
protected RFC3339InstantDeserializer(
|
||||
Class<T> supportedType,
|
||||
DateTimeFormatter formatter,
|
||||
Function<TemporalAccessor, T> parsedToValue,
|
||||
Function<FromIntegerArguments, T> fromMilliseconds,
|
||||
Function<FromDecimalArguments, T> fromNanoseconds,
|
||||
BiFunction<T, ZoneId, T> adjust,
|
||||
boolean replaceZeroOffsetAsZ,
|
||||
boolean normalizeZoneId,
|
||||
boolean readNumericStringsAsTimestamp) {
|
||||
super(
|
||||
supportedType,
|
||||
formatter,
|
||||
parsedToValue,
|
||||
fromMilliseconds,
|
||||
fromNanoseconds,
|
||||
adjust,
|
||||
replaceZeroOffsetAsZ,
|
||||
normalizeZoneId,
|
||||
readNumericStringsAsTimestamp
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected T _fromString(JsonParser p, DeserializationContext ctxt, String string0) throws IOException {
|
||||
return super._fromString(p, ctxt, string0.replace( ' ', 'T' ));
|
||||
}
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
/*
|
||||
* OpenAPI Petstore
|
||||
* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
|
||||
*
|
||||
* The version of the OpenAPI document: 1.0.0
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
package org.openapitools.client;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZonedDateTime;
|
||||
|
||||
import com.fasterxml.jackson.databind.module.SimpleModule;
|
||||
|
||||
@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.12.0-SNAPSHOT")
|
||||
public class RFC3339JavaTimeModule extends SimpleModule {
|
||||
|
||||
public RFC3339JavaTimeModule() {
|
||||
super("RFC3339JavaTimeModule");
|
||||
|
||||
addDeserializer(Instant.class, RFC3339InstantDeserializer.INSTANT);
|
||||
addDeserializer(OffsetDateTime.class, RFC3339InstantDeserializer.OFFSET_DATE_TIME);
|
||||
addDeserializer(ZonedDateTime.class, RFC3339InstantDeserializer.ZONED_DATE_TIME);
|
||||
}
|
||||
}
|
@ -103,6 +103,8 @@ src/main/java/org/openapitools/client/Configuration.java
|
||||
src/main/java/org/openapitools/client/JSON.java
|
||||
src/main/java/org/openapitools/client/Pair.java
|
||||
src/main/java/org/openapitools/client/RFC3339DateFormat.java
|
||||
src/main/java/org/openapitools/client/RFC3339InstantDeserializer.java
|
||||
src/main/java/org/openapitools/client/RFC3339JavaTimeModule.java
|
||||
src/main/java/org/openapitools/client/ServerConfiguration.java
|
||||
src/main/java/org/openapitools/client/ServerVariable.java
|
||||
src/main/java/org/openapitools/client/api/AnotherFakeApi.java
|
||||
|
@ -203,6 +203,7 @@ public class ApiClient {
|
||||
mapper.disable(DeserializationFeature.ADJUST_DATES_TO_CONTEXT_TIME_ZONE);
|
||||
mapper.registerModule(new JavaTimeModule());
|
||||
mapper.registerModule(new JsonNullableModule());
|
||||
mapper.registerModule(new RFC3339JavaTimeModule());
|
||||
return mapper;
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,100 @@
|
||||
/*
|
||||
* OpenAPI Petstore
|
||||
* This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
||||
*
|
||||
* The version of the OpenAPI document: 1.0.0
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
package org.openapitools.client;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZoneId;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.temporal.Temporal;
|
||||
import java.time.temporal.TemporalAccessor;
|
||||
import java.util.function.BiFunction;
|
||||
import java.util.function.Function;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonParser;
|
||||
import com.fasterxml.jackson.databind.DeserializationContext;
|
||||
import com.fasterxml.jackson.datatype.jsr310.JavaTimeFeature;
|
||||
import com.fasterxml.jackson.datatype.jsr310.deser.InstantDeserializer;
|
||||
|
||||
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.12.0-SNAPSHOT")
|
||||
public class RFC3339InstantDeserializer<T extends Temporal> extends InstantDeserializer<T> {
|
||||
|
||||
private final static boolean DEFAULT_NORMALIZE_ZONE_ID = JavaTimeFeature.NORMALIZE_DESERIALIZED_ZONE_ID.enabledByDefault();
|
||||
private final static boolean DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
= JavaTimeFeature.ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS.enabledByDefault();
|
||||
|
||||
public static final RFC3339InstantDeserializer<Instant> INSTANT = new RFC3339InstantDeserializer<>(
|
||||
Instant.class, DateTimeFormatter.ISO_INSTANT,
|
||||
Instant::from,
|
||||
a -> Instant.ofEpochMilli( a.value ),
|
||||
a -> Instant.ofEpochSecond( a.integer, a.fraction ),
|
||||
null,
|
||||
true, // yes, replace zero offset with Z
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
public static final RFC3339InstantDeserializer<OffsetDateTime> OFFSET_DATE_TIME = new RFC3339InstantDeserializer<>(
|
||||
OffsetDateTime.class, DateTimeFormatter.ISO_OFFSET_DATE_TIME,
|
||||
OffsetDateTime::from,
|
||||
a -> OffsetDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ),
|
||||
a -> OffsetDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ),
|
||||
(d, z) -> ( d.isEqual( OffsetDateTime.MIN ) || d.isEqual( OffsetDateTime.MAX ) ?
|
||||
d :
|
||||
d.withOffsetSameInstant( z.getRules().getOffset( d.toLocalDateTime() ) ) ),
|
||||
true, // yes, replace zero offset with Z
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
public static final RFC3339InstantDeserializer<ZonedDateTime> ZONED_DATE_TIME = new RFC3339InstantDeserializer<>(
|
||||
ZonedDateTime.class, DateTimeFormatter.ISO_ZONED_DATE_TIME,
|
||||
ZonedDateTime::from,
|
||||
a -> ZonedDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ),
|
||||
a -> ZonedDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ),
|
||||
ZonedDateTime::withZoneSameInstant,
|
||||
false, // keep zero offset and Z separate since zones explicitly supported
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
protected RFC3339InstantDeserializer(
|
||||
Class<T> supportedType,
|
||||
DateTimeFormatter formatter,
|
||||
Function<TemporalAccessor, T> parsedToValue,
|
||||
Function<FromIntegerArguments, T> fromMilliseconds,
|
||||
Function<FromDecimalArguments, T> fromNanoseconds,
|
||||
BiFunction<T, ZoneId, T> adjust,
|
||||
boolean replaceZeroOffsetAsZ,
|
||||
boolean normalizeZoneId,
|
||||
boolean readNumericStringsAsTimestamp) {
|
||||
super(
|
||||
supportedType,
|
||||
formatter,
|
||||
parsedToValue,
|
||||
fromMilliseconds,
|
||||
fromNanoseconds,
|
||||
adjust,
|
||||
replaceZeroOffsetAsZ,
|
||||
normalizeZoneId,
|
||||
readNumericStringsAsTimestamp
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected T _fromString(JsonParser p, DeserializationContext ctxt, String string0) throws IOException {
|
||||
return super._fromString(p, ctxt, string0.replace( ' ', 'T' ));
|
||||
}
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
/*
|
||||
* OpenAPI Petstore
|
||||
* This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
||||
*
|
||||
* The version of the OpenAPI document: 1.0.0
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
package org.openapitools.client;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZonedDateTime;
|
||||
|
||||
import com.fasterxml.jackson.databind.module.SimpleModule;
|
||||
|
||||
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.12.0-SNAPSHOT")
|
||||
public class RFC3339JavaTimeModule extends SimpleModule {
|
||||
|
||||
public RFC3339JavaTimeModule() {
|
||||
super("RFC3339JavaTimeModule");
|
||||
|
||||
addDeserializer(Instant.class, RFC3339InstantDeserializer.INSTANT);
|
||||
addDeserializer(OffsetDateTime.class, RFC3339InstantDeserializer.OFFSET_DATE_TIME);
|
||||
addDeserializer(ZonedDateTime.class, RFC3339InstantDeserializer.ZONED_DATE_TIME);
|
||||
}
|
||||
}
|
@ -69,6 +69,8 @@ src/main/java/org/openapitools/client/ApiClient.java
|
||||
src/main/java/org/openapitools/client/BeanValidationException.java
|
||||
src/main/java/org/openapitools/client/JacksonObjectMapper.java
|
||||
src/main/java/org/openapitools/client/RFC3339DateFormat.java
|
||||
src/main/java/org/openapitools/client/RFC3339InstantDeserializer.java
|
||||
src/main/java/org/openapitools/client/RFC3339JavaTimeModule.java
|
||||
src/main/java/org/openapitools/client/ResponseSpecBuilders.java
|
||||
src/main/java/org/openapitools/client/ServerConfiguration.java
|
||||
src/main/java/org/openapitools/client/ServerVariable.java
|
||||
|
@ -0,0 +1,100 @@
|
||||
/*
|
||||
* OpenAPI Petstore
|
||||
* This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
||||
*
|
||||
* The version of the OpenAPI document: 1.0.0
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
package org.openapitools.client;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZoneId;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.temporal.Temporal;
|
||||
import java.time.temporal.TemporalAccessor;
|
||||
import java.util.function.BiFunction;
|
||||
import java.util.function.Function;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonParser;
|
||||
import com.fasterxml.jackson.databind.DeserializationContext;
|
||||
import com.fasterxml.jackson.datatype.jsr310.JavaTimeFeature;
|
||||
import com.fasterxml.jackson.datatype.jsr310.deser.InstantDeserializer;
|
||||
|
||||
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.12.0-SNAPSHOT")
|
||||
public class RFC3339InstantDeserializer<T extends Temporal> extends InstantDeserializer<T> {
|
||||
|
||||
private final static boolean DEFAULT_NORMALIZE_ZONE_ID = JavaTimeFeature.NORMALIZE_DESERIALIZED_ZONE_ID.enabledByDefault();
|
||||
private final static boolean DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
= JavaTimeFeature.ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS.enabledByDefault();
|
||||
|
||||
public static final RFC3339InstantDeserializer<Instant> INSTANT = new RFC3339InstantDeserializer<>(
|
||||
Instant.class, DateTimeFormatter.ISO_INSTANT,
|
||||
Instant::from,
|
||||
a -> Instant.ofEpochMilli( a.value ),
|
||||
a -> Instant.ofEpochSecond( a.integer, a.fraction ),
|
||||
null,
|
||||
true, // yes, replace zero offset with Z
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
public static final RFC3339InstantDeserializer<OffsetDateTime> OFFSET_DATE_TIME = new RFC3339InstantDeserializer<>(
|
||||
OffsetDateTime.class, DateTimeFormatter.ISO_OFFSET_DATE_TIME,
|
||||
OffsetDateTime::from,
|
||||
a -> OffsetDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ),
|
||||
a -> OffsetDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ),
|
||||
(d, z) -> ( d.isEqual( OffsetDateTime.MIN ) || d.isEqual( OffsetDateTime.MAX ) ?
|
||||
d :
|
||||
d.withOffsetSameInstant( z.getRules().getOffset( d.toLocalDateTime() ) ) ),
|
||||
true, // yes, replace zero offset with Z
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
public static final RFC3339InstantDeserializer<ZonedDateTime> ZONED_DATE_TIME = new RFC3339InstantDeserializer<>(
|
||||
ZonedDateTime.class, DateTimeFormatter.ISO_ZONED_DATE_TIME,
|
||||
ZonedDateTime::from,
|
||||
a -> ZonedDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ),
|
||||
a -> ZonedDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ),
|
||||
ZonedDateTime::withZoneSameInstant,
|
||||
false, // keep zero offset and Z separate since zones explicitly supported
|
||||
DEFAULT_NORMALIZE_ZONE_ID,
|
||||
DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS
|
||||
);
|
||||
|
||||
protected RFC3339InstantDeserializer(
|
||||
Class<T> supportedType,
|
||||
DateTimeFormatter formatter,
|
||||
Function<TemporalAccessor, T> parsedToValue,
|
||||
Function<FromIntegerArguments, T> fromMilliseconds,
|
||||
Function<FromDecimalArguments, T> fromNanoseconds,
|
||||
BiFunction<T, ZoneId, T> adjust,
|
||||
boolean replaceZeroOffsetAsZ,
|
||||
boolean normalizeZoneId,
|
||||
boolean readNumericStringsAsTimestamp) {
|
||||
super(
|
||||
supportedType,
|
||||
formatter,
|
||||
parsedToValue,
|
||||
fromMilliseconds,
|
||||
fromNanoseconds,
|
||||
adjust,
|
||||
replaceZeroOffsetAsZ,
|
||||
normalizeZoneId,
|
||||
readNumericStringsAsTimestamp
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected T _fromString(JsonParser p, DeserializationContext ctxt, String string0) throws IOException {
|
||||
return super._fromString(p, ctxt, string0.replace( ' ', 'T' ));
|
||||
}
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
/*
|
||||
* OpenAPI Petstore
|
||||
* This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
||||
*
|
||||
* The version of the OpenAPI document: 1.0.0
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
package org.openapitools.client;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.ZonedDateTime;
|
||||
|
||||
import com.fasterxml.jackson.databind.module.SimpleModule;
|
||||
|
||||
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.12.0-SNAPSHOT")
|
||||
public class RFC3339JavaTimeModule extends SimpleModule {
|
||||
|
||||
public RFC3339JavaTimeModule() {
|
||||
super("RFC3339JavaTimeModule");
|
||||
|
||||
addDeserializer(Instant.class, RFC3339InstantDeserializer.INSTANT);
|
||||
addDeserializer(OffsetDateTime.class, RFC3339InstantDeserializer.OFFSET_DATE_TIME);
|
||||
addDeserializer(ZonedDateTime.class, RFC3339InstantDeserializer.ZONED_DATE_TIME);
|
||||
}
|
||||
}
|
@ -19,6 +19,8 @@ src/main/AndroidManifest.xml
|
||||
src/main/java/org/openapitools/client/ApiClient.java
|
||||
src/main/java/org/openapitools/client/JavaTimeFormatter.java
|
||||
src/main/java/org/openapitools/client/RFC3339DateFormat.java
|
||||
src/main/java/org/openapitools/client/RFC3339InstantDeserializer.java
|
||||
src/main/java/org/openapitools/client/RFC3339JavaTimeModule.java
|
||||
src/main/java/org/openapitools/client/ServerConfiguration.java
|
||||
src/main/java/org/openapitools/client/ServerVariable.java
|
||||
src/main/java/org/openapitools/client/StringUtil.java
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user