diff --git a/conjure-java-core/src/integrationInput/java/dialogue/com/palantir/product/EmptyPathServiceAsync.java b/conjure-java-core/src/integrationInput/java/dialogue/com/palantir/product/EmptyPathServiceAsync.java index 1cb0a894e..265eb5012 100644 --- a/conjure-java-core/src/integrationInput/java/dialogue/com/palantir/product/EmptyPathServiceAsync.java +++ b/conjure-java-core/src/integrationInput/java/dialogue/com/palantir/product/EmptyPathServiceAsync.java @@ -28,18 +28,20 @@ public interface EmptyPathServiceAsync { /** Creates an asynchronous/non-blocking client for a EmptyPathService service. */ static EmptyPathServiceAsync of(EndpointChannelFactory _endpointChannelFactory, ConjureRuntime _runtime) { return new EmptyPathServiceAsync() { + private static final TypeMarker booleanTypeMarker = new TypeMarker() {}; + private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); + private final Deserializer booleanDeserializer = + _runtime.bodySerDe().deserializer(booleanTypeMarker); + private final EndpointChannel emptyPathChannel = _endpointChannelFactory.endpoint(DialogueEmptyPathEndpoints.emptyPath); - private final Deserializer emptyPathDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - @Override public ListenableFuture emptyPath() { Request.Builder _request = Request.builder(); - return _runtime.clients().call(emptyPathChannel, _request.build(), emptyPathDeserializer); + return _runtime.clients().call(emptyPathChannel, _request.build(), booleanDeserializer); } @Override diff --git a/conjure-java-core/src/integrationInput/java/dialogue/com/palantir/product/EmptyPathServiceBlocking.java b/conjure-java-core/src/integrationInput/java/dialogue/com/palantir/product/EmptyPathServiceBlocking.java index 38a0f3426..b24d281ce 100644 --- a/conjure-java-core/src/integrationInput/java/dialogue/com/palantir/product/EmptyPathServiceBlocking.java +++ b/conjure-java-core/src/integrationInput/java/dialogue/com/palantir/product/EmptyPathServiceBlocking.java @@ -27,18 +27,20 @@ public interface EmptyPathServiceBlocking { /** Creates a synchronous/blocking client for a EmptyPathService service. */ static EmptyPathServiceBlocking of(EndpointChannelFactory _endpointChannelFactory, ConjureRuntime _runtime) { return new EmptyPathServiceBlocking() { + private static final TypeMarker booleanTypeMarker = new TypeMarker() {}; + private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); + private final Deserializer booleanDeserializer = + _runtime.bodySerDe().deserializer(booleanTypeMarker); + private final EndpointChannel emptyPathChannel = _endpointChannelFactory.endpoint(DialogueEmptyPathEndpoints.emptyPath); - private final Deserializer emptyPathDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - @Override public boolean emptyPath() { Request.Builder _request = Request.builder(); - return _runtime.clients().callBlocking(emptyPathChannel, _request.build(), emptyPathDeserializer); + return _runtime.clients().callBlocking(emptyPathChannel, _request.build(), booleanDeserializer); } @Override diff --git a/conjure-java-core/src/integrationInput/java/dialogue/com/palantir/product/EteServiceAsync.java b/conjure-java-core/src/integrationInput/java/dialogue/com/palantir/product/EteServiceAsync.java index 93a903775..9a792c652 100644 --- a/conjure-java-core/src/integrationInput/java/dialogue/com/palantir/product/EteServiceAsync.java +++ b/conjure-java-core/src/integrationInput/java/dialogue/com/palantir/product/EteServiceAsync.java @@ -218,112 +218,179 @@ ListenableFuture complexQueryParameters( /** Creates an asynchronous/non-blocking client for a EteService service. */ static EteServiceAsync of(EndpointChannelFactory _endpointChannelFactory, ConjureRuntime _runtime) { return new EteServiceAsync() { - private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); + private static final TypeMarker stringTypeMarker = new TypeMarker() {}; - private final EndpointChannel stringChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.string); + private static final TypeMarker integerTypeMarker = new TypeMarker() {}; + + private static final TypeMarker doubleTypeMarker = new TypeMarker() {}; + + private static final TypeMarker booleanTypeMarker = new TypeMarker() {}; + + private static final TypeMarker safeLongTypeMarker = new TypeMarker() {}; + + private static final TypeMarker resourceIdentifierTypeMarker = + new TypeMarker() {}; + + private static final TypeMarker bearerTokenTypeMarker = new TypeMarker() {}; + + private static final TypeMarker> optionalStringTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker offsetDateTimeTypeMarker = + new TypeMarker() {}; + + private static final TypeMarker longTypeMarker = new TypeMarker() {}; + + private static final TypeMarker> optionalLongTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker stringAliasExampleTypeMarker = + new TypeMarker() {}; + + private static final TypeMarker nestedStringAliasExampleTypeMarker = + new TypeMarker() {}; + + private static final TypeMarker + stringAliasExample1pxrnbvTypeMarker = + new TypeMarker() {}; + + private static final TypeMarker> + optionalStringAliasExampleTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker simpleEnumTypeMarker = new TypeMarker() {}; + + private static final TypeMarker> listSimpleEnumTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker> optionalSimpleEnumTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker> optionalLongAliasTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker simpleUnionTypeMarker = new TypeMarker() {}; + + private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); private final Deserializer stringDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); + _runtime.bodySerDe().deserializer(stringTypeMarker); + + private final Deserializer integerDeserializer = + _runtime.bodySerDe().deserializer(integerTypeMarker); + + private final Deserializer doubleDeserializer = + _runtime.bodySerDe().deserializer(doubleTypeMarker); + + private final Deserializer booleanDeserializer = + _runtime.bodySerDe().deserializer(booleanTypeMarker); + + private final Deserializer safeLongDeserializer = + _runtime.bodySerDe().deserializer(safeLongTypeMarker); + + private final Deserializer resourceIdentifierDeserializer = + _runtime.bodySerDe().deserializer(resourceIdentifierTypeMarker); + + private final Deserializer bearerTokenDeserializer = + _runtime.bodySerDe().deserializer(bearerTokenTypeMarker); + + private final Deserializer> optionalStringDeserializer = + _runtime.bodySerDe().deserializer(optionalStringTypeMarker); + + private final Deserializer offsetDateTimeDeserializer = + _runtime.bodySerDe().deserializer(offsetDateTimeTypeMarker); + + private final Deserializer longDeserializer = + _runtime.bodySerDe().deserializer(longTypeMarker); + + private final Deserializer> optionalLongDeserializer = + _runtime.bodySerDe().deserializer(optionalLongTypeMarker); + + private final Deserializer stringAliasExampleDeserializer = + _runtime.bodySerDe().deserializer(stringAliasExampleTypeMarker); + + private final Deserializer nestedStringAliasExampleDeserializer = + _runtime.bodySerDe().deserializer(nestedStringAliasExampleTypeMarker); + + private final Deserializer + stringAliasExample1pxrnbvDeserializer = + _runtime.bodySerDe().deserializer(stringAliasExample1pxrnbvTypeMarker); + + private final Deserializer> + optionalStringAliasExampleDeserializer = + _runtime.bodySerDe().deserializer(optionalStringAliasExampleTypeMarker); + + private final Deserializer voidDeserializer = + _runtime.bodySerDe().emptyBodyDeserializer(); + + private final Deserializer simpleEnumDeserializer = + _runtime.bodySerDe().deserializer(simpleEnumTypeMarker); + + private final Deserializer> listSimpleEnumDeserializer = + _runtime.bodySerDe().deserializer(listSimpleEnumTypeMarker); + + private final Deserializer> optionalSimpleEnumDeserializer = + _runtime.bodySerDe().deserializer(optionalSimpleEnumTypeMarker); + + private final Deserializer> optionalLongAliasDeserializer = + _runtime.bodySerDe().deserializer(optionalLongAliasTypeMarker); + + private final Deserializer simpleUnionDeserializer = + _runtime.bodySerDe().deserializer(simpleUnionTypeMarker); + + private final EndpointChannel stringChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.string); private final EndpointChannel integerChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.integer); - private final Deserializer integerDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel double_Channel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.double_); - private final Deserializer double_Deserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel boolean_Channel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.boolean_); - private final Deserializer boolean_Deserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel safelongChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.safelong); - private final Deserializer safelongDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel ridChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.rid); - private final Deserializer ridDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel bearertokenChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.bearertoken); - private final Deserializer bearertokenDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel optionalStringChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalString); - private final Deserializer> optionalStringDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel optionalEmptyChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalEmpty); - private final Deserializer> optionalEmptyDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel datetimeChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.datetime); - private final Deserializer datetimeDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel binaryChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.binary); private final EndpointChannel pathChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.path); - private final Deserializer pathDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel externalLongPathChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.externalLongPath); - private final Deserializer externalLongPathDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel optionalExternalLongQueryChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalExternalLongQuery); - private final Deserializer> optionalExternalLongQueryDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final Serializer notNullBodySerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel notNullBodyChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.notNullBody); - private final Deserializer notNullBodyDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel aliasOneChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.aliasOne); - private final Deserializer aliasOneDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel optionalAliasOneChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalAliasOne); - private final Deserializer optionalAliasOneDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel aliasTwoChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.aliasTwo); - private final Deserializer aliasTwoDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final Serializer notNullBodyExternalImportSerializer = _runtime.bodySerDe() .serializer(new TypeMarker() {}); @@ -331,10 +398,6 @@ static EteServiceAsync of(EndpointChannelFactory _endpointChannelFactory, Conjur private final EndpointChannel notNullBodyExternalImportChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.notNullBodyExternalImport); - private final Deserializer - notNullBodyExternalImportDeserializer = _runtime.bodySerDe() - .deserializer(new TypeMarker() {}); - private final Serializer> optionalBodyExternalImportSerializer = _runtime.bodySerDe() .serializer( @@ -343,108 +406,59 @@ static EteServiceAsync of(EndpointChannelFactory _endpointChannelFactory, Conjur private final EndpointChannel optionalBodyExternalImportChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalBodyExternalImport); - private final Deserializer> - optionalBodyExternalImportDeserializer = _runtime.bodySerDe() - .deserializer( - new TypeMarker>() {}); - private final EndpointChannel optionalQueryExternalImportChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalQueryExternalImport); - private final Deserializer> - optionalQueryExternalImportDeserializer = _runtime.bodySerDe() - .deserializer( - new TypeMarker>() {}); - private final EndpointChannel noReturnChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.noReturn); - private final Deserializer noReturnDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - private final EndpointChannel enumQueryChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.enumQuery); - private final Deserializer enumQueryDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel enumListQueryChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.enumListQuery); - private final Deserializer> enumListQueryDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel optionalEnumQueryChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalEnumQuery); - private final Deserializer> optionalEnumQueryDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel enumHeaderChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.enumHeader); - private final Deserializer enumHeaderDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel jsonErrorsHeaderChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.jsonErrorsHeader); - private final Deserializer jsonErrorsHeaderDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel errorParameterSerializationChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.errorParameterSerialization); - private final Deserializer errorParameterSerializationDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel aliasLongEndpointChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.aliasLongEndpoint); - private final Deserializer> aliasLongEndpointDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel complexQueryParametersChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.complexQueryParameters); - private final Deserializer complexQueryParametersDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - private final Serializer>> receiveListOfOptionalsSerializer = _runtime.bodySerDe().serializer(new TypeMarker>>() {}); private final EndpointChannel receiveListOfOptionalsChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.receiveListOfOptionals); - private final Deserializer receiveListOfOptionalsDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - private final Serializer>> receiveSetOfOptionalsSerializer = _runtime.bodySerDe().serializer(new TypeMarker>>() {}); private final EndpointChannel receiveSetOfOptionalsChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.receiveSetOfOptionals); - private final Deserializer receiveSetOfOptionalsDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - private final Serializer> receiveListOfStringsSerializer = _runtime.bodySerDe().serializer(new TypeMarker>() {}); private final EndpointChannel receiveListOfStringsChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.receiveListOfStrings); - private final Deserializer receiveListOfStringsDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - private final Serializer unionSerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel unionChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.union); - private final Deserializer unionDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - @Override public ListenableFuture string(AuthHeader authHeader) { Request.Builder _request = Request.builder(); @@ -463,35 +477,35 @@ public ListenableFuture integer(AuthHeader authHeader) { public ListenableFuture double_(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); - return _runtime.clients().call(double_Channel, _request.build(), double_Deserializer); + return _runtime.clients().call(double_Channel, _request.build(), doubleDeserializer); } @Override public ListenableFuture boolean_(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); - return _runtime.clients().call(boolean_Channel, _request.build(), boolean_Deserializer); + return _runtime.clients().call(boolean_Channel, _request.build(), booleanDeserializer); } @Override public ListenableFuture safelong(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); - return _runtime.clients().call(safelongChannel, _request.build(), safelongDeserializer); + return _runtime.clients().call(safelongChannel, _request.build(), safeLongDeserializer); } @Override public ListenableFuture rid(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); - return _runtime.clients().call(ridChannel, _request.build(), ridDeserializer); + return _runtime.clients().call(ridChannel, _request.build(), resourceIdentifierDeserializer); } @Override public ListenableFuture bearertoken(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); - return _runtime.clients().call(bearertokenChannel, _request.build(), bearertokenDeserializer); + return _runtime.clients().call(bearertokenChannel, _request.build(), bearerTokenDeserializer); } @Override @@ -505,14 +519,14 @@ public ListenableFuture> optionalString(AuthHeader authHeader) public ListenableFuture> optionalEmpty(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); - return _runtime.clients().call(optionalEmptyChannel, _request.build(), optionalEmptyDeserializer); + return _runtime.clients().call(optionalEmptyChannel, _request.build(), optionalStringDeserializer); } @Override public ListenableFuture datetime(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); - return _runtime.clients().call(datetimeChannel, _request.build(), datetimeDeserializer); + return _runtime.clients().call(datetimeChannel, _request.build(), offsetDateTimeDeserializer); } @Override @@ -531,7 +545,7 @@ public ListenableFuture path(AuthHeader authHeader, String param) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.putPathParams("param", _plainSerDe.serializeString(param)); - return _runtime.clients().call(pathChannel, _request.build(), pathDeserializer); + return _runtime.clients().call(pathChannel, _request.build(), stringDeserializer); } @Override @@ -539,7 +553,7 @@ public ListenableFuture externalLongPath(AuthHeader authHeader, long param Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.putPathParams("param", Objects.toString(param)); - return _runtime.clients().call(externalLongPathChannel, _request.build(), externalLongPathDeserializer); + return _runtime.clients().call(externalLongPathChannel, _request.build(), longDeserializer); } @Override @@ -551,10 +565,7 @@ public ListenableFuture> optionalExternalLongQuery( _request.putQueryParams("param", Objects.toString(param.get())); } return _runtime.clients() - .call( - optionalExternalLongQueryChannel, - _request.build(), - optionalExternalLongQueryDeserializer); + .call(optionalExternalLongQueryChannel, _request.build(), optionalLongDeserializer); } @Override @@ -563,7 +574,7 @@ public ListenableFuture notNullBody( Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.body(notNullBodySerializer.serialize(notNullBody)); - return _runtime.clients().call(notNullBodyChannel, _request.build(), notNullBodyDeserializer); + return _runtime.clients().call(notNullBodyChannel, _request.build(), stringAliasExampleDeserializer); } @Override @@ -572,7 +583,7 @@ public ListenableFuture aliasOne( Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.putQueryParams("queryParamName", _plainSerDe.serializeString(queryParamName.get())); - return _runtime.clients().call(aliasOneChannel, _request.build(), aliasOneDeserializer); + return _runtime.clients().call(aliasOneChannel, _request.build(), stringAliasExampleDeserializer); } @Override @@ -585,7 +596,8 @@ public ListenableFuture optionalAliasOne( "queryParamName", _plainSerDe.serializeString(queryParamName.get().get())); } - return _runtime.clients().call(optionalAliasOneChannel, _request.build(), optionalAliasOneDeserializer); + return _runtime.clients() + .call(optionalAliasOneChannel, _request.build(), stringAliasExampleDeserializer); } @Override @@ -596,7 +608,7 @@ public ListenableFuture aliasTwo( _request.putQueryParams( "queryParamName", _plainSerDe.serializeString(queryParamName.get().get())); - return _runtime.clients().call(aliasTwoChannel, _request.build(), aliasTwoDeserializer); + return _runtime.clients().call(aliasTwoChannel, _request.build(), nestedStringAliasExampleDeserializer); } @Override @@ -609,7 +621,7 @@ public ListenableFuture not .call( notNullBodyExternalImportChannel, _request.build(), - notNullBodyExternalImportDeserializer); + stringAliasExample1pxrnbvDeserializer); } @Override @@ -623,7 +635,7 @@ public ListenableFuture not .call( optionalBodyExternalImportChannel, _request.build(), - optionalBodyExternalImportDeserializer); + optionalStringAliasExampleDeserializer); } @Override @@ -640,14 +652,14 @@ public ListenableFuture not .call( optionalQueryExternalImportChannel, _request.build(), - optionalQueryExternalImportDeserializer); + optionalStringAliasExampleDeserializer); } @Override public ListenableFuture noReturn(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); - return _runtime.clients().call(noReturnChannel, _request.build(), noReturnDeserializer); + return _runtime.clients().call(noReturnChannel, _request.build(), voidDeserializer); } @Override @@ -655,7 +667,7 @@ public ListenableFuture enumQuery(AuthHeader authHeader, SimpleEnum Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.putQueryParams("queryParamName", Objects.toString(queryParamName)); - return _runtime.clients().call(enumQueryChannel, _request.build(), enumQueryDeserializer); + return _runtime.clients().call(enumQueryChannel, _request.build(), simpleEnumDeserializer); } @Override @@ -666,7 +678,7 @@ public ListenableFuture> enumListQuery( for (SimpleEnum queryParamNameElement : queryParamName) { _request.putQueryParams("queryParamName", Objects.toString(queryParamNameElement)); } - return _runtime.clients().call(enumListQueryChannel, _request.build(), enumListQueryDeserializer); + return _runtime.clients().call(enumListQueryChannel, _request.build(), listSimpleEnumDeserializer); } @Override @@ -678,7 +690,7 @@ public ListenableFuture> optionalEnumQuery( _request.putQueryParams("queryParamName", Objects.toString(queryParamName.get())); } return _runtime.clients() - .call(optionalEnumQueryChannel, _request.build(), optionalEnumQueryDeserializer); + .call(optionalEnumQueryChannel, _request.build(), optionalSimpleEnumDeserializer); } @Override @@ -686,7 +698,7 @@ public ListenableFuture enumHeader(AuthHeader authHeader, SimpleEnum Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.putHeaderParams("Custom-Header", Objects.toString(headerParameter)); - return _runtime.clients().call(enumHeaderChannel, _request.build(), enumHeaderDeserializer); + return _runtime.clients().call(enumHeaderChannel, _request.build(), simpleEnumDeserializer); } @Override @@ -695,7 +707,7 @@ public ListenableFuture jsonErrorsHeader(AuthHeader authHeader, String h _request.putHeaderParams("Authorization", authHeader.toString()); _request.putHeaderParams( "Accept-Conjure-Error-Parameter-Format", _plainSerDe.serializeString(headerParameter)); - return _runtime.clients().call(jsonErrorsHeaderChannel, _request.build(), jsonErrorsHeaderDeserializer); + return _runtime.clients().call(jsonErrorsHeaderChannel, _request.build(), stringDeserializer); } @Override @@ -705,10 +717,7 @@ public ListenableFuture errorParameterSerialization(AuthHeader authHeade _request.putHeaderParams( "Accept-Conjure-Error-Parameter-Format", _plainSerDe.serializeString(headerParameter)); return _runtime.clients() - .call( - errorParameterSerializationChannel, - _request.build(), - errorParameterSerializationDeserializer); + .call(errorParameterSerializationChannel, _request.build(), stringDeserializer); } @Override @@ -721,7 +730,7 @@ public ListenableFuture> aliasLongEndpoint( "input", Objects.toString(input.get().get())); } return _runtime.clients() - .call(aliasLongEndpointChannel, _request.build(), aliasLongEndpointDeserializer); + .call(aliasLongEndpointChannel, _request.build(), optionalLongAliasDeserializer); } @Override @@ -743,8 +752,7 @@ public ListenableFuture complexQueryParameters( for (int intsElement : ints) { _request.putQueryParams("ints", _plainSerDe.serializeInteger(intsElement)); } - return _runtime.clients() - .call(complexQueryParametersChannel, _request.build(), complexQueryParametersDeserializer); + return _runtime.clients().call(complexQueryParametersChannel, _request.build(), voidDeserializer); } @Override @@ -752,8 +760,7 @@ public ListenableFuture receiveListOfOptionals(AuthHeader authHeader, List Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.body(receiveListOfOptionalsSerializer.serialize(value)); - return _runtime.clients() - .call(receiveListOfOptionalsChannel, _request.build(), receiveListOfOptionalsDeserializer); + return _runtime.clients().call(receiveListOfOptionalsChannel, _request.build(), voidDeserializer); } @Override @@ -761,8 +768,7 @@ public ListenableFuture receiveSetOfOptionals(AuthHeader authHeader, Set receiveListOfStrings(AuthHeader authHeader, List union(AuthHeader authHeader, SimpleUnion va Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.body(unionSerializer.serialize(value)); - return _runtime.clients().call(unionChannel, _request.build(), unionDeserializer); + return _runtime.clients().call(unionChannel, _request.build(), simpleUnionDeserializer); } @Override diff --git a/conjure-java-core/src/integrationInput/java/dialogue/com/palantir/product/EteServiceBlocking.java b/conjure-java-core/src/integrationInput/java/dialogue/com/palantir/product/EteServiceBlocking.java index ecdd91f48..3568f181b 100644 --- a/conjure-java-core/src/integrationInput/java/dialogue/com/palantir/product/EteServiceBlocking.java +++ b/conjure-java-core/src/integrationInput/java/dialogue/com/palantir/product/EteServiceBlocking.java @@ -217,112 +217,179 @@ void complexQueryParameters( /** Creates a synchronous/blocking client for a EteService service. */ static EteServiceBlocking of(EndpointChannelFactory _endpointChannelFactory, ConjureRuntime _runtime) { return new EteServiceBlocking() { - private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); + private static final TypeMarker stringTypeMarker = new TypeMarker() {}; - private final EndpointChannel stringChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.string); + private static final TypeMarker integerTypeMarker = new TypeMarker() {}; + + private static final TypeMarker doubleTypeMarker = new TypeMarker() {}; + + private static final TypeMarker booleanTypeMarker = new TypeMarker() {}; + + private static final TypeMarker safeLongTypeMarker = new TypeMarker() {}; + + private static final TypeMarker resourceIdentifierTypeMarker = + new TypeMarker() {}; + + private static final TypeMarker bearerTokenTypeMarker = new TypeMarker() {}; + + private static final TypeMarker> optionalStringTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker offsetDateTimeTypeMarker = + new TypeMarker() {}; + + private static final TypeMarker longTypeMarker = new TypeMarker() {}; + + private static final TypeMarker> optionalLongTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker stringAliasExampleTypeMarker = + new TypeMarker() {}; + + private static final TypeMarker nestedStringAliasExampleTypeMarker = + new TypeMarker() {}; + + private static final TypeMarker + stringAliasExample1pxrnbvTypeMarker = + new TypeMarker() {}; + + private static final TypeMarker> + optionalStringAliasExampleTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker simpleEnumTypeMarker = new TypeMarker() {}; + + private static final TypeMarker> listSimpleEnumTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker> optionalSimpleEnumTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker> optionalLongAliasTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker simpleUnionTypeMarker = new TypeMarker() {}; + + private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); private final Deserializer stringDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); + _runtime.bodySerDe().deserializer(stringTypeMarker); + + private final Deserializer integerDeserializer = + _runtime.bodySerDe().deserializer(integerTypeMarker); + + private final Deserializer doubleDeserializer = + _runtime.bodySerDe().deserializer(doubleTypeMarker); + + private final Deserializer booleanDeserializer = + _runtime.bodySerDe().deserializer(booleanTypeMarker); + + private final Deserializer safeLongDeserializer = + _runtime.bodySerDe().deserializer(safeLongTypeMarker); + + private final Deserializer resourceIdentifierDeserializer = + _runtime.bodySerDe().deserializer(resourceIdentifierTypeMarker); + + private final Deserializer bearerTokenDeserializer = + _runtime.bodySerDe().deserializer(bearerTokenTypeMarker); + + private final Deserializer> optionalStringDeserializer = + _runtime.bodySerDe().deserializer(optionalStringTypeMarker); + + private final Deserializer offsetDateTimeDeserializer = + _runtime.bodySerDe().deserializer(offsetDateTimeTypeMarker); + + private final Deserializer longDeserializer = + _runtime.bodySerDe().deserializer(longTypeMarker); + + private final Deserializer> optionalLongDeserializer = + _runtime.bodySerDe().deserializer(optionalLongTypeMarker); + + private final Deserializer stringAliasExampleDeserializer = + _runtime.bodySerDe().deserializer(stringAliasExampleTypeMarker); + + private final Deserializer nestedStringAliasExampleDeserializer = + _runtime.bodySerDe().deserializer(nestedStringAliasExampleTypeMarker); + + private final Deserializer + stringAliasExample1pxrnbvDeserializer = + _runtime.bodySerDe().deserializer(stringAliasExample1pxrnbvTypeMarker); + + private final Deserializer> + optionalStringAliasExampleDeserializer = + _runtime.bodySerDe().deserializer(optionalStringAliasExampleTypeMarker); + + private final Deserializer voidDeserializer = + _runtime.bodySerDe().emptyBodyDeserializer(); + + private final Deserializer simpleEnumDeserializer = + _runtime.bodySerDe().deserializer(simpleEnumTypeMarker); + + private final Deserializer> listSimpleEnumDeserializer = + _runtime.bodySerDe().deserializer(listSimpleEnumTypeMarker); + + private final Deserializer> optionalSimpleEnumDeserializer = + _runtime.bodySerDe().deserializer(optionalSimpleEnumTypeMarker); + + private final Deserializer> optionalLongAliasDeserializer = + _runtime.bodySerDe().deserializer(optionalLongAliasTypeMarker); + + private final Deserializer simpleUnionDeserializer = + _runtime.bodySerDe().deserializer(simpleUnionTypeMarker); + + private final EndpointChannel stringChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.string); private final EndpointChannel integerChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.integer); - private final Deserializer integerDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel double_Channel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.double_); - private final Deserializer double_Deserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel boolean_Channel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.boolean_); - private final Deserializer boolean_Deserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel safelongChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.safelong); - private final Deserializer safelongDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel ridChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.rid); - private final Deserializer ridDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel bearertokenChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.bearertoken); - private final Deserializer bearertokenDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel optionalStringChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalString); - private final Deserializer> optionalStringDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel optionalEmptyChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalEmpty); - private final Deserializer> optionalEmptyDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel datetimeChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.datetime); - private final Deserializer datetimeDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel binaryChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.binary); private final EndpointChannel pathChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.path); - private final Deserializer pathDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel externalLongPathChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.externalLongPath); - private final Deserializer externalLongPathDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel optionalExternalLongQueryChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalExternalLongQuery); - private final Deserializer> optionalExternalLongQueryDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final Serializer notNullBodySerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel notNullBodyChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.notNullBody); - private final Deserializer notNullBodyDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel aliasOneChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.aliasOne); - private final Deserializer aliasOneDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel optionalAliasOneChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalAliasOne); - private final Deserializer optionalAliasOneDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel aliasTwoChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.aliasTwo); - private final Deserializer aliasTwoDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final Serializer notNullBodyExternalImportSerializer = _runtime.bodySerDe() .serializer(new TypeMarker() {}); @@ -330,10 +397,6 @@ static EteServiceBlocking of(EndpointChannelFactory _endpointChannelFactory, Con private final EndpointChannel notNullBodyExternalImportChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.notNullBodyExternalImport); - private final Deserializer - notNullBodyExternalImportDeserializer = _runtime.bodySerDe() - .deserializer(new TypeMarker() {}); - private final Serializer> optionalBodyExternalImportSerializer = _runtime.bodySerDe() .serializer( @@ -342,108 +405,59 @@ static EteServiceBlocking of(EndpointChannelFactory _endpointChannelFactory, Con private final EndpointChannel optionalBodyExternalImportChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalBodyExternalImport); - private final Deserializer> - optionalBodyExternalImportDeserializer = _runtime.bodySerDe() - .deserializer( - new TypeMarker>() {}); - private final EndpointChannel optionalQueryExternalImportChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalQueryExternalImport); - private final Deserializer> - optionalQueryExternalImportDeserializer = _runtime.bodySerDe() - .deserializer( - new TypeMarker>() {}); - private final EndpointChannel noReturnChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.noReturn); - private final Deserializer noReturnDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - private final EndpointChannel enumQueryChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.enumQuery); - private final Deserializer enumQueryDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel enumListQueryChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.enumListQuery); - private final Deserializer> enumListQueryDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel optionalEnumQueryChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalEnumQuery); - private final Deserializer> optionalEnumQueryDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel enumHeaderChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.enumHeader); - private final Deserializer enumHeaderDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel jsonErrorsHeaderChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.jsonErrorsHeader); - private final Deserializer jsonErrorsHeaderDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel errorParameterSerializationChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.errorParameterSerialization); - private final Deserializer errorParameterSerializationDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel aliasLongEndpointChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.aliasLongEndpoint); - private final Deserializer> aliasLongEndpointDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel complexQueryParametersChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.complexQueryParameters); - private final Deserializer complexQueryParametersDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - private final Serializer>> receiveListOfOptionalsSerializer = _runtime.bodySerDe().serializer(new TypeMarker>>() {}); private final EndpointChannel receiveListOfOptionalsChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.receiveListOfOptionals); - private final Deserializer receiveListOfOptionalsDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - private final Serializer>> receiveSetOfOptionalsSerializer = _runtime.bodySerDe().serializer(new TypeMarker>>() {}); private final EndpointChannel receiveSetOfOptionalsChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.receiveSetOfOptionals); - private final Deserializer receiveSetOfOptionalsDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - private final Serializer> receiveListOfStringsSerializer = _runtime.bodySerDe().serializer(new TypeMarker>() {}); private final EndpointChannel receiveListOfStringsChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.receiveListOfStrings); - private final Deserializer receiveListOfStringsDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - private final Serializer unionSerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel unionChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.union); - private final Deserializer unionDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - @Override public String string(AuthHeader authHeader) { Request.Builder _request = Request.builder(); @@ -462,35 +476,35 @@ public int integer(AuthHeader authHeader) { public double double_(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); - return _runtime.clients().callBlocking(double_Channel, _request.build(), double_Deserializer); + return _runtime.clients().callBlocking(double_Channel, _request.build(), doubleDeserializer); } @Override public boolean boolean_(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); - return _runtime.clients().callBlocking(boolean_Channel, _request.build(), boolean_Deserializer); + return _runtime.clients().callBlocking(boolean_Channel, _request.build(), booleanDeserializer); } @Override public SafeLong safelong(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); - return _runtime.clients().callBlocking(safelongChannel, _request.build(), safelongDeserializer); + return _runtime.clients().callBlocking(safelongChannel, _request.build(), safeLongDeserializer); } @Override public ResourceIdentifier rid(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); - return _runtime.clients().callBlocking(ridChannel, _request.build(), ridDeserializer); + return _runtime.clients().callBlocking(ridChannel, _request.build(), resourceIdentifierDeserializer); } @Override public BearerToken bearertoken(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); - return _runtime.clients().callBlocking(bearertokenChannel, _request.build(), bearertokenDeserializer); + return _runtime.clients().callBlocking(bearertokenChannel, _request.build(), bearerTokenDeserializer); } @Override @@ -506,14 +520,14 @@ public Optional optionalEmpty(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); return _runtime.clients() - .callBlocking(optionalEmptyChannel, _request.build(), optionalEmptyDeserializer); + .callBlocking(optionalEmptyChannel, _request.build(), optionalStringDeserializer); } @Override public OffsetDateTime datetime(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); - return _runtime.clients().callBlocking(datetimeChannel, _request.build(), datetimeDeserializer); + return _runtime.clients().callBlocking(datetimeChannel, _request.build(), offsetDateTimeDeserializer); } @Override @@ -532,7 +546,7 @@ public String path(AuthHeader authHeader, String param) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.putPathParams("param", _plainSerDe.serializeString(param)); - return _runtime.clients().callBlocking(pathChannel, _request.build(), pathDeserializer); + return _runtime.clients().callBlocking(pathChannel, _request.build(), stringDeserializer); } @Override @@ -540,8 +554,7 @@ public long externalLongPath(AuthHeader authHeader, long param) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.putPathParams("param", Objects.toString(param)); - return _runtime.clients() - .callBlocking(externalLongPathChannel, _request.build(), externalLongPathDeserializer); + return _runtime.clients().callBlocking(externalLongPathChannel, _request.build(), longDeserializer); } @Override @@ -552,10 +565,7 @@ public Optional optionalExternalLongQuery(AuthHeader authHeader, Optional< _request.putQueryParams("param", Objects.toString(param.get())); } return _runtime.clients() - .callBlocking( - optionalExternalLongQueryChannel, - _request.build(), - optionalExternalLongQueryDeserializer); + .callBlocking(optionalExternalLongQueryChannel, _request.build(), optionalLongDeserializer); } @Override @@ -563,7 +573,8 @@ public StringAliasExample notNullBody(AuthHeader authHeader, StringAliasExample Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.body(notNullBodySerializer.serialize(notNullBody)); - return _runtime.clients().callBlocking(notNullBodyChannel, _request.build(), notNullBodyDeserializer); + return _runtime.clients() + .callBlocking(notNullBodyChannel, _request.build(), stringAliasExampleDeserializer); } @Override @@ -571,7 +582,8 @@ public StringAliasExample aliasOne(AuthHeader authHeader, StringAliasExample que Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.putQueryParams("queryParamName", _plainSerDe.serializeString(queryParamName.get())); - return _runtime.clients().callBlocking(aliasOneChannel, _request.build(), aliasOneDeserializer); + return _runtime.clients() + .callBlocking(aliasOneChannel, _request.build(), stringAliasExampleDeserializer); } @Override @@ -585,7 +597,7 @@ public StringAliasExample optionalAliasOne( _plainSerDe.serializeString(queryParamName.get().get())); } return _runtime.clients() - .callBlocking(optionalAliasOneChannel, _request.build(), optionalAliasOneDeserializer); + .callBlocking(optionalAliasOneChannel, _request.build(), stringAliasExampleDeserializer); } @Override @@ -595,7 +607,8 @@ public NestedStringAliasExample aliasTwo(AuthHeader authHeader, NestedStringAlia _request.putQueryParams( "queryParamName", _plainSerDe.serializeString(queryParamName.get().get())); - return _runtime.clients().callBlocking(aliasTwoChannel, _request.build(), aliasTwoDeserializer); + return _runtime.clients() + .callBlocking(aliasTwoChannel, _request.build(), nestedStringAliasExampleDeserializer); } @Override @@ -608,7 +621,7 @@ public allexamples.com.palantir.product.StringAliasExample notNullBodyExternalIm .callBlocking( notNullBodyExternalImportChannel, _request.build(), - notNullBodyExternalImportDeserializer); + stringAliasExample1pxrnbvDeserializer); } @Override @@ -621,7 +634,7 @@ public Optional optionalBod .callBlocking( optionalBodyExternalImportChannel, _request.build(), - optionalBodyExternalImportDeserializer); + optionalStringAliasExampleDeserializer); } @Override @@ -636,14 +649,14 @@ public Optional optionalQue .callBlocking( optionalQueryExternalImportChannel, _request.build(), - optionalQueryExternalImportDeserializer); + optionalStringAliasExampleDeserializer); } @Override public void noReturn(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); - _runtime.clients().callBlocking(noReturnChannel, _request.build(), noReturnDeserializer); + _runtime.clients().callBlocking(noReturnChannel, _request.build(), voidDeserializer); } @Override @@ -651,7 +664,7 @@ public SimpleEnum enumQuery(AuthHeader authHeader, SimpleEnum queryParamName) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.putQueryParams("queryParamName", Objects.toString(queryParamName)); - return _runtime.clients().callBlocking(enumQueryChannel, _request.build(), enumQueryDeserializer); + return _runtime.clients().callBlocking(enumQueryChannel, _request.build(), simpleEnumDeserializer); } @Override @@ -662,7 +675,7 @@ public List enumListQuery(AuthHeader authHeader, List qu _request.putQueryParams("queryParamName", Objects.toString(queryParamNameElement)); } return _runtime.clients() - .callBlocking(enumListQueryChannel, _request.build(), enumListQueryDeserializer); + .callBlocking(enumListQueryChannel, _request.build(), listSimpleEnumDeserializer); } @Override @@ -673,7 +686,7 @@ public Optional optionalEnumQuery(AuthHeader authHeader, Optional aliasLongEndpoint(AuthHeader authHeader, Optional> Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.body(receiveListOfOptionalsSerializer.serialize(value)); - _runtime.clients() - .callBlocking( - receiveListOfOptionalsChannel, _request.build(), receiveListOfOptionalsDeserializer); + _runtime.clients().callBlocking(receiveListOfOptionalsChannel, _request.build(), voidDeserializer); } @Override @@ -758,9 +763,7 @@ public void receiveSetOfOptionals(AuthHeader authHeader, Set> v Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.body(receiveSetOfOptionalsSerializer.serialize(value)); - _runtime.clients() - .callBlocking( - receiveSetOfOptionalsChannel, _request.build(), receiveSetOfOptionalsDeserializer); + _runtime.clients().callBlocking(receiveSetOfOptionalsChannel, _request.build(), voidDeserializer); } @Override @@ -768,8 +771,7 @@ public void receiveListOfStrings(AuthHeader authHeader, List value) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.body(receiveListOfStringsSerializer.serialize(value)); - _runtime.clients() - .callBlocking(receiveListOfStringsChannel, _request.build(), receiveListOfStringsDeserializer); + _runtime.clients().callBlocking(receiveListOfStringsChannel, _request.build(), voidDeserializer); } @Override @@ -777,7 +779,7 @@ public SimpleUnion union(AuthHeader authHeader, SimpleUnion value) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.body(unionSerializer.serialize(value)); - return _runtime.clients().callBlocking(unionChannel, _request.build(), unionDeserializer); + return _runtime.clients().callBlocking(unionChannel, _request.build(), simpleUnionDeserializer); } @Override diff --git a/conjure-java-core/src/integrationInput/java/dialogue/test/api/CookieServiceAsync.java b/conjure-java-core/src/integrationInput/java/dialogue/test/api/CookieServiceAsync.java index 835e97b78..a649e54bc 100644 --- a/conjure-java-core/src/integrationInput/java/dialogue/test/api/CookieServiceAsync.java +++ b/conjure-java-core/src/integrationInput/java/dialogue/test/api/CookieServiceAsync.java @@ -30,17 +30,17 @@ static CookieServiceAsync of(EndpointChannelFactory _endpointChannelFactory, Con return new CookieServiceAsync() { private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); + private final Deserializer voidDeserializer = + _runtime.bodySerDe().emptyBodyDeserializer(); + private final EndpointChannel eatCookiesChannel = _endpointChannelFactory.endpoint(DialogueCookieEndpoints.eatCookies); - private final Deserializer eatCookiesDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - @Override public ListenableFuture eatCookies(BearerToken token) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Cookie", "PALANTIR_TOKEN=" + _plainSerDe.serializeBearerToken(token)); - return _runtime.clients().call(eatCookiesChannel, _request.build(), eatCookiesDeserializer); + return _runtime.clients().call(eatCookiesChannel, _request.build(), voidDeserializer); } @Override diff --git a/conjure-java-core/src/integrationInput/java/dialogue/test/api/CookieServiceBlocking.java b/conjure-java-core/src/integrationInput/java/dialogue/test/api/CookieServiceBlocking.java index 78e6e8cc0..e62ab2aa2 100644 --- a/conjure-java-core/src/integrationInput/java/dialogue/test/api/CookieServiceBlocking.java +++ b/conjure-java-core/src/integrationInput/java/dialogue/test/api/CookieServiceBlocking.java @@ -29,17 +29,17 @@ static CookieServiceBlocking of(EndpointChannelFactory _endpointChannelFactory, return new CookieServiceBlocking() { private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); + private final Deserializer voidDeserializer = + _runtime.bodySerDe().emptyBodyDeserializer(); + private final EndpointChannel eatCookiesChannel = _endpointChannelFactory.endpoint(DialogueCookieEndpoints.eatCookies); - private final Deserializer eatCookiesDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - @Override public void eatCookies(BearerToken token) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Cookie", "PALANTIR_TOKEN=" + _plainSerDe.serializeBearerToken(token)); - _runtime.clients().callBlocking(eatCookiesChannel, _request.build(), eatCookiesDeserializer); + _runtime.clients().callBlocking(eatCookiesChannel, _request.build(), voidDeserializer); } @Override diff --git a/conjure-java-core/src/integrationInput/java/endpointerrors/com/palantir/product/ErrorServiceAsync.java b/conjure-java-core/src/integrationInput/java/endpointerrors/com/palantir/product/ErrorServiceAsync.java index 21da21dfb..9d827c604 100644 --- a/conjure-java-core/src/integrationInput/java/endpointerrors/com/palantir/product/ErrorServiceAsync.java +++ b/conjure-java-core/src/integrationInput/java/endpointerrors/com/palantir/product/ErrorServiceAsync.java @@ -55,63 +55,77 @@ public interface ErrorServiceAsync { /** Creates an asynchronous/non-blocking client for a ErrorService service. */ static ErrorServiceAsync of(EndpointChannelFactory _endpointChannelFactory, ConjureRuntime _runtime) { return new ErrorServiceAsync() { + private static final TypeMarker stringTypeMarker = new TypeMarker() {}; + + private static final TypeMarker voidTypeMarker = new TypeMarker() {}; + + private static final TypeMarker inputStreamTypeMarker = new TypeMarker() {}; + + private static final TypeMarker> optionalInputStreamTypeMarker = + new TypeMarker>() {}; + + private static final ExceptionDeserializerArgs stringExceptionArgs = + createExceptionDeserializerArgs(stringTypeMarker); + + private static final ExceptionDeserializerArgs voidExceptionArgs = + createExceptionDeserializerArgs(voidTypeMarker); + + private static final ExceptionDeserializerArgs inputStreamExceptionArgs = + createExceptionDeserializerArgs(inputStreamTypeMarker); + + private static final ExceptionDeserializerArgs> optionalInputStreamExceptionArgs = + createExceptionDeserializerArgs(optionalInputStreamTypeMarker); + private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); + private final Deserializer stringDeserializer = + _runtime.bodySerDe().deserializer(stringExceptionArgs); + + private final Deserializer voidDeserializer = + _runtime.bodySerDe().emptyBodyDeserializer(voidExceptionArgs); + + private final Deserializer inputStreamDeserializer = + _runtime.bodySerDe().inputStreamDeserializer(inputStreamExceptionArgs); + + private final Deserializer> optionalInputStreamDeserializer = + _runtime.bodySerDe().optionalInputStreamDeserializer(optionalInputStreamExceptionArgs); + private final Serializer testBasicErrorSerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel testBasicErrorChannel = _endpointChannelFactory.endpoint(DialogueErrorEndpoints.testBasicError); - private final Deserializer testBasicErrorDeserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final Serializer testImportedErrorSerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel testImportedErrorChannel = _endpointChannelFactory.endpoint(DialogueErrorEndpoints.testImportedError); - private final Deserializer testImportedErrorDeserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final Serializer> testMultipleErrorsAndPackagesSerializer = _runtime.bodySerDe().serializer(new TypeMarker>() {}); private final EndpointChannel testMultipleErrorsAndPackagesChannel = _endpointChannelFactory.endpoint(DialogueErrorEndpoints.testMultipleErrorsAndPackages); - private final Deserializer testMultipleErrorsAndPackagesDeserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final Serializer testEmptyBodySerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel testEmptyBodyChannel = _endpointChannelFactory.endpoint(DialogueErrorEndpoints.testEmptyBody); - private final Deserializer testEmptyBodyDeserializer = _runtime.bodySerDe() - .emptyBodyDeserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final Serializer testBinarySerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel testBinaryChannel = _endpointChannelFactory.endpoint(DialogueErrorEndpoints.testBinary); - private final Deserializer testBinaryDeserializer = _runtime.bodySerDe() - .inputStreamDeserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final Serializer testOptionalBinarySerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel testOptionalBinaryChannel = _endpointChannelFactory.endpoint(DialogueErrorEndpoints.testOptionalBinary); - private final Deserializer> testOptionalBinaryDeserializer = _runtime.bodySerDe() - .optionalInputStreamDeserializer( - createExceptionDeserializerArgs(new TypeMarker>() {})); - private static ExceptionDeserializerArgs createExceptionDeserializerArgs(TypeMarker returnType) { ExceptionDeserializerArgs.Builder builder = ExceptionDeserializerArgs.builder().returnType(returnType); @@ -133,7 +147,7 @@ public ListenableFuture testBasicError(AuthHeader authHeader, boolean sh "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(testBasicErrorChannel, _request.build(), testBasicErrorDeserializer); + return _runtime.clients().call(testBasicErrorChannel, _request.build(), stringDeserializer); } @Override @@ -146,8 +160,7 @@ public ListenableFuture testImportedError(AuthHeader authHeader, boolean "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients() - .call(testImportedErrorChannel, _request.build(), testImportedErrorDeserializer); + return _runtime.clients().call(testImportedErrorChannel, _request.build(), stringDeserializer); } @Override @@ -162,10 +175,7 @@ public ListenableFuture testMultipleErrorsAndPackages( _runtime.bodySerDe().errorParameterFormat().get().toString()); } return _runtime.clients() - .call( - testMultipleErrorsAndPackagesChannel, - _request.build(), - testMultipleErrorsAndPackagesDeserializer); + .call(testMultipleErrorsAndPackagesChannel, _request.build(), stringDeserializer); } @Override @@ -178,7 +188,7 @@ public ListenableFuture testEmptyBody(AuthHeader authHeader, boolean shoul "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(testEmptyBodyChannel, _request.build(), testEmptyBodyDeserializer); + return _runtime.clients().call(testEmptyBodyChannel, _request.build(), voidDeserializer); } @Override @@ -191,7 +201,7 @@ public ListenableFuture testBinary(AuthHeader authHeader, boolean s "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(testBinaryChannel, _request.build(), testBinaryDeserializer); + return _runtime.clients().call(testBinaryChannel, _request.build(), inputStreamDeserializer); } @Override @@ -206,7 +216,7 @@ public ListenableFuture> testOptionalBinary( _runtime.bodySerDe().errorParameterFormat().get().toString()); } return _runtime.clients() - .call(testOptionalBinaryChannel, _request.build(), testOptionalBinaryDeserializer); + .call(testOptionalBinaryChannel, _request.build(), optionalInputStreamDeserializer); } @Override diff --git a/conjure-java-core/src/integrationInput/java/endpointerrors/com/palantir/product/ErrorServiceBlocking.java b/conjure-java-core/src/integrationInput/java/endpointerrors/com/palantir/product/ErrorServiceBlocking.java index af8993adf..56f12c6e9 100644 --- a/conjure-java-core/src/integrationInput/java/endpointerrors/com/palantir/product/ErrorServiceBlocking.java +++ b/conjure-java-core/src/integrationInput/java/endpointerrors/com/palantir/product/ErrorServiceBlocking.java @@ -56,63 +56,77 @@ public interface ErrorServiceBlocking { /** Creates a synchronous/blocking client for a ErrorService service. */ static ErrorServiceBlocking of(EndpointChannelFactory _endpointChannelFactory, ConjureRuntime _runtime) { return new ErrorServiceBlocking() { + private static final TypeMarker stringTypeMarker = new TypeMarker() {}; + + private static final TypeMarker voidTypeMarker = new TypeMarker() {}; + + private static final TypeMarker inputStreamTypeMarker = new TypeMarker() {}; + + private static final TypeMarker> optionalInputStreamTypeMarker = + new TypeMarker>() {}; + + private static final ExceptionDeserializerArgs stringExceptionArgs = + createExceptionDeserializerArgs(stringTypeMarker); + + private static final ExceptionDeserializerArgs voidExceptionArgs = + createExceptionDeserializerArgs(voidTypeMarker); + + private static final ExceptionDeserializerArgs inputStreamExceptionArgs = + createExceptionDeserializerArgs(inputStreamTypeMarker); + + private static final ExceptionDeserializerArgs> optionalInputStreamExceptionArgs = + createExceptionDeserializerArgs(optionalInputStreamTypeMarker); + private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); + private final Deserializer stringDeserializer = + _runtime.bodySerDe().deserializer(stringExceptionArgs); + + private final Deserializer voidDeserializer = + _runtime.bodySerDe().emptyBodyDeserializer(voidExceptionArgs); + + private final Deserializer inputStreamDeserializer = + _runtime.bodySerDe().inputStreamDeserializer(inputStreamExceptionArgs); + + private final Deserializer> optionalInputStreamDeserializer = + _runtime.bodySerDe().optionalInputStreamDeserializer(optionalInputStreamExceptionArgs); + private final Serializer testBasicErrorSerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel testBasicErrorChannel = _endpointChannelFactory.endpoint(DialogueErrorEndpoints.testBasicError); - private final Deserializer testBasicErrorDeserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final Serializer testImportedErrorSerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel testImportedErrorChannel = _endpointChannelFactory.endpoint(DialogueErrorEndpoints.testImportedError); - private final Deserializer testImportedErrorDeserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final Serializer> testMultipleErrorsAndPackagesSerializer = _runtime.bodySerDe().serializer(new TypeMarker>() {}); private final EndpointChannel testMultipleErrorsAndPackagesChannel = _endpointChannelFactory.endpoint(DialogueErrorEndpoints.testMultipleErrorsAndPackages); - private final Deserializer testMultipleErrorsAndPackagesDeserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final Serializer testEmptyBodySerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel testEmptyBodyChannel = _endpointChannelFactory.endpoint(DialogueErrorEndpoints.testEmptyBody); - private final Deserializer testEmptyBodyDeserializer = _runtime.bodySerDe() - .emptyBodyDeserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final Serializer testBinarySerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel testBinaryChannel = _endpointChannelFactory.endpoint(DialogueErrorEndpoints.testBinary); - private final Deserializer testBinaryDeserializer = _runtime.bodySerDe() - .inputStreamDeserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final Serializer testOptionalBinarySerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel testOptionalBinaryChannel = _endpointChannelFactory.endpoint(DialogueErrorEndpoints.testOptionalBinary); - private final Deserializer> testOptionalBinaryDeserializer = _runtime.bodySerDe() - .optionalInputStreamDeserializer( - createExceptionDeserializerArgs(new TypeMarker>() {})); - private static ExceptionDeserializerArgs createExceptionDeserializerArgs(TypeMarker returnType) { ExceptionDeserializerArgs.Builder builder = ExceptionDeserializerArgs.builder().returnType(returnType); @@ -134,8 +148,7 @@ public String testBasicError(AuthHeader authHeader, boolean shouldThrowError) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients() - .callBlocking(testBasicErrorChannel, _request.build(), testBasicErrorDeserializer); + return _runtime.clients().callBlocking(testBasicErrorChannel, _request.build(), stringDeserializer); } @Override @@ -148,8 +161,7 @@ public String testImportedError(AuthHeader authHeader, boolean shouldThrowError) "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients() - .callBlocking(testImportedErrorChannel, _request.build(), testImportedErrorDeserializer); + return _runtime.clients().callBlocking(testImportedErrorChannel, _request.build(), stringDeserializer); } @Override @@ -163,10 +175,7 @@ public String testMultipleErrorsAndPackages(AuthHeader authHeader, Optional testOptionalBinary(AuthHeader authHeader, OptionalB _runtime.bodySerDe().errorParameterFormat().get().toString()); } return _runtime.clients() - .callBlocking(testOptionalBinaryChannel, _request.build(), testOptionalBinaryDeserializer); + .callBlocking(testOptionalBinaryChannel, _request.build(), optionalInputStreamDeserializer); } @Override diff --git a/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EmptyPathServiceAsync.java b/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EmptyPathServiceAsync.java index 1a54d7caf..34418440f 100644 --- a/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EmptyPathServiceAsync.java +++ b/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EmptyPathServiceAsync.java @@ -29,14 +29,19 @@ public interface EmptyPathServiceAsync { /** Creates an asynchronous/non-blocking client for a EmptyPathService service. */ static EmptyPathServiceAsync of(EndpointChannelFactory _endpointChannelFactory, ConjureRuntime _runtime) { return new EmptyPathServiceAsync() { + private static final TypeMarker booleanTypeMarker = new TypeMarker() {}; + + private static final ExceptionDeserializerArgs booleanExceptionArgs = + createExceptionDeserializerArgs(booleanTypeMarker); + private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); + private final Deserializer booleanDeserializer = + _runtime.bodySerDe().deserializer(booleanExceptionArgs); + private final EndpointChannel emptyPathChannel = _endpointChannelFactory.endpoint(DialogueEmptyPathEndpoints.emptyPath); - private final Deserializer emptyPathDeserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private static ExceptionDeserializerArgs createExceptionDeserializerArgs(TypeMarker returnType) { ExceptionDeserializerArgs.Builder builder = ExceptionDeserializerArgs.builder().returnType(returnType); @@ -55,7 +60,7 @@ public ListenableFuture emptyPath() { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(emptyPathChannel, _request.build(), emptyPathDeserializer); + return _runtime.clients().call(emptyPathChannel, _request.build(), booleanDeserializer); } @Override diff --git a/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EmptyPathServiceBlocking.java b/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EmptyPathServiceBlocking.java index 97febab39..097e6f380 100644 --- a/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EmptyPathServiceBlocking.java +++ b/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EmptyPathServiceBlocking.java @@ -28,14 +28,19 @@ public interface EmptyPathServiceBlocking { /** Creates a synchronous/blocking client for a EmptyPathService service. */ static EmptyPathServiceBlocking of(EndpointChannelFactory _endpointChannelFactory, ConjureRuntime _runtime) { return new EmptyPathServiceBlocking() { + private static final TypeMarker booleanTypeMarker = new TypeMarker() {}; + + private static final ExceptionDeserializerArgs booleanExceptionArgs = + createExceptionDeserializerArgs(booleanTypeMarker); + private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); + private final Deserializer booleanDeserializer = + _runtime.bodySerDe().deserializer(booleanExceptionArgs); + private final EndpointChannel emptyPathChannel = _endpointChannelFactory.endpoint(DialogueEmptyPathEndpoints.emptyPath); - private final Deserializer emptyPathDeserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private static ExceptionDeserializerArgs createExceptionDeserializerArgs(TypeMarker returnType) { ExceptionDeserializerArgs.Builder builder = ExceptionDeserializerArgs.builder().returnType(returnType); @@ -54,7 +59,7 @@ public boolean emptyPath() { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().callBlocking(emptyPathChannel, _request.build(), emptyPathDeserializer); + return _runtime.clients().callBlocking(emptyPathChannel, _request.build(), booleanDeserializer); } @Override diff --git a/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EteBinaryServiceAsync.java b/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EteBinaryServiceAsync.java index e3ea94764..9c2f526d5 100644 --- a/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EteBinaryServiceAsync.java +++ b/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EteBinaryServiceAsync.java @@ -56,48 +56,43 @@ public interface EteBinaryServiceAsync { /** Creates an asynchronous/non-blocking client for a EteBinaryService service. */ static EteBinaryServiceAsync of(EndpointChannelFactory _endpointChannelFactory, ConjureRuntime _runtime) { return new EteBinaryServiceAsync() { + private static final TypeMarker inputStreamTypeMarker = new TypeMarker() {}; + + private static final TypeMarker> optionalInputStreamTypeMarker = + new TypeMarker>() {}; + + private static final ExceptionDeserializerArgs inputStreamExceptionArgs = + createExceptionDeserializerArgs(inputStreamTypeMarker); + + private static final ExceptionDeserializerArgs> optionalInputStreamExceptionArgs = + createExceptionDeserializerArgs(optionalInputStreamTypeMarker); + private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); + private final Deserializer inputStreamDeserializer = + _runtime.bodySerDe().inputStreamDeserializer(inputStreamExceptionArgs); + + private final Deserializer> optionalInputStreamDeserializer = + _runtime.bodySerDe().optionalInputStreamDeserializer(optionalInputStreamExceptionArgs); + private final EndpointChannel postBinaryChannel = _endpointChannelFactory.endpoint(DialogueEteBinaryEndpoints.postBinary); - private final Deserializer postBinaryDeserializer = _runtime.bodySerDe() - .inputStreamDeserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel postBinaryThrowsChannel = _endpointChannelFactory.endpoint(DialogueEteBinaryEndpoints.postBinaryThrows); - private final Deserializer postBinaryThrowsDeserializer = _runtime.bodySerDe() - .inputStreamDeserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel getOptionalBinaryPresentChannel = _endpointChannelFactory.endpoint(DialogueEteBinaryEndpoints.getOptionalBinaryPresent); - private final Deserializer> getOptionalBinaryPresentDeserializer = - _runtime.bodySerDe() - .optionalInputStreamDeserializer( - createExceptionDeserializerArgs(new TypeMarker>() {})); - private final EndpointChannel getOptionalBinaryEmptyChannel = _endpointChannelFactory.endpoint(DialogueEteBinaryEndpoints.getOptionalBinaryEmpty); - private final Deserializer> getOptionalBinaryEmptyDeserializer = _runtime.bodySerDe() - .optionalInputStreamDeserializer( - createExceptionDeserializerArgs(new TypeMarker>() {})); - private final EndpointChannel getBinaryFailureChannel = _endpointChannelFactory.endpoint(DialogueEteBinaryEndpoints.getBinaryFailure); - private final Deserializer getBinaryFailureDeserializer = _runtime.bodySerDe() - .inputStreamDeserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel getAliasedChannel = _endpointChannelFactory.endpoint(DialogueEteBinaryEndpoints.getAliased); - private final Deserializer> getAliasedDeserializer = _runtime.bodySerDe() - .optionalInputStreamDeserializer( - createExceptionDeserializerArgs(new TypeMarker>() {})); - private static ExceptionDeserializerArgs createExceptionDeserializerArgs(TypeMarker returnType) { ExceptionDeserializerArgs.Builder builder = ExceptionDeserializerArgs.builder().returnType(returnType); @@ -118,7 +113,7 @@ public ListenableFuture postBinary(AuthHeader authHeader, BinaryReq "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(postBinaryChannel, _request.build(), postBinaryDeserializer); + return _runtime.clients().call(postBinaryChannel, _request.build(), inputStreamDeserializer); } @Override @@ -133,7 +128,7 @@ public ListenableFuture postBinaryThrows( "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(postBinaryThrowsChannel, _request.build(), postBinaryThrowsDeserializer); + return _runtime.clients().call(postBinaryThrowsChannel, _request.build(), inputStreamDeserializer); } @Override @@ -146,7 +141,7 @@ public ListenableFuture> getOptionalBinaryPresent(AuthHead _runtime.bodySerDe().errorParameterFormat().get().toString()); } return _runtime.clients() - .call(getOptionalBinaryPresentChannel, _request.build(), getOptionalBinaryPresentDeserializer); + .call(getOptionalBinaryPresentChannel, _request.build(), optionalInputStreamDeserializer); } @Override @@ -159,7 +154,7 @@ public ListenableFuture> getOptionalBinaryEmpty(AuthHeader _runtime.bodySerDe().errorParameterFormat().get().toString()); } return _runtime.clients() - .call(getOptionalBinaryEmptyChannel, _request.build(), getOptionalBinaryEmptyDeserializer); + .call(getOptionalBinaryEmptyChannel, _request.build(), optionalInputStreamDeserializer); } @Override @@ -174,7 +169,7 @@ public ListenableFuture getBinaryFailure( "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(getBinaryFailureChannel, _request.build(), getBinaryFailureDeserializer); + return _runtime.clients().call(getBinaryFailureChannel, _request.build(), inputStreamDeserializer); } @Override @@ -186,7 +181,7 @@ public ListenableFuture> getAliased(AuthHeader authHeader) "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(getAliasedChannel, _request.build(), getAliasedDeserializer); + return _runtime.clients().call(getAliasedChannel, _request.build(), optionalInputStreamDeserializer); } @Override diff --git a/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EteBinaryServiceBlocking.java b/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EteBinaryServiceBlocking.java index b4523ac4f..c9555a98d 100644 --- a/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EteBinaryServiceBlocking.java +++ b/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EteBinaryServiceBlocking.java @@ -59,48 +59,43 @@ public interface EteBinaryServiceBlocking { /** Creates a synchronous/blocking client for a EteBinaryService service. */ static EteBinaryServiceBlocking of(EndpointChannelFactory _endpointChannelFactory, ConjureRuntime _runtime) { return new EteBinaryServiceBlocking() { + private static final TypeMarker inputStreamTypeMarker = new TypeMarker() {}; + + private static final TypeMarker> optionalInputStreamTypeMarker = + new TypeMarker>() {}; + + private static final ExceptionDeserializerArgs inputStreamExceptionArgs = + createExceptionDeserializerArgs(inputStreamTypeMarker); + + private static final ExceptionDeserializerArgs> optionalInputStreamExceptionArgs = + createExceptionDeserializerArgs(optionalInputStreamTypeMarker); + private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); + private final Deserializer inputStreamDeserializer = + _runtime.bodySerDe().inputStreamDeserializer(inputStreamExceptionArgs); + + private final Deserializer> optionalInputStreamDeserializer = + _runtime.bodySerDe().optionalInputStreamDeserializer(optionalInputStreamExceptionArgs); + private final EndpointChannel postBinaryChannel = _endpointChannelFactory.endpoint(DialogueEteBinaryEndpoints.postBinary); - private final Deserializer postBinaryDeserializer = _runtime.bodySerDe() - .inputStreamDeserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel postBinaryThrowsChannel = _endpointChannelFactory.endpoint(DialogueEteBinaryEndpoints.postBinaryThrows); - private final Deserializer postBinaryThrowsDeserializer = _runtime.bodySerDe() - .inputStreamDeserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel getOptionalBinaryPresentChannel = _endpointChannelFactory.endpoint(DialogueEteBinaryEndpoints.getOptionalBinaryPresent); - private final Deserializer> getOptionalBinaryPresentDeserializer = - _runtime.bodySerDe() - .optionalInputStreamDeserializer( - createExceptionDeserializerArgs(new TypeMarker>() {})); - private final EndpointChannel getOptionalBinaryEmptyChannel = _endpointChannelFactory.endpoint(DialogueEteBinaryEndpoints.getOptionalBinaryEmpty); - private final Deserializer> getOptionalBinaryEmptyDeserializer = _runtime.bodySerDe() - .optionalInputStreamDeserializer( - createExceptionDeserializerArgs(new TypeMarker>() {})); - private final EndpointChannel getBinaryFailureChannel = _endpointChannelFactory.endpoint(DialogueEteBinaryEndpoints.getBinaryFailure); - private final Deserializer getBinaryFailureDeserializer = _runtime.bodySerDe() - .inputStreamDeserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel getAliasedChannel = _endpointChannelFactory.endpoint(DialogueEteBinaryEndpoints.getAliased); - private final Deserializer> getAliasedDeserializer = _runtime.bodySerDe() - .optionalInputStreamDeserializer( - createExceptionDeserializerArgs(new TypeMarker>() {})); - private static ExceptionDeserializerArgs createExceptionDeserializerArgs(TypeMarker returnType) { ExceptionDeserializerArgs.Builder builder = ExceptionDeserializerArgs.builder().returnType(returnType); @@ -121,7 +116,7 @@ public InputStream postBinary(AuthHeader authHeader, BinaryRequestBody body) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().callBlocking(postBinaryChannel, _request.build(), postBinaryDeserializer); + return _runtime.clients().callBlocking(postBinaryChannel, _request.build(), inputStreamDeserializer); } @Override @@ -136,7 +131,7 @@ public InputStream postBinaryThrows(AuthHeader authHeader, int bytesToRead, Bina _runtime.bodySerDe().errorParameterFormat().get().toString()); } return _runtime.clients() - .callBlocking(postBinaryThrowsChannel, _request.build(), postBinaryThrowsDeserializer); + .callBlocking(postBinaryThrowsChannel, _request.build(), inputStreamDeserializer); } @Override @@ -150,9 +145,7 @@ public Optional getOptionalBinaryPresent(AuthHeader authHeader) { } return _runtime.clients() .callBlocking( - getOptionalBinaryPresentChannel, - _request.build(), - getOptionalBinaryPresentDeserializer); + getOptionalBinaryPresentChannel, _request.build(), optionalInputStreamDeserializer); } @Override @@ -165,8 +158,7 @@ public Optional getOptionalBinaryEmpty(AuthHeader authHeader) { _runtime.bodySerDe().errorParameterFormat().get().toString()); } return _runtime.clients() - .callBlocking( - getOptionalBinaryEmptyChannel, _request.build(), getOptionalBinaryEmptyDeserializer); + .callBlocking(getOptionalBinaryEmptyChannel, _request.build(), optionalInputStreamDeserializer); } @Override @@ -181,7 +173,7 @@ public InputStream getBinaryFailure(AuthHeader authHeader, int numBytes, boolean _runtime.bodySerDe().errorParameterFormat().get().toString()); } return _runtime.clients() - .callBlocking(getBinaryFailureChannel, _request.build(), getBinaryFailureDeserializer); + .callBlocking(getBinaryFailureChannel, _request.build(), inputStreamDeserializer); } @Override @@ -193,7 +185,8 @@ public Optional getAliased(AuthHeader authHeader) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().callBlocking(getAliasedChannel, _request.build(), getAliasedDeserializer); + return _runtime.clients() + .callBlocking(getAliasedChannel, _request.build(), optionalInputStreamDeserializer); } @Override diff --git a/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EteServiceAsync.java b/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EteServiceAsync.java index f4033d8fd..e74a662f9 100644 --- a/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EteServiceAsync.java +++ b/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EteServiceAsync.java @@ -219,115 +219,256 @@ ListenableFuture complexQueryParameters( /** Creates an asynchronous/non-blocking client for a EteService service. */ static EteServiceAsync of(EndpointChannelFactory _endpointChannelFactory, ConjureRuntime _runtime) { return new EteServiceAsync() { - private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); + private static final TypeMarker stringTypeMarker = new TypeMarker() {}; - private final EndpointChannel stringChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.string); + private static final TypeMarker integerTypeMarker = new TypeMarker() {}; + + private static final TypeMarker doubleTypeMarker = new TypeMarker() {}; + + private static final TypeMarker booleanTypeMarker = new TypeMarker() {}; + + private static final TypeMarker safeLongTypeMarker = new TypeMarker() {}; + + private static final TypeMarker resourceIdentifierTypeMarker = + new TypeMarker() {}; + + private static final TypeMarker bearerTokenTypeMarker = new TypeMarker() {}; + + private static final TypeMarker> optionalStringTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker offsetDateTimeTypeMarker = + new TypeMarker() {}; + + private static final TypeMarker inputStreamTypeMarker = new TypeMarker() {}; + + private static final TypeMarker longTypeMarker = new TypeMarker() {}; + + private static final TypeMarker> optionalLongTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker stringAliasExampleTypeMarker = + new TypeMarker() {}; + + private static final TypeMarker nestedStringAliasExampleTypeMarker = + new TypeMarker() {}; + + private static final TypeMarker + stringAliasExample1pxrnbvTypeMarker = + new TypeMarker() {}; + + private static final TypeMarker> + optionalStringAliasExampleTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker voidTypeMarker = new TypeMarker() {}; + + private static final TypeMarker simpleEnumTypeMarker = new TypeMarker() {}; + + private static final TypeMarker> listSimpleEnumTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker> optionalSimpleEnumTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker> optionalLongAliasTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker simpleUnionTypeMarker = new TypeMarker() {}; + + private static final ExceptionDeserializerArgs stringExceptionArgs = + createExceptionDeserializerArgs(stringTypeMarker); + + private static final ExceptionDeserializerArgs integerExceptionArgs = + createExceptionDeserializerArgs(integerTypeMarker); + + private static final ExceptionDeserializerArgs doubleExceptionArgs = + createExceptionDeserializerArgs(doubleTypeMarker); + + private static final ExceptionDeserializerArgs booleanExceptionArgs = + createExceptionDeserializerArgs(booleanTypeMarker); + + private static final ExceptionDeserializerArgs safeLongExceptionArgs = + createExceptionDeserializerArgs(safeLongTypeMarker); + + private static final ExceptionDeserializerArgs resourceIdentifierExceptionArgs = + createExceptionDeserializerArgs(resourceIdentifierTypeMarker); + + private static final ExceptionDeserializerArgs bearerTokenExceptionArgs = + createExceptionDeserializerArgs(bearerTokenTypeMarker); + + private static final ExceptionDeserializerArgs> optionalStringExceptionArgs = + createExceptionDeserializerArgs(optionalStringTypeMarker); + + private static final ExceptionDeserializerArgs offsetDateTimeExceptionArgs = + createExceptionDeserializerArgs(offsetDateTimeTypeMarker); + + private static final ExceptionDeserializerArgs inputStreamExceptionArgs = + createExceptionDeserializerArgs(inputStreamTypeMarker); + + private static final ExceptionDeserializerArgs longExceptionArgs = + createExceptionDeserializerArgs(longTypeMarker); + + private static final ExceptionDeserializerArgs> optionalLongExceptionArgs = + createExceptionDeserializerArgs(optionalLongTypeMarker); + + private static final ExceptionDeserializerArgs stringAliasExampleExceptionArgs = + createExceptionDeserializerArgs(stringAliasExampleTypeMarker); + + private static final ExceptionDeserializerArgs + nestedStringAliasExampleExceptionArgs = + createExceptionDeserializerArgs(nestedStringAliasExampleTypeMarker); + + private static final ExceptionDeserializerArgs + stringAliasExample1pxrnbvExceptionArgs = + createExceptionDeserializerArgs(stringAliasExample1pxrnbvTypeMarker); + + private static final ExceptionDeserializerArgs< + Optional> + optionalStringAliasExampleExceptionArgs = + createExceptionDeserializerArgs(optionalStringAliasExampleTypeMarker); + + private static final ExceptionDeserializerArgs voidExceptionArgs = + createExceptionDeserializerArgs(voidTypeMarker); + + private static final ExceptionDeserializerArgs simpleEnumExceptionArgs = + createExceptionDeserializerArgs(simpleEnumTypeMarker); + + private static final ExceptionDeserializerArgs> listSimpleEnumExceptionArgs = + createExceptionDeserializerArgs(listSimpleEnumTypeMarker); + + private static final ExceptionDeserializerArgs> optionalSimpleEnumExceptionArgs = + createExceptionDeserializerArgs(optionalSimpleEnumTypeMarker); + + private static final ExceptionDeserializerArgs> optionalLongAliasExceptionArgs = + createExceptionDeserializerArgs(optionalLongAliasTypeMarker); + + private static final ExceptionDeserializerArgs simpleUnionExceptionArgs = + createExceptionDeserializerArgs(simpleUnionTypeMarker); + + private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); private final Deserializer stringDeserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); + _runtime.bodySerDe().deserializer(stringExceptionArgs); + + private final Deserializer integerDeserializer = + _runtime.bodySerDe().deserializer(integerExceptionArgs); + + private final Deserializer doubleDeserializer = + _runtime.bodySerDe().deserializer(doubleExceptionArgs); + + private final Deserializer booleanDeserializer = + _runtime.bodySerDe().deserializer(booleanExceptionArgs); + + private final Deserializer safeLongDeserializer = + _runtime.bodySerDe().deserializer(safeLongExceptionArgs); + + private final Deserializer resourceIdentifierDeserializer = + _runtime.bodySerDe().deserializer(resourceIdentifierExceptionArgs); + + private final Deserializer bearerTokenDeserializer = + _runtime.bodySerDe().deserializer(bearerTokenExceptionArgs); + + private final Deserializer> optionalStringDeserializer = + _runtime.bodySerDe().deserializer(optionalStringExceptionArgs); + + private final Deserializer offsetDateTimeDeserializer = + _runtime.bodySerDe().deserializer(offsetDateTimeExceptionArgs); + + private final Deserializer inputStreamDeserializer = + _runtime.bodySerDe().inputStreamDeserializer(inputStreamExceptionArgs); + + private final Deserializer longDeserializer = + _runtime.bodySerDe().deserializer(longExceptionArgs); + + private final Deserializer> optionalLongDeserializer = + _runtime.bodySerDe().deserializer(optionalLongExceptionArgs); + + private final Deserializer stringAliasExampleDeserializer = + _runtime.bodySerDe().deserializer(stringAliasExampleExceptionArgs); + + private final Deserializer nestedStringAliasExampleDeserializer = + _runtime.bodySerDe().deserializer(nestedStringAliasExampleExceptionArgs); + + private final Deserializer + stringAliasExample1pxrnbvDeserializer = + _runtime.bodySerDe().deserializer(stringAliasExample1pxrnbvExceptionArgs); + + private final Deserializer> + optionalStringAliasExampleDeserializer = + _runtime.bodySerDe().deserializer(optionalStringAliasExampleExceptionArgs); + + private final Deserializer voidDeserializer = + _runtime.bodySerDe().emptyBodyDeserializer(voidExceptionArgs); + + private final Deserializer simpleEnumDeserializer = + _runtime.bodySerDe().deserializer(simpleEnumExceptionArgs); + + private final Deserializer> listSimpleEnumDeserializer = + _runtime.bodySerDe().deserializer(listSimpleEnumExceptionArgs); + + private final Deserializer> optionalSimpleEnumDeserializer = + _runtime.bodySerDe().deserializer(optionalSimpleEnumExceptionArgs); + + private final Deserializer> optionalLongAliasDeserializer = + _runtime.bodySerDe().deserializer(optionalLongAliasExceptionArgs); + + private final Deserializer simpleUnionDeserializer = + _runtime.bodySerDe().deserializer(simpleUnionExceptionArgs); + + private final EndpointChannel stringChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.string); private final EndpointChannel integerChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.integer); - private final Deserializer integerDeserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel double_Channel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.double_); - private final Deserializer double_Deserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel boolean_Channel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.boolean_); - private final Deserializer boolean_Deserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel safelongChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.safelong); - private final Deserializer safelongDeserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel ridChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.rid); - private final Deserializer ridDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel bearertokenChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.bearertoken); - private final Deserializer bearertokenDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel optionalStringChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalString); - private final Deserializer> optionalStringDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker>() {})); - private final EndpointChannel optionalEmptyChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalEmpty); - private final Deserializer> optionalEmptyDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker>() {})); - private final EndpointChannel datetimeChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.datetime); - private final Deserializer datetimeDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel binaryChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.binary); - private final Deserializer binaryDeserializer = _runtime.bodySerDe() - .inputStreamDeserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel pathChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.path); - private final Deserializer pathDeserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel externalLongPathChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.externalLongPath); - private final Deserializer externalLongPathDeserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel optionalExternalLongQueryChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalExternalLongQuery); - private final Deserializer> optionalExternalLongQueryDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker>() {})); - private final Serializer notNullBodySerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel notNullBodyChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.notNullBody); - private final Deserializer notNullBodyDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel aliasOneChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.aliasOne); - private final Deserializer aliasOneDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel optionalAliasOneChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalAliasOne); - private final Deserializer optionalAliasOneDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel aliasTwoChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.aliasTwo); - private final Deserializer aliasTwoDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final Serializer notNullBodyExternalImportSerializer = _runtime.bodySerDe() .serializer(new TypeMarker() {}); @@ -335,11 +476,6 @@ static EteServiceAsync of(EndpointChannelFactory _endpointChannelFactory, Conjur private final EndpointChannel notNullBodyExternalImportChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.notNullBodyExternalImport); - private final Deserializer - notNullBodyExternalImportDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs( - new TypeMarker() {})); - private final Serializer> optionalBodyExternalImportSerializer = _runtime.bodySerDe() .serializer( @@ -348,110 +484,59 @@ static EteServiceAsync of(EndpointChannelFactory _endpointChannelFactory, Conjur private final EndpointChannel optionalBodyExternalImportChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalBodyExternalImport); - private final Deserializer> - optionalBodyExternalImportDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs( - new TypeMarker< - Optional>() {})); - private final EndpointChannel optionalQueryExternalImportChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalQueryExternalImport); - private final Deserializer> - optionalQueryExternalImportDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs( - new TypeMarker< - Optional>() {})); - private final EndpointChannel noReturnChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.noReturn); - private final Deserializer noReturnDeserializer = _runtime.bodySerDe() - .emptyBodyDeserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel enumQueryChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.enumQuery); - private final Deserializer enumQueryDeserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel enumListQueryChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.enumListQuery); - private final Deserializer> enumListQueryDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker>() {})); - private final EndpointChannel optionalEnumQueryChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalEnumQuery); - private final Deserializer> optionalEnumQueryDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker>() {})); - private final EndpointChannel enumHeaderChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.enumHeader); - private final Deserializer enumHeaderDeserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel jsonErrorsHeaderChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.jsonErrorsHeader); - private final Deserializer jsonErrorsHeaderDeserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel errorParameterSerializationChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.errorParameterSerialization); - private final Deserializer errorParameterSerializationDeserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel aliasLongEndpointChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.aliasLongEndpoint); - private final Deserializer> aliasLongEndpointDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker>() {})); - private final EndpointChannel complexQueryParametersChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.complexQueryParameters); - private final Deserializer complexQueryParametersDeserializer = _runtime.bodySerDe() - .emptyBodyDeserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final Serializer>> receiveListOfOptionalsSerializer = _runtime.bodySerDe().serializer(new TypeMarker>>() {}); private final EndpointChannel receiveListOfOptionalsChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.receiveListOfOptionals); - private final Deserializer receiveListOfOptionalsDeserializer = _runtime.bodySerDe() - .emptyBodyDeserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final Serializer>> receiveSetOfOptionalsSerializer = _runtime.bodySerDe().serializer(new TypeMarker>>() {}); private final EndpointChannel receiveSetOfOptionalsChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.receiveSetOfOptionals); - private final Deserializer receiveSetOfOptionalsDeserializer = _runtime.bodySerDe() - .emptyBodyDeserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final Serializer> receiveListOfStringsSerializer = _runtime.bodySerDe().serializer(new TypeMarker>() {}); private final EndpointChannel receiveListOfStringsChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.receiveListOfStrings); - private final Deserializer receiveListOfStringsDeserializer = _runtime.bodySerDe() - .emptyBodyDeserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final Serializer unionSerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel unionChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.union); - private final Deserializer unionDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private static ExceptionDeserializerArgs createExceptionDeserializerArgs(TypeMarker returnType) { ExceptionDeserializerArgs.Builder builder = ExceptionDeserializerArgs.builder().returnType(returnType); @@ -495,7 +580,7 @@ public ListenableFuture double_(AuthHeader authHeader) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(double_Channel, _request.build(), double_Deserializer); + return _runtime.clients().call(double_Channel, _request.build(), doubleDeserializer); } @Override @@ -507,7 +592,7 @@ public ListenableFuture boolean_(AuthHeader authHeader) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(boolean_Channel, _request.build(), boolean_Deserializer); + return _runtime.clients().call(boolean_Channel, _request.build(), booleanDeserializer); } @Override @@ -519,7 +604,7 @@ public ListenableFuture safelong(AuthHeader authHeader) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(safelongChannel, _request.build(), safelongDeserializer); + return _runtime.clients().call(safelongChannel, _request.build(), safeLongDeserializer); } @Override @@ -531,7 +616,7 @@ public ListenableFuture rid(AuthHeader authHeader) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(ridChannel, _request.build(), ridDeserializer); + return _runtime.clients().call(ridChannel, _request.build(), resourceIdentifierDeserializer); } @Override @@ -543,7 +628,7 @@ public ListenableFuture bearertoken(AuthHeader authHeader) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(bearertokenChannel, _request.build(), bearertokenDeserializer); + return _runtime.clients().call(bearertokenChannel, _request.build(), bearerTokenDeserializer); } @Override @@ -567,7 +652,7 @@ public ListenableFuture> optionalEmpty(AuthHeader authHeader) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(optionalEmptyChannel, _request.build(), optionalEmptyDeserializer); + return _runtime.clients().call(optionalEmptyChannel, _request.build(), optionalStringDeserializer); } @Override @@ -579,7 +664,7 @@ public ListenableFuture datetime(AuthHeader authHeader) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(datetimeChannel, _request.build(), datetimeDeserializer); + return _runtime.clients().call(datetimeChannel, _request.build(), offsetDateTimeDeserializer); } @Override @@ -591,7 +676,7 @@ public ListenableFuture binary(AuthHeader authHeader) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(binaryChannel, _request.build(), binaryDeserializer); + return _runtime.clients().call(binaryChannel, _request.build(), inputStreamDeserializer); } @Override @@ -604,7 +689,7 @@ public ListenableFuture path(AuthHeader authHeader, String param) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(pathChannel, _request.build(), pathDeserializer); + return _runtime.clients().call(pathChannel, _request.build(), stringDeserializer); } @Override @@ -617,7 +702,7 @@ public ListenableFuture externalLongPath(AuthHeader authHeader, long param "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(externalLongPathChannel, _request.build(), externalLongPathDeserializer); + return _runtime.clients().call(externalLongPathChannel, _request.build(), longDeserializer); } @Override @@ -634,10 +719,7 @@ public ListenableFuture> optionalExternalLongQuery( _runtime.bodySerDe().errorParameterFormat().get().toString()); } return _runtime.clients() - .call( - optionalExternalLongQueryChannel, - _request.build(), - optionalExternalLongQueryDeserializer); + .call(optionalExternalLongQueryChannel, _request.build(), optionalLongDeserializer); } @Override @@ -651,7 +733,7 @@ public ListenableFuture notNullBody( "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(notNullBodyChannel, _request.build(), notNullBodyDeserializer); + return _runtime.clients().call(notNullBodyChannel, _request.build(), stringAliasExampleDeserializer); } @Override @@ -665,7 +747,7 @@ public ListenableFuture aliasOne( "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(aliasOneChannel, _request.build(), aliasOneDeserializer); + return _runtime.clients().call(aliasOneChannel, _request.build(), stringAliasExampleDeserializer); } @Override @@ -683,7 +765,8 @@ public ListenableFuture optionalAliasOne( "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(optionalAliasOneChannel, _request.build(), optionalAliasOneDeserializer); + return _runtime.clients() + .call(optionalAliasOneChannel, _request.build(), stringAliasExampleDeserializer); } @Override @@ -699,7 +782,7 @@ public ListenableFuture aliasTwo( "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(aliasTwoChannel, _request.build(), aliasTwoDeserializer); + return _runtime.clients().call(aliasTwoChannel, _request.build(), nestedStringAliasExampleDeserializer); } @Override @@ -717,7 +800,7 @@ public ListenableFuture not .call( notNullBodyExternalImportChannel, _request.build(), - notNullBodyExternalImportDeserializer); + stringAliasExample1pxrnbvDeserializer); } @Override @@ -736,7 +819,7 @@ public ListenableFuture not .call( optionalBodyExternalImportChannel, _request.build(), - optionalBodyExternalImportDeserializer); + optionalStringAliasExampleDeserializer); } @Override @@ -758,7 +841,7 @@ public ListenableFuture not .call( optionalQueryExternalImportChannel, _request.build(), - optionalQueryExternalImportDeserializer); + optionalStringAliasExampleDeserializer); } @Override @@ -770,7 +853,7 @@ public ListenableFuture noReturn(AuthHeader authHeader) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(noReturnChannel, _request.build(), noReturnDeserializer); + return _runtime.clients().call(noReturnChannel, _request.build(), voidDeserializer); } @Override @@ -783,7 +866,7 @@ public ListenableFuture enumQuery(AuthHeader authHeader, SimpleEnum "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(enumQueryChannel, _request.build(), enumQueryDeserializer); + return _runtime.clients().call(enumQueryChannel, _request.build(), simpleEnumDeserializer); } @Override @@ -799,7 +882,7 @@ public ListenableFuture> enumListQuery( "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(enumListQueryChannel, _request.build(), enumListQueryDeserializer); + return _runtime.clients().call(enumListQueryChannel, _request.build(), listSimpleEnumDeserializer); } @Override @@ -816,7 +899,7 @@ public ListenableFuture> optionalEnumQuery( _runtime.bodySerDe().errorParameterFormat().get().toString()); } return _runtime.clients() - .call(optionalEnumQueryChannel, _request.build(), optionalEnumQueryDeserializer); + .call(optionalEnumQueryChannel, _request.build(), optionalSimpleEnumDeserializer); } @Override @@ -829,7 +912,7 @@ public ListenableFuture enumHeader(AuthHeader authHeader, SimpleEnum "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(enumHeaderChannel, _request.build(), enumHeaderDeserializer); + return _runtime.clients().call(enumHeaderChannel, _request.build(), simpleEnumDeserializer); } @Override @@ -843,7 +926,7 @@ public ListenableFuture jsonErrorsHeader(AuthHeader authHeader, String h "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(jsonErrorsHeaderChannel, _request.build(), jsonErrorsHeaderDeserializer); + return _runtime.clients().call(jsonErrorsHeaderChannel, _request.build(), stringDeserializer); } @Override @@ -858,10 +941,7 @@ public ListenableFuture errorParameterSerialization(AuthHeader authHeade _runtime.bodySerDe().errorParameterFormat().get().toString()); } return _runtime.clients() - .call( - errorParameterSerializationChannel, - _request.build(), - errorParameterSerializationDeserializer); + .call(errorParameterSerializationChannel, _request.build(), stringDeserializer); } @Override @@ -879,7 +959,7 @@ public ListenableFuture> aliasLongEndpoint( _runtime.bodySerDe().errorParameterFormat().get().toString()); } return _runtime.clients() - .call(aliasLongEndpointChannel, _request.build(), aliasLongEndpointDeserializer); + .call(aliasLongEndpointChannel, _request.build(), optionalLongAliasDeserializer); } @Override @@ -906,8 +986,7 @@ public ListenableFuture complexQueryParameters( "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients() - .call(complexQueryParametersChannel, _request.build(), complexQueryParametersDeserializer); + return _runtime.clients().call(complexQueryParametersChannel, _request.build(), voidDeserializer); } @Override @@ -920,8 +999,7 @@ public ListenableFuture receiveListOfOptionals(AuthHeader authHeader, List "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients() - .call(receiveListOfOptionalsChannel, _request.build(), receiveListOfOptionalsDeserializer); + return _runtime.clients().call(receiveListOfOptionalsChannel, _request.build(), voidDeserializer); } @Override @@ -934,8 +1012,7 @@ public ListenableFuture receiveSetOfOptionals(AuthHeader authHeader, Set receiveListOfStrings(AuthHeader authHeader, List union(AuthHeader authHeader, SimpleUnion va "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(unionChannel, _request.build(), unionDeserializer); + return _runtime.clients().call(unionChannel, _request.build(), simpleUnionDeserializer); } @Override diff --git a/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EteServiceBlocking.java b/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EteServiceBlocking.java index 37d42f6ea..e8e2f1da4 100644 --- a/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EteServiceBlocking.java +++ b/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/com/palantir/product/EteServiceBlocking.java @@ -218,115 +218,256 @@ void complexQueryParameters( /** Creates a synchronous/blocking client for a EteService service. */ static EteServiceBlocking of(EndpointChannelFactory _endpointChannelFactory, ConjureRuntime _runtime) { return new EteServiceBlocking() { - private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); + private static final TypeMarker stringTypeMarker = new TypeMarker() {}; - private final EndpointChannel stringChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.string); + private static final TypeMarker integerTypeMarker = new TypeMarker() {}; + + private static final TypeMarker doubleTypeMarker = new TypeMarker() {}; + + private static final TypeMarker booleanTypeMarker = new TypeMarker() {}; + + private static final TypeMarker safeLongTypeMarker = new TypeMarker() {}; + + private static final TypeMarker resourceIdentifierTypeMarker = + new TypeMarker() {}; + + private static final TypeMarker bearerTokenTypeMarker = new TypeMarker() {}; + + private static final TypeMarker> optionalStringTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker offsetDateTimeTypeMarker = + new TypeMarker() {}; + + private static final TypeMarker inputStreamTypeMarker = new TypeMarker() {}; + + private static final TypeMarker longTypeMarker = new TypeMarker() {}; + + private static final TypeMarker> optionalLongTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker stringAliasExampleTypeMarker = + new TypeMarker() {}; + + private static final TypeMarker nestedStringAliasExampleTypeMarker = + new TypeMarker() {}; + + private static final TypeMarker + stringAliasExample1pxrnbvTypeMarker = + new TypeMarker() {}; + + private static final TypeMarker> + optionalStringAliasExampleTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker voidTypeMarker = new TypeMarker() {}; + + private static final TypeMarker simpleEnumTypeMarker = new TypeMarker() {}; + + private static final TypeMarker> listSimpleEnumTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker> optionalSimpleEnumTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker> optionalLongAliasTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker simpleUnionTypeMarker = new TypeMarker() {}; + + private static final ExceptionDeserializerArgs stringExceptionArgs = + createExceptionDeserializerArgs(stringTypeMarker); + + private static final ExceptionDeserializerArgs integerExceptionArgs = + createExceptionDeserializerArgs(integerTypeMarker); + + private static final ExceptionDeserializerArgs doubleExceptionArgs = + createExceptionDeserializerArgs(doubleTypeMarker); + + private static final ExceptionDeserializerArgs booleanExceptionArgs = + createExceptionDeserializerArgs(booleanTypeMarker); + + private static final ExceptionDeserializerArgs safeLongExceptionArgs = + createExceptionDeserializerArgs(safeLongTypeMarker); + + private static final ExceptionDeserializerArgs resourceIdentifierExceptionArgs = + createExceptionDeserializerArgs(resourceIdentifierTypeMarker); + + private static final ExceptionDeserializerArgs bearerTokenExceptionArgs = + createExceptionDeserializerArgs(bearerTokenTypeMarker); + + private static final ExceptionDeserializerArgs> optionalStringExceptionArgs = + createExceptionDeserializerArgs(optionalStringTypeMarker); + + private static final ExceptionDeserializerArgs offsetDateTimeExceptionArgs = + createExceptionDeserializerArgs(offsetDateTimeTypeMarker); + + private static final ExceptionDeserializerArgs inputStreamExceptionArgs = + createExceptionDeserializerArgs(inputStreamTypeMarker); + + private static final ExceptionDeserializerArgs longExceptionArgs = + createExceptionDeserializerArgs(longTypeMarker); + + private static final ExceptionDeserializerArgs> optionalLongExceptionArgs = + createExceptionDeserializerArgs(optionalLongTypeMarker); + + private static final ExceptionDeserializerArgs stringAliasExampleExceptionArgs = + createExceptionDeserializerArgs(stringAliasExampleTypeMarker); + + private static final ExceptionDeserializerArgs + nestedStringAliasExampleExceptionArgs = + createExceptionDeserializerArgs(nestedStringAliasExampleTypeMarker); + + private static final ExceptionDeserializerArgs + stringAliasExample1pxrnbvExceptionArgs = + createExceptionDeserializerArgs(stringAliasExample1pxrnbvTypeMarker); + + private static final ExceptionDeserializerArgs< + Optional> + optionalStringAliasExampleExceptionArgs = + createExceptionDeserializerArgs(optionalStringAliasExampleTypeMarker); + + private static final ExceptionDeserializerArgs voidExceptionArgs = + createExceptionDeserializerArgs(voidTypeMarker); + + private static final ExceptionDeserializerArgs simpleEnumExceptionArgs = + createExceptionDeserializerArgs(simpleEnumTypeMarker); + + private static final ExceptionDeserializerArgs> listSimpleEnumExceptionArgs = + createExceptionDeserializerArgs(listSimpleEnumTypeMarker); + + private static final ExceptionDeserializerArgs> optionalSimpleEnumExceptionArgs = + createExceptionDeserializerArgs(optionalSimpleEnumTypeMarker); + + private static final ExceptionDeserializerArgs> optionalLongAliasExceptionArgs = + createExceptionDeserializerArgs(optionalLongAliasTypeMarker); + + private static final ExceptionDeserializerArgs simpleUnionExceptionArgs = + createExceptionDeserializerArgs(simpleUnionTypeMarker); + + private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); private final Deserializer stringDeserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); + _runtime.bodySerDe().deserializer(stringExceptionArgs); + + private final Deserializer integerDeserializer = + _runtime.bodySerDe().deserializer(integerExceptionArgs); + + private final Deserializer doubleDeserializer = + _runtime.bodySerDe().deserializer(doubleExceptionArgs); + + private final Deserializer booleanDeserializer = + _runtime.bodySerDe().deserializer(booleanExceptionArgs); + + private final Deserializer safeLongDeserializer = + _runtime.bodySerDe().deserializer(safeLongExceptionArgs); + + private final Deserializer resourceIdentifierDeserializer = + _runtime.bodySerDe().deserializer(resourceIdentifierExceptionArgs); + + private final Deserializer bearerTokenDeserializer = + _runtime.bodySerDe().deserializer(bearerTokenExceptionArgs); + + private final Deserializer> optionalStringDeserializer = + _runtime.bodySerDe().deserializer(optionalStringExceptionArgs); + + private final Deserializer offsetDateTimeDeserializer = + _runtime.bodySerDe().deserializer(offsetDateTimeExceptionArgs); + + private final Deserializer inputStreamDeserializer = + _runtime.bodySerDe().inputStreamDeserializer(inputStreamExceptionArgs); + + private final Deserializer longDeserializer = + _runtime.bodySerDe().deserializer(longExceptionArgs); + + private final Deserializer> optionalLongDeserializer = + _runtime.bodySerDe().deserializer(optionalLongExceptionArgs); + + private final Deserializer stringAliasExampleDeserializer = + _runtime.bodySerDe().deserializer(stringAliasExampleExceptionArgs); + + private final Deserializer nestedStringAliasExampleDeserializer = + _runtime.bodySerDe().deserializer(nestedStringAliasExampleExceptionArgs); + + private final Deserializer + stringAliasExample1pxrnbvDeserializer = + _runtime.bodySerDe().deserializer(stringAliasExample1pxrnbvExceptionArgs); + + private final Deserializer> + optionalStringAliasExampleDeserializer = + _runtime.bodySerDe().deserializer(optionalStringAliasExampleExceptionArgs); + + private final Deserializer voidDeserializer = + _runtime.bodySerDe().emptyBodyDeserializer(voidExceptionArgs); + + private final Deserializer simpleEnumDeserializer = + _runtime.bodySerDe().deserializer(simpleEnumExceptionArgs); + + private final Deserializer> listSimpleEnumDeserializer = + _runtime.bodySerDe().deserializer(listSimpleEnumExceptionArgs); + + private final Deserializer> optionalSimpleEnumDeserializer = + _runtime.bodySerDe().deserializer(optionalSimpleEnumExceptionArgs); + + private final Deserializer> optionalLongAliasDeserializer = + _runtime.bodySerDe().deserializer(optionalLongAliasExceptionArgs); + + private final Deserializer simpleUnionDeserializer = + _runtime.bodySerDe().deserializer(simpleUnionExceptionArgs); + + private final EndpointChannel stringChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.string); private final EndpointChannel integerChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.integer); - private final Deserializer integerDeserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel double_Channel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.double_); - private final Deserializer double_Deserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel boolean_Channel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.boolean_); - private final Deserializer boolean_Deserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel safelongChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.safelong); - private final Deserializer safelongDeserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel ridChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.rid); - private final Deserializer ridDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel bearertokenChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.bearertoken); - private final Deserializer bearertokenDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel optionalStringChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalString); - private final Deserializer> optionalStringDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker>() {})); - private final EndpointChannel optionalEmptyChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalEmpty); - private final Deserializer> optionalEmptyDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker>() {})); - private final EndpointChannel datetimeChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.datetime); - private final Deserializer datetimeDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel binaryChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.binary); - private final Deserializer binaryDeserializer = _runtime.bodySerDe() - .inputStreamDeserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel pathChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.path); - private final Deserializer pathDeserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel externalLongPathChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.externalLongPath); - private final Deserializer externalLongPathDeserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel optionalExternalLongQueryChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalExternalLongQuery); - private final Deserializer> optionalExternalLongQueryDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker>() {})); - private final Serializer notNullBodySerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel notNullBodyChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.notNullBody); - private final Deserializer notNullBodyDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel aliasOneChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.aliasOne); - private final Deserializer aliasOneDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel optionalAliasOneChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalAliasOne); - private final Deserializer optionalAliasOneDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel aliasTwoChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.aliasTwo); - private final Deserializer aliasTwoDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final Serializer notNullBodyExternalImportSerializer = _runtime.bodySerDe() .serializer(new TypeMarker() {}); @@ -334,11 +475,6 @@ static EteServiceBlocking of(EndpointChannelFactory _endpointChannelFactory, Con private final EndpointChannel notNullBodyExternalImportChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.notNullBodyExternalImport); - private final Deserializer - notNullBodyExternalImportDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs( - new TypeMarker() {})); - private final Serializer> optionalBodyExternalImportSerializer = _runtime.bodySerDe() .serializer( @@ -347,110 +483,59 @@ static EteServiceBlocking of(EndpointChannelFactory _endpointChannelFactory, Con private final EndpointChannel optionalBodyExternalImportChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalBodyExternalImport); - private final Deserializer> - optionalBodyExternalImportDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs( - new TypeMarker< - Optional>() {})); - private final EndpointChannel optionalQueryExternalImportChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalQueryExternalImport); - private final Deserializer> - optionalQueryExternalImportDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs( - new TypeMarker< - Optional>() {})); - private final EndpointChannel noReturnChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.noReturn); - private final Deserializer noReturnDeserializer = _runtime.bodySerDe() - .emptyBodyDeserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel enumQueryChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.enumQuery); - private final Deserializer enumQueryDeserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel enumListQueryChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.enumListQuery); - private final Deserializer> enumListQueryDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker>() {})); - private final EndpointChannel optionalEnumQueryChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.optionalEnumQuery); - private final Deserializer> optionalEnumQueryDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker>() {})); - private final EndpointChannel enumHeaderChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.enumHeader); - private final Deserializer enumHeaderDeserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel jsonErrorsHeaderChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.jsonErrorsHeader); - private final Deserializer jsonErrorsHeaderDeserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel errorParameterSerializationChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.errorParameterSerialization); - private final Deserializer errorParameterSerializationDeserializer = - _runtime.bodySerDe().deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final EndpointChannel aliasLongEndpointChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.aliasLongEndpoint); - private final Deserializer> aliasLongEndpointDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker>() {})); - private final EndpointChannel complexQueryParametersChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.complexQueryParameters); - private final Deserializer complexQueryParametersDeserializer = _runtime.bodySerDe() - .emptyBodyDeserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final Serializer>> receiveListOfOptionalsSerializer = _runtime.bodySerDe().serializer(new TypeMarker>>() {}); private final EndpointChannel receiveListOfOptionalsChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.receiveListOfOptionals); - private final Deserializer receiveListOfOptionalsDeserializer = _runtime.bodySerDe() - .emptyBodyDeserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final Serializer>> receiveSetOfOptionalsSerializer = _runtime.bodySerDe().serializer(new TypeMarker>>() {}); private final EndpointChannel receiveSetOfOptionalsChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.receiveSetOfOptionals); - private final Deserializer receiveSetOfOptionalsDeserializer = _runtime.bodySerDe() - .emptyBodyDeserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final Serializer> receiveListOfStringsSerializer = _runtime.bodySerDe().serializer(new TypeMarker>() {}); private final EndpointChannel receiveListOfStringsChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.receiveListOfStrings); - private final Deserializer receiveListOfStringsDeserializer = _runtime.bodySerDe() - .emptyBodyDeserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private final Serializer unionSerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel unionChannel = _endpointChannelFactory.endpoint(DialogueEteEndpoints.union); - private final Deserializer unionDeserializer = _runtime.bodySerDe() - .deserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private static ExceptionDeserializerArgs createExceptionDeserializerArgs(TypeMarker returnType) { ExceptionDeserializerArgs.Builder builder = ExceptionDeserializerArgs.builder().returnType(returnType); @@ -494,7 +579,7 @@ public double double_(AuthHeader authHeader) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().callBlocking(double_Channel, _request.build(), double_Deserializer); + return _runtime.clients().callBlocking(double_Channel, _request.build(), doubleDeserializer); } @Override @@ -506,7 +591,7 @@ public boolean boolean_(AuthHeader authHeader) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().callBlocking(boolean_Channel, _request.build(), boolean_Deserializer); + return _runtime.clients().callBlocking(boolean_Channel, _request.build(), booleanDeserializer); } @Override @@ -518,7 +603,7 @@ public SafeLong safelong(AuthHeader authHeader) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().callBlocking(safelongChannel, _request.build(), safelongDeserializer); + return _runtime.clients().callBlocking(safelongChannel, _request.build(), safeLongDeserializer); } @Override @@ -530,7 +615,7 @@ public ResourceIdentifier rid(AuthHeader authHeader) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().callBlocking(ridChannel, _request.build(), ridDeserializer); + return _runtime.clients().callBlocking(ridChannel, _request.build(), resourceIdentifierDeserializer); } @Override @@ -542,7 +627,7 @@ public BearerToken bearertoken(AuthHeader authHeader) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().callBlocking(bearertokenChannel, _request.build(), bearertokenDeserializer); + return _runtime.clients().callBlocking(bearertokenChannel, _request.build(), bearerTokenDeserializer); } @Override @@ -568,7 +653,7 @@ public Optional optionalEmpty(AuthHeader authHeader) { _runtime.bodySerDe().errorParameterFormat().get().toString()); } return _runtime.clients() - .callBlocking(optionalEmptyChannel, _request.build(), optionalEmptyDeserializer); + .callBlocking(optionalEmptyChannel, _request.build(), optionalStringDeserializer); } @Override @@ -580,7 +665,7 @@ public OffsetDateTime datetime(AuthHeader authHeader) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().callBlocking(datetimeChannel, _request.build(), datetimeDeserializer); + return _runtime.clients().callBlocking(datetimeChannel, _request.build(), offsetDateTimeDeserializer); } @Override @@ -592,7 +677,7 @@ public InputStream binary(AuthHeader authHeader) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().callBlocking(binaryChannel, _request.build(), binaryDeserializer); + return _runtime.clients().callBlocking(binaryChannel, _request.build(), inputStreamDeserializer); } @Override @@ -605,7 +690,7 @@ public String path(AuthHeader authHeader, String param) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().callBlocking(pathChannel, _request.build(), pathDeserializer); + return _runtime.clients().callBlocking(pathChannel, _request.build(), stringDeserializer); } @Override @@ -618,8 +703,7 @@ public long externalLongPath(AuthHeader authHeader, long param) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients() - .callBlocking(externalLongPathChannel, _request.build(), externalLongPathDeserializer); + return _runtime.clients().callBlocking(externalLongPathChannel, _request.build(), longDeserializer); } @Override @@ -635,10 +719,7 @@ public Optional optionalExternalLongQuery(AuthHeader authHeader, Optional< _runtime.bodySerDe().errorParameterFormat().get().toString()); } return _runtime.clients() - .callBlocking( - optionalExternalLongQueryChannel, - _request.build(), - optionalExternalLongQueryDeserializer); + .callBlocking(optionalExternalLongQueryChannel, _request.build(), optionalLongDeserializer); } @Override @@ -651,7 +732,8 @@ public StringAliasExample notNullBody(AuthHeader authHeader, StringAliasExample "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().callBlocking(notNullBodyChannel, _request.build(), notNullBodyDeserializer); + return _runtime.clients() + .callBlocking(notNullBodyChannel, _request.build(), stringAliasExampleDeserializer); } @Override @@ -664,7 +746,8 @@ public StringAliasExample aliasOne(AuthHeader authHeader, StringAliasExample que "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().callBlocking(aliasOneChannel, _request.build(), aliasOneDeserializer); + return _runtime.clients() + .callBlocking(aliasOneChannel, _request.build(), stringAliasExampleDeserializer); } @Override @@ -683,7 +766,7 @@ public StringAliasExample optionalAliasOne( _runtime.bodySerDe().errorParameterFormat().get().toString()); } return _runtime.clients() - .callBlocking(optionalAliasOneChannel, _request.build(), optionalAliasOneDeserializer); + .callBlocking(optionalAliasOneChannel, _request.build(), stringAliasExampleDeserializer); } @Override @@ -698,7 +781,8 @@ public NestedStringAliasExample aliasTwo(AuthHeader authHeader, NestedStringAlia "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().callBlocking(aliasTwoChannel, _request.build(), aliasTwoDeserializer); + return _runtime.clients() + .callBlocking(aliasTwoChannel, _request.build(), nestedStringAliasExampleDeserializer); } @Override @@ -716,7 +800,7 @@ public allexamples.com.palantir.product.StringAliasExample notNullBodyExternalIm .callBlocking( notNullBodyExternalImportChannel, _request.build(), - notNullBodyExternalImportDeserializer); + stringAliasExample1pxrnbvDeserializer); } @Override @@ -734,7 +818,7 @@ public Optional optionalBod .callBlocking( optionalBodyExternalImportChannel, _request.build(), - optionalBodyExternalImportDeserializer); + optionalStringAliasExampleDeserializer); } @Override @@ -754,7 +838,7 @@ public Optional optionalQue .callBlocking( optionalQueryExternalImportChannel, _request.build(), - optionalQueryExternalImportDeserializer); + optionalStringAliasExampleDeserializer); } @Override @@ -766,7 +850,7 @@ public void noReturn(AuthHeader authHeader) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - _runtime.clients().callBlocking(noReturnChannel, _request.build(), noReturnDeserializer); + _runtime.clients().callBlocking(noReturnChannel, _request.build(), voidDeserializer); } @Override @@ -779,7 +863,7 @@ public SimpleEnum enumQuery(AuthHeader authHeader, SimpleEnum queryParamName) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().callBlocking(enumQueryChannel, _request.build(), enumQueryDeserializer); + return _runtime.clients().callBlocking(enumQueryChannel, _request.build(), simpleEnumDeserializer); } @Override @@ -795,7 +879,7 @@ public List enumListQuery(AuthHeader authHeader, List qu _runtime.bodySerDe().errorParameterFormat().get().toString()); } return _runtime.clients() - .callBlocking(enumListQueryChannel, _request.build(), enumListQueryDeserializer); + .callBlocking(enumListQueryChannel, _request.build(), listSimpleEnumDeserializer); } @Override @@ -811,7 +895,7 @@ public Optional optionalEnumQuery(AuthHeader authHeader, Optional aliasLongEndpoint(AuthHeader authHeader, Optional> "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - _runtime.clients() - .callBlocking( - receiveListOfOptionalsChannel, _request.build(), receiveListOfOptionalsDeserializer); + _runtime.clients().callBlocking(receiveListOfOptionalsChannel, _request.build(), voidDeserializer); } @Override @@ -931,9 +1007,7 @@ public void receiveSetOfOptionals(AuthHeader authHeader, Set> v "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - _runtime.clients() - .callBlocking( - receiveSetOfOptionalsChannel, _request.build(), receiveSetOfOptionalsDeserializer); + _runtime.clients().callBlocking(receiveSetOfOptionalsChannel, _request.build(), voidDeserializer); } @Override @@ -946,8 +1020,7 @@ public void receiveListOfStrings(AuthHeader authHeader, List value) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - _runtime.clients() - .callBlocking(receiveListOfStringsChannel, _request.build(), receiveListOfStringsDeserializer); + _runtime.clients().callBlocking(receiveListOfStringsChannel, _request.build(), voidDeserializer); } @Override @@ -960,7 +1033,7 @@ public SimpleUnion union(AuthHeader authHeader, SimpleUnion value) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().callBlocking(unionChannel, _request.build(), unionDeserializer); + return _runtime.clients().callBlocking(unionChannel, _request.build(), simpleUnionDeserializer); } @Override diff --git a/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/test/api/CookieServiceAsync.java b/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/test/api/CookieServiceAsync.java index 36c92aef7..edc4ad7fb 100644 --- a/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/test/api/CookieServiceAsync.java +++ b/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/test/api/CookieServiceAsync.java @@ -32,14 +32,19 @@ public interface CookieServiceAsync { /** Creates an asynchronous/non-blocking client for a CookieService service. */ static CookieServiceAsync of(EndpointChannelFactory _endpointChannelFactory, ConjureRuntime _runtime) { return new CookieServiceAsync() { + private static final TypeMarker voidTypeMarker = new TypeMarker() {}; + + private static final ExceptionDeserializerArgs voidExceptionArgs = + createExceptionDeserializerArgs(voidTypeMarker); + private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); + private final Deserializer voidDeserializer = + _runtime.bodySerDe().emptyBodyDeserializer(voidExceptionArgs); + private final EndpointChannel eatCookiesChannel = _endpointChannelFactory.endpoint(DialogueCookieEndpoints.eatCookies); - private final Deserializer eatCookiesDeserializer = _runtime.bodySerDe() - .emptyBodyDeserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private static ExceptionDeserializerArgs createExceptionDeserializerArgs(TypeMarker returnType) { ExceptionDeserializerArgs.Builder builder = ExceptionDeserializerArgs.builder().returnType(returnType); @@ -59,7 +64,7 @@ public ListenableFuture eatCookies(BearerToken token) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - return _runtime.clients().call(eatCookiesChannel, _request.build(), eatCookiesDeserializer); + return _runtime.clients().call(eatCookiesChannel, _request.build(), voidDeserializer); } @Override diff --git a/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/test/api/CookieServiceBlocking.java b/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/test/api/CookieServiceBlocking.java index 2e7ee2fea..710b669a4 100644 --- a/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/test/api/CookieServiceBlocking.java +++ b/conjure-java-core/src/integrationInput/java/exceptionthrowingdialogueinterfaces/test/api/CookieServiceBlocking.java @@ -31,14 +31,19 @@ public interface CookieServiceBlocking { /** Creates a synchronous/blocking client for a CookieService service. */ static CookieServiceBlocking of(EndpointChannelFactory _endpointChannelFactory, ConjureRuntime _runtime) { return new CookieServiceBlocking() { + private static final TypeMarker voidTypeMarker = new TypeMarker() {}; + + private static final ExceptionDeserializerArgs voidExceptionArgs = + createExceptionDeserializerArgs(voidTypeMarker); + private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); + private final Deserializer voidDeserializer = + _runtime.bodySerDe().emptyBodyDeserializer(voidExceptionArgs); + private final EndpointChannel eatCookiesChannel = _endpointChannelFactory.endpoint(DialogueCookieEndpoints.eatCookies); - private final Deserializer eatCookiesDeserializer = _runtime.bodySerDe() - .emptyBodyDeserializer(createExceptionDeserializerArgs(new TypeMarker() {})); - private static ExceptionDeserializerArgs createExceptionDeserializerArgs(TypeMarker returnType) { ExceptionDeserializerArgs.Builder builder = ExceptionDeserializerArgs.builder().returnType(returnType); @@ -58,7 +63,7 @@ public void eatCookies(BearerToken token) { "Accept-Conjure-Error-Parameter-Format", _runtime.bodySerDe().errorParameterFormat().get().toString()); } - _runtime.clients().callBlocking(eatCookiesChannel, _request.build(), eatCookiesDeserializer); + _runtime.clients().callBlocking(eatCookiesChannel, _request.build(), voidDeserializer); } @Override diff --git a/conjure-java-core/src/integrationInput/java/excludeasyncinterfaces/com/palantir/another/TestServiceBlocking.java b/conjure-java-core/src/integrationInput/java/excludeasyncinterfaces/com/palantir/another/TestServiceBlocking.java index df308a663..07cc20277 100644 --- a/conjure-java-core/src/integrationInput/java/excludeasyncinterfaces/com/palantir/another/TestServiceBlocking.java +++ b/conjure-java-core/src/integrationInput/java/excludeasyncinterfaces/com/palantir/another/TestServiceBlocking.java @@ -178,29 +178,71 @@ void testNoResponseQueryParams( /** Creates a synchronous/blocking client for a TestService service. */ static TestServiceBlocking of(EndpointChannelFactory _endpointChannelFactory, ConjureRuntime _runtime) { return new TestServiceBlocking() { + private static final TypeMarker> mapStringBackingFileSystemTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker datasetTypeMarker = new TypeMarker() {}; + + private static final TypeMarker> optionalDatasetTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker aliasedStringTypeMarker = new TypeMarker() {}; + + private static final TypeMarker> setStringTypeMarker = new TypeMarker>() {}; + + private static final TypeMarker> optionalStringTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker integerTypeMarker = new TypeMarker() {}; + + private static final TypeMarker booleanTypeMarker = new TypeMarker() {}; + + private static final TypeMarker doubleTypeMarker = new TypeMarker() {}; + private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); + private final Deserializer> mapStringBackingFileSystemDeserializer = + _runtime.bodySerDe().deserializer(mapStringBackingFileSystemTypeMarker); + + private final Deserializer datasetDeserializer = + _runtime.bodySerDe().deserializer(datasetTypeMarker); + + private final Deserializer> optionalDatasetDeserializer = + _runtime.bodySerDe().deserializer(optionalDatasetTypeMarker); + + private final Deserializer aliasedStringDeserializer = + _runtime.bodySerDe().deserializer(aliasedStringTypeMarker); + + private final Deserializer voidDeserializer = + _runtime.bodySerDe().emptyBodyDeserializer(); + + private final Deserializer> setStringDeserializer = + _runtime.bodySerDe().deserializer(setStringTypeMarker); + + private final Deserializer> optionalStringDeserializer = + _runtime.bodySerDe().deserializer(optionalStringTypeMarker); + + private final Deserializer integerDeserializer = + _runtime.bodySerDe().deserializer(integerTypeMarker); + + private final Deserializer booleanDeserializer = + _runtime.bodySerDe().deserializer(booleanTypeMarker); + + private final Deserializer doubleDeserializer = + _runtime.bodySerDe().deserializer(doubleTypeMarker); + private final EndpointChannel getFileSystemsChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.getFileSystems); - private final Deserializer> getFileSystemsDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final Serializer createDatasetSerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel createDatasetChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.createDataset); - private final Deserializer createDatasetDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel getDatasetChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.getDataset); - private final Deserializer> getDatasetDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel getRawDataChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.getRawData); @@ -213,117 +255,69 @@ static TestServiceBlocking of(EndpointChannelFactory _endpointChannelFactory, Co private final EndpointChannel getAliasedStringChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.getAliasedString); - private final Deserializer getAliasedStringDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel uploadRawDataChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.uploadRawData); - private final Deserializer uploadRawDataDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - private final Serializer uploadAliasedRawDataSerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel uploadAliasedRawDataChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.uploadAliasedRawData); - private final Deserializer uploadAliasedRawDataDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - private final EndpointChannel getBranchesChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.getBranches); - private final Deserializer> getBranchesDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel getBranchesDeprecatedChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.getBranchesDeprecated); - private final Deserializer> getBranchesDeprecatedDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel getBranchesDeprecatedForRemovalChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.getBranchesDeprecatedForRemoval); - private final Deserializer> getBranchesDeprecatedForRemovalDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel resolveBranchChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.resolveBranch); - private final Deserializer> resolveBranchDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel testParamChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.testParam); - private final Deserializer> testParamDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final Serializer testQueryParamsSerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel testQueryParamsChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.testQueryParams); - private final Deserializer testQueryParamsDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final Serializer testNoResponseQueryParamsSerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel testNoResponseQueryParamsChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.testNoResponseQueryParams); - private final Deserializer testNoResponseQueryParamsDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - private final EndpointChannel testBooleanChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.testBoolean); - private final Deserializer testBooleanDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel testDoubleChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.testDouble); - private final Deserializer testDoubleDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel testIntegerChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.testInteger); - private final Deserializer testIntegerDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final Serializer> testPostOptionalSerializer = _runtime.bodySerDe().serializer(new TypeMarker>() {}); private final EndpointChannel testPostOptionalChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.testPostOptional); - private final Deserializer> testPostOptionalDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel testOptionalIntegerAndDoubleChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.testOptionalIntegerAndDouble); - private final Deserializer testOptionalIntegerAndDoubleDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - private final EndpointChannel getForStringsChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.getForStrings); - private final Deserializer getForStringsDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - @Override public Map getFileSystems(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); return _runtime.clients() - .callBlocking(getFileSystemsChannel, _request.build(), getFileSystemsDeserializer); + .callBlocking(getFileSystemsChannel, _request.build(), mapStringBackingFileSystemDeserializer); } @Override @@ -332,8 +326,7 @@ public Dataset createDataset(AuthHeader authHeader, String testHeaderArg, Create _request.putHeaderParams("Authorization", authHeader.toString()); _request.body(createDatasetSerializer.serialize(request)); _request.putHeaderParams("Test-Header", _plainSerDe.serializeString(testHeaderArg)); - return _runtime.clients() - .callBlocking(createDatasetChannel, _request.build(), createDatasetDeserializer); + return _runtime.clients().callBlocking(createDatasetChannel, _request.build(), datasetDeserializer); } @Override @@ -341,7 +334,8 @@ public Optional getDataset(AuthHeader authHeader, ResourceIdentifier da Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.putPathParams("datasetRid", _plainSerDe.serializeRid(datasetRid)); - return _runtime.clients().callBlocking(getDatasetChannel, _request.build(), getDatasetDeserializer); + return _runtime.clients() + .callBlocking(getDatasetChannel, _request.build(), optionalDatasetDeserializer); } @Override @@ -386,7 +380,7 @@ public AliasedString getAliasedString(AuthHeader authHeader, ResourceIdentifier _request.putHeaderParams("Authorization", authHeader.toString()); _request.putPathParams("datasetRid", _plainSerDe.serializeRid(datasetRid)); return _runtime.clients() - .callBlocking(getAliasedStringChannel, _request.build(), getAliasedStringDeserializer); + .callBlocking(getAliasedStringChannel, _request.build(), aliasedStringDeserializer); } @Override @@ -394,7 +388,7 @@ public void uploadRawData(AuthHeader authHeader, BinaryRequestBody input) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.body(_runtime.bodySerDe().serialize(input)); - _runtime.clients().callBlocking(uploadRawDataChannel, _request.build(), uploadRawDataDeserializer); + _runtime.clients().callBlocking(uploadRawDataChannel, _request.build(), voidDeserializer); } @Override @@ -402,8 +396,7 @@ public void uploadAliasedRawData(AuthHeader authHeader, BinaryRequestBody input) Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.body(_runtime.bodySerDe().serialize(input)); - _runtime.clients() - .callBlocking(uploadAliasedRawDataChannel, _request.build(), uploadAliasedRawDataDeserializer); + _runtime.clients().callBlocking(uploadAliasedRawDataChannel, _request.build(), voidDeserializer); } @Override @@ -411,7 +404,7 @@ public Set getBranches(AuthHeader authHeader, ResourceIdentifier dataset Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.putPathParams("datasetRid", _plainSerDe.serializeRid(datasetRid)); - return _runtime.clients().callBlocking(getBranchesChannel, _request.build(), getBranchesDeserializer); + return _runtime.clients().callBlocking(getBranchesChannel, _request.build(), setStringDeserializer); } @Override @@ -421,8 +414,7 @@ public Set getBranchesDeprecated(AuthHeader authHeader, ResourceIdentifi _request.putHeaderParams("Authorization", authHeader.toString()); _request.putPathParams("datasetRid", _plainSerDe.serializeRid(datasetRid)); return _runtime.clients() - .callBlocking( - getBranchesDeprecatedChannel, _request.build(), getBranchesDeprecatedDeserializer); + .callBlocking(getBranchesDeprecatedChannel, _request.build(), setStringDeserializer); } @Override @@ -432,10 +424,7 @@ public Set getBranchesDeprecatedForRemoval(AuthHeader authHeader, Resour _request.putHeaderParams("Authorization", authHeader.toString()); _request.putPathParams("datasetRid", _plainSerDe.serializeRid(datasetRid)); return _runtime.clients() - .callBlocking( - getBranchesDeprecatedForRemovalChannel, - _request.build(), - getBranchesDeprecatedForRemovalDeserializer); + .callBlocking(getBranchesDeprecatedForRemovalChannel, _request.build(), setStringDeserializer); } @Override @@ -445,7 +434,7 @@ public Optional resolveBranch(AuthHeader authHeader, ResourceIdentifier _request.putPathParams("datasetRid", _plainSerDe.serializeRid(datasetRid)); _request.putPathParams("branch", _plainSerDe.serializeString(branch)); return _runtime.clients() - .callBlocking(resolveBranchChannel, _request.build(), resolveBranchDeserializer); + .callBlocking(resolveBranchChannel, _request.build(), optionalStringDeserializer); } @Override @@ -453,7 +442,7 @@ public Optional testParam(AuthHeader authHeader, ResourceIdentifier data Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.putPathParams("datasetRid", _plainSerDe.serializeRid(datasetRid)); - return _runtime.clients().callBlocking(testParamChannel, _request.build(), testParamDeserializer); + return _runtime.clients().callBlocking(testParamChannel, _request.build(), optionalStringDeserializer); } @Override @@ -479,8 +468,7 @@ public int testQueryParams( if (optionalEnd.isPresent()) { _request.putQueryParams("optionalEnd", _plainSerDe.serializeRid(optionalEnd.get())); } - return _runtime.clients() - .callBlocking(testQueryParamsChannel, _request.build(), testQueryParamsDeserializer); + return _runtime.clients().callBlocking(testQueryParamsChannel, _request.build(), integerDeserializer); } @Override @@ -506,32 +494,28 @@ public void testNoResponseQueryParams( if (optionalEnd.isPresent()) { _request.putQueryParams("optionalEnd", _plainSerDe.serializeRid(optionalEnd.get())); } - _runtime.clients() - .callBlocking( - testNoResponseQueryParamsChannel, - _request.build(), - testNoResponseQueryParamsDeserializer); + _runtime.clients().callBlocking(testNoResponseQueryParamsChannel, _request.build(), voidDeserializer); } @Override public boolean testBoolean(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); - return _runtime.clients().callBlocking(testBooleanChannel, _request.build(), testBooleanDeserializer); + return _runtime.clients().callBlocking(testBooleanChannel, _request.build(), booleanDeserializer); } @Override public double testDouble(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); - return _runtime.clients().callBlocking(testDoubleChannel, _request.build(), testDoubleDeserializer); + return _runtime.clients().callBlocking(testDoubleChannel, _request.build(), doubleDeserializer); } @Override public int testInteger(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); - return _runtime.clients().callBlocking(testIntegerChannel, _request.build(), testIntegerDeserializer); + return _runtime.clients().callBlocking(testIntegerChannel, _request.build(), integerDeserializer); } @Override @@ -540,7 +524,7 @@ public Optional testPostOptional(AuthHeader authHeader, Optional _request.putHeaderParams("Authorization", authHeader.toString()); _request.body(testPostOptionalSerializer.serialize(maybeString)); return _runtime.clients() - .callBlocking(testPostOptionalChannel, _request.build(), testPostOptionalDeserializer); + .callBlocking(testPostOptionalChannel, _request.build(), optionalStringDeserializer); } @Override @@ -555,10 +539,7 @@ public void testOptionalIntegerAndDouble( _request.putQueryParams("maybeDouble", _plainSerDe.serializeDouble(maybeDouble.getAsDouble())); } _runtime.clients() - .callBlocking( - testOptionalIntegerAndDoubleChannel, - _request.build(), - testOptionalIntegerAndDoubleDeserializer); + .callBlocking(testOptionalIntegerAndDoubleChannel, _request.build(), voidDeserializer); } @Override @@ -570,7 +551,7 @@ public void getForStrings( for (AliasedString stringsElement : strings) { _request.putQueryParams("strings", _plainSerDe.serializeString(stringsElement.get())); } - _runtime.clients().callBlocking(getForStringsChannel, _request.build(), getForStringsDeserializer); + _runtime.clients().callBlocking(getForStringsChannel, _request.build(), voidDeserializer); } @Override diff --git a/conjure-java-core/src/integrationInput/java/externalfallbacktypes/com/palantir/product/external/ServiceUsingExternalTypesAsync.java b/conjure-java-core/src/integrationInput/java/externalfallbacktypes/com/palantir/product/external/ServiceUsingExternalTypesAsync.java index 218786792..d9b3b9b3e 100644 --- a/conjure-java-core/src/integrationInput/java/externalfallbacktypes/com/palantir/product/external/ServiceUsingExternalTypesAsync.java +++ b/conjure-java-core/src/integrationInput/java/externalfallbacktypes/com/palantir/product/external/ServiceUsingExternalTypesAsync.java @@ -31,23 +31,26 @@ public interface ServiceUsingExternalTypesAsync { /** Creates an asynchronous/non-blocking client for a ServiceUsingExternalTypes service. */ static ServiceUsingExternalTypesAsync of(EndpointChannelFactory _endpointChannelFactory, ConjureRuntime _runtime) { return new ServiceUsingExternalTypesAsync() { + private static final TypeMarker> mapStringStringTypeMarker = + new TypeMarker>() {}; + private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); + private final Deserializer> mapStringStringDeserializer = + _runtime.bodySerDe().deserializer(mapStringStringTypeMarker); + private final Serializer> externalSerializer = _runtime.bodySerDe().serializer(new TypeMarker>() {}); private final EndpointChannel externalChannel = _endpointChannelFactory.endpoint(DialogueServiceUsingExternalTypesEndpoints.external); - private final Deserializer> externalDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - @Override public ListenableFuture> external(String path, List body) { Request.Builder _request = Request.builder(); _request.putPathParams("path", _plainSerDe.serializeString(path)); _request.body(externalSerializer.serialize(body)); - return _runtime.clients().call(externalChannel, _request.build(), externalDeserializer); + return _runtime.clients().call(externalChannel, _request.build(), mapStringStringDeserializer); } @Override diff --git a/conjure-java-core/src/integrationInput/java/externalfallbacktypes/com/palantir/product/external/ServiceUsingExternalTypesBlocking.java b/conjure-java-core/src/integrationInput/java/externalfallbacktypes/com/palantir/product/external/ServiceUsingExternalTypesBlocking.java index 67cef41c1..0cda667b5 100644 --- a/conjure-java-core/src/integrationInput/java/externalfallbacktypes/com/palantir/product/external/ServiceUsingExternalTypesBlocking.java +++ b/conjure-java-core/src/integrationInput/java/externalfallbacktypes/com/palantir/product/external/ServiceUsingExternalTypesBlocking.java @@ -31,23 +31,26 @@ public interface ServiceUsingExternalTypesBlocking { static ServiceUsingExternalTypesBlocking of( EndpointChannelFactory _endpointChannelFactory, ConjureRuntime _runtime) { return new ServiceUsingExternalTypesBlocking() { + private static final TypeMarker> mapStringStringTypeMarker = + new TypeMarker>() {}; + private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); + private final Deserializer> mapStringStringDeserializer = + _runtime.bodySerDe().deserializer(mapStringStringTypeMarker); + private final Serializer> externalSerializer = _runtime.bodySerDe().serializer(new TypeMarker>() {}); private final EndpointChannel externalChannel = _endpointChannelFactory.endpoint(DialogueServiceUsingExternalTypesEndpoints.external); - private final Deserializer> externalDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - @Override public Map external(String path, List body) { Request.Builder _request = Request.builder(); _request.putPathParams("path", _plainSerDe.serializeString(path)); _request.body(externalSerializer.serialize(body)); - return _runtime.clients().callBlocking(externalChannel, _request.build(), externalDeserializer); + return _runtime.clients().callBlocking(externalChannel, _request.build(), mapStringStringDeserializer); } @Override diff --git a/conjure-java-core/src/integrationInput/java/servicevanilla/com/palantir/another/TestServiceAsync.java b/conjure-java-core/src/integrationInput/java/servicevanilla/com/palantir/another/TestServiceAsync.java index 84376eb0a..569dde227 100644 --- a/conjure-java-core/src/integrationInput/java/servicevanilla/com/palantir/another/TestServiceAsync.java +++ b/conjure-java-core/src/integrationInput/java/servicevanilla/com/palantir/another/TestServiceAsync.java @@ -181,29 +181,71 @@ ListenableFuture getForStrings( /** Creates an asynchronous/non-blocking client for a TestService service. */ static TestServiceAsync of(EndpointChannelFactory _endpointChannelFactory, ConjureRuntime _runtime) { return new TestServiceAsync() { + private static final TypeMarker> mapStringBackingFileSystemTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker datasetTypeMarker = new TypeMarker() {}; + + private static final TypeMarker> optionalDatasetTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker aliasedStringTypeMarker = new TypeMarker() {}; + + private static final TypeMarker> setStringTypeMarker = new TypeMarker>() {}; + + private static final TypeMarker> optionalStringTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker integerTypeMarker = new TypeMarker() {}; + + private static final TypeMarker booleanTypeMarker = new TypeMarker() {}; + + private static final TypeMarker doubleTypeMarker = new TypeMarker() {}; + private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); + private final Deserializer> mapStringBackingFileSystemDeserializer = + _runtime.bodySerDe().deserializer(mapStringBackingFileSystemTypeMarker); + + private final Deserializer datasetDeserializer = + _runtime.bodySerDe().deserializer(datasetTypeMarker); + + private final Deserializer> optionalDatasetDeserializer = + _runtime.bodySerDe().deserializer(optionalDatasetTypeMarker); + + private final Deserializer aliasedStringDeserializer = + _runtime.bodySerDe().deserializer(aliasedStringTypeMarker); + + private final Deserializer voidDeserializer = + _runtime.bodySerDe().emptyBodyDeserializer(); + + private final Deserializer> setStringDeserializer = + _runtime.bodySerDe().deserializer(setStringTypeMarker); + + private final Deserializer> optionalStringDeserializer = + _runtime.bodySerDe().deserializer(optionalStringTypeMarker); + + private final Deserializer integerDeserializer = + _runtime.bodySerDe().deserializer(integerTypeMarker); + + private final Deserializer booleanDeserializer = + _runtime.bodySerDe().deserializer(booleanTypeMarker); + + private final Deserializer doubleDeserializer = + _runtime.bodySerDe().deserializer(doubleTypeMarker); + private final EndpointChannel getFileSystemsChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.getFileSystems); - private final Deserializer> getFileSystemsDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final Serializer createDatasetSerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel createDatasetChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.createDataset); - private final Deserializer createDatasetDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel getDatasetChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.getDataset); - private final Deserializer> getDatasetDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel getRawDataChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.getRawData); @@ -216,116 +258,69 @@ static TestServiceAsync of(EndpointChannelFactory _endpointChannelFactory, Conju private final EndpointChannel getAliasedStringChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.getAliasedString); - private final Deserializer getAliasedStringDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel uploadRawDataChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.uploadRawData); - private final Deserializer uploadRawDataDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - private final Serializer uploadAliasedRawDataSerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel uploadAliasedRawDataChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.uploadAliasedRawData); - private final Deserializer uploadAliasedRawDataDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - private final EndpointChannel getBranchesChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.getBranches); - private final Deserializer> getBranchesDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel getBranchesDeprecatedChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.getBranchesDeprecated); - private final Deserializer> getBranchesDeprecatedDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel getBranchesDeprecatedForRemovalChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.getBranchesDeprecatedForRemoval); - private final Deserializer> getBranchesDeprecatedForRemovalDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel resolveBranchChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.resolveBranch); - private final Deserializer> resolveBranchDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel testParamChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.testParam); - private final Deserializer> testParamDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final Serializer testQueryParamsSerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel testQueryParamsChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.testQueryParams); - private final Deserializer testQueryParamsDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final Serializer testNoResponseQueryParamsSerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel testNoResponseQueryParamsChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.testNoResponseQueryParams); - private final Deserializer testNoResponseQueryParamsDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - private final EndpointChannel testBooleanChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.testBoolean); - private final Deserializer testBooleanDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel testDoubleChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.testDouble); - private final Deserializer testDoubleDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel testIntegerChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.testInteger); - private final Deserializer testIntegerDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final Serializer> testPostOptionalSerializer = _runtime.bodySerDe().serializer(new TypeMarker>() {}); private final EndpointChannel testPostOptionalChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.testPostOptional); - private final Deserializer> testPostOptionalDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel testOptionalIntegerAndDoubleChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.testOptionalIntegerAndDouble); - private final Deserializer testOptionalIntegerAndDoubleDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - private final EndpointChannel getForStringsChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.getForStrings); - private final Deserializer getForStringsDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - @Override public ListenableFuture> getFileSystems(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); - return _runtime.clients().call(getFileSystemsChannel, _request.build(), getFileSystemsDeserializer); + return _runtime.clients() + .call(getFileSystemsChannel, _request.build(), mapStringBackingFileSystemDeserializer); } @Override @@ -335,7 +330,7 @@ public ListenableFuture createDataset( _request.putHeaderParams("Authorization", authHeader.toString()); _request.body(createDatasetSerializer.serialize(request)); _request.putHeaderParams("Test-Header", _plainSerDe.serializeString(testHeaderArg)); - return _runtime.clients().call(createDatasetChannel, _request.build(), createDatasetDeserializer); + return _runtime.clients().call(createDatasetChannel, _request.build(), datasetDeserializer); } @Override @@ -344,7 +339,7 @@ public ListenableFuture> getDataset( Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.putPathParams("datasetRid", _plainSerDe.serializeRid(datasetRid)); - return _runtime.clients().call(getDatasetChannel, _request.build(), getDatasetDeserializer); + return _runtime.clients().call(getDatasetChannel, _request.build(), optionalDatasetDeserializer); } @Override @@ -391,7 +386,7 @@ public ListenableFuture getAliasedString( Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.putPathParams("datasetRid", _plainSerDe.serializeRid(datasetRid)); - return _runtime.clients().call(getAliasedStringChannel, _request.build(), getAliasedStringDeserializer); + return _runtime.clients().call(getAliasedStringChannel, _request.build(), aliasedStringDeserializer); } @Override @@ -399,7 +394,7 @@ public ListenableFuture uploadRawData(AuthHeader authHeader, BinaryRequest Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.body(_runtime.bodySerDe().serialize(input)); - return _runtime.clients().call(uploadRawDataChannel, _request.build(), uploadRawDataDeserializer); + return _runtime.clients().call(uploadRawDataChannel, _request.build(), voidDeserializer); } @Override @@ -407,8 +402,7 @@ public ListenableFuture uploadAliasedRawData(AuthHeader authHeader, Binary Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.body(_runtime.bodySerDe().serialize(input)); - return _runtime.clients() - .call(uploadAliasedRawDataChannel, _request.build(), uploadAliasedRawDataDeserializer); + return _runtime.clients().call(uploadAliasedRawDataChannel, _request.build(), voidDeserializer); } @Override @@ -416,7 +410,7 @@ public ListenableFuture> getBranches(AuthHeader authHeader, Resource Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.putPathParams("datasetRid", _plainSerDe.serializeRid(datasetRid)); - return _runtime.clients().call(getBranchesChannel, _request.build(), getBranchesDeserializer); + return _runtime.clients().call(getBranchesChannel, _request.build(), setStringDeserializer); } @Override @@ -426,8 +420,7 @@ public ListenableFuture> getBranchesDeprecated( Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.putPathParams("datasetRid", _plainSerDe.serializeRid(datasetRid)); - return _runtime.clients() - .call(getBranchesDeprecatedChannel, _request.build(), getBranchesDeprecatedDeserializer); + return _runtime.clients().call(getBranchesDeprecatedChannel, _request.build(), setStringDeserializer); } @Override @@ -438,10 +431,7 @@ public ListenableFuture> getBranchesDeprecatedForRemoval( _request.putHeaderParams("Authorization", authHeader.toString()); _request.putPathParams("datasetRid", _plainSerDe.serializeRid(datasetRid)); return _runtime.clients() - .call( - getBranchesDeprecatedForRemovalChannel, - _request.build(), - getBranchesDeprecatedForRemovalDeserializer); + .call(getBranchesDeprecatedForRemovalChannel, _request.build(), setStringDeserializer); } @Override @@ -451,7 +441,7 @@ public ListenableFuture> resolveBranch( _request.putHeaderParams("Authorization", authHeader.toString()); _request.putPathParams("datasetRid", _plainSerDe.serializeRid(datasetRid)); _request.putPathParams("branch", _plainSerDe.serializeString(branch)); - return _runtime.clients().call(resolveBranchChannel, _request.build(), resolveBranchDeserializer); + return _runtime.clients().call(resolveBranchChannel, _request.build(), optionalStringDeserializer); } @Override @@ -459,7 +449,7 @@ public ListenableFuture> testParam(AuthHeader authHeader, Resou Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.putPathParams("datasetRid", _plainSerDe.serializeRid(datasetRid)); - return _runtime.clients().call(testParamChannel, _request.build(), testParamDeserializer); + return _runtime.clients().call(testParamChannel, _request.build(), optionalStringDeserializer); } @Override @@ -485,7 +475,7 @@ public ListenableFuture testQueryParams( if (optionalEnd.isPresent()) { _request.putQueryParams("optionalEnd", _plainSerDe.serializeRid(optionalEnd.get())); } - return _runtime.clients().call(testQueryParamsChannel, _request.build(), testQueryParamsDeserializer); + return _runtime.clients().call(testQueryParamsChannel, _request.build(), integerDeserializer); } @Override @@ -511,32 +501,28 @@ public ListenableFuture testNoResponseQueryParams( if (optionalEnd.isPresent()) { _request.putQueryParams("optionalEnd", _plainSerDe.serializeRid(optionalEnd.get())); } - return _runtime.clients() - .call( - testNoResponseQueryParamsChannel, - _request.build(), - testNoResponseQueryParamsDeserializer); + return _runtime.clients().call(testNoResponseQueryParamsChannel, _request.build(), voidDeserializer); } @Override public ListenableFuture testBoolean(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); - return _runtime.clients().call(testBooleanChannel, _request.build(), testBooleanDeserializer); + return _runtime.clients().call(testBooleanChannel, _request.build(), booleanDeserializer); } @Override public ListenableFuture testDouble(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); - return _runtime.clients().call(testDoubleChannel, _request.build(), testDoubleDeserializer); + return _runtime.clients().call(testDoubleChannel, _request.build(), doubleDeserializer); } @Override public ListenableFuture testInteger(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); - return _runtime.clients().call(testIntegerChannel, _request.build(), testIntegerDeserializer); + return _runtime.clients().call(testIntegerChannel, _request.build(), integerDeserializer); } @Override @@ -545,7 +531,7 @@ public ListenableFuture> testPostOptional( Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.body(testPostOptionalSerializer.serialize(maybeString)); - return _runtime.clients().call(testPostOptionalChannel, _request.build(), testPostOptionalDeserializer); + return _runtime.clients().call(testPostOptionalChannel, _request.build(), optionalStringDeserializer); } @Override @@ -559,11 +545,7 @@ public ListenableFuture testOptionalIntegerAndDouble( if (maybeDouble.isPresent()) { _request.putQueryParams("maybeDouble", _plainSerDe.serializeDouble(maybeDouble.getAsDouble())); } - return _runtime.clients() - .call( - testOptionalIntegerAndDoubleChannel, - _request.build(), - testOptionalIntegerAndDoubleDeserializer); + return _runtime.clients().call(testOptionalIntegerAndDoubleChannel, _request.build(), voidDeserializer); } @Override @@ -575,7 +557,7 @@ public ListenableFuture getForStrings( for (AliasedString stringsElement : strings) { _request.putQueryParams("strings", _plainSerDe.serializeString(stringsElement.get())); } - return _runtime.clients().call(getForStringsChannel, _request.build(), getForStringsDeserializer); + return _runtime.clients().call(getForStringsChannel, _request.build(), voidDeserializer); } @Override diff --git a/conjure-java-core/src/integrationInput/java/servicevanilla/com/palantir/another/TestServiceBlocking.java b/conjure-java-core/src/integrationInput/java/servicevanilla/com/palantir/another/TestServiceBlocking.java index ded99ecc3..f39322431 100644 --- a/conjure-java-core/src/integrationInput/java/servicevanilla/com/palantir/another/TestServiceBlocking.java +++ b/conjure-java-core/src/integrationInput/java/servicevanilla/com/palantir/another/TestServiceBlocking.java @@ -178,29 +178,71 @@ void testNoResponseQueryParams( /** Creates a synchronous/blocking client for a TestService service. */ static TestServiceBlocking of(EndpointChannelFactory _endpointChannelFactory, ConjureRuntime _runtime) { return new TestServiceBlocking() { + private static final TypeMarker> mapStringBackingFileSystemTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker datasetTypeMarker = new TypeMarker() {}; + + private static final TypeMarker> optionalDatasetTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker aliasedStringTypeMarker = new TypeMarker() {}; + + private static final TypeMarker> setStringTypeMarker = new TypeMarker>() {}; + + private static final TypeMarker> optionalStringTypeMarker = + new TypeMarker>() {}; + + private static final TypeMarker integerTypeMarker = new TypeMarker() {}; + + private static final TypeMarker booleanTypeMarker = new TypeMarker() {}; + + private static final TypeMarker doubleTypeMarker = new TypeMarker() {}; + private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); + private final Deserializer> mapStringBackingFileSystemDeserializer = + _runtime.bodySerDe().deserializer(mapStringBackingFileSystemTypeMarker); + + private final Deserializer datasetDeserializer = + _runtime.bodySerDe().deserializer(datasetTypeMarker); + + private final Deserializer> optionalDatasetDeserializer = + _runtime.bodySerDe().deserializer(optionalDatasetTypeMarker); + + private final Deserializer aliasedStringDeserializer = + _runtime.bodySerDe().deserializer(aliasedStringTypeMarker); + + private final Deserializer voidDeserializer = + _runtime.bodySerDe().emptyBodyDeserializer(); + + private final Deserializer> setStringDeserializer = + _runtime.bodySerDe().deserializer(setStringTypeMarker); + + private final Deserializer> optionalStringDeserializer = + _runtime.bodySerDe().deserializer(optionalStringTypeMarker); + + private final Deserializer integerDeserializer = + _runtime.bodySerDe().deserializer(integerTypeMarker); + + private final Deserializer booleanDeserializer = + _runtime.bodySerDe().deserializer(booleanTypeMarker); + + private final Deserializer doubleDeserializer = + _runtime.bodySerDe().deserializer(doubleTypeMarker); + private final EndpointChannel getFileSystemsChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.getFileSystems); - private final Deserializer> getFileSystemsDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final Serializer createDatasetSerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel createDatasetChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.createDataset); - private final Deserializer createDatasetDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel getDatasetChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.getDataset); - private final Deserializer> getDatasetDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel getRawDataChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.getRawData); @@ -213,117 +255,69 @@ static TestServiceBlocking of(EndpointChannelFactory _endpointChannelFactory, Co private final EndpointChannel getAliasedStringChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.getAliasedString); - private final Deserializer getAliasedStringDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel uploadRawDataChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.uploadRawData); - private final Deserializer uploadRawDataDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - private final Serializer uploadAliasedRawDataSerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel uploadAliasedRawDataChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.uploadAliasedRawData); - private final Deserializer uploadAliasedRawDataDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - private final EndpointChannel getBranchesChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.getBranches); - private final Deserializer> getBranchesDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel getBranchesDeprecatedChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.getBranchesDeprecated); - private final Deserializer> getBranchesDeprecatedDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel getBranchesDeprecatedForRemovalChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.getBranchesDeprecatedForRemoval); - private final Deserializer> getBranchesDeprecatedForRemovalDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel resolveBranchChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.resolveBranch); - private final Deserializer> resolveBranchDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel testParamChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.testParam); - private final Deserializer> testParamDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final Serializer testQueryParamsSerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel testQueryParamsChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.testQueryParams); - private final Deserializer testQueryParamsDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final Serializer testNoResponseQueryParamsSerializer = _runtime.bodySerDe().serializer(new TypeMarker() {}); private final EndpointChannel testNoResponseQueryParamsChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.testNoResponseQueryParams); - private final Deserializer testNoResponseQueryParamsDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - private final EndpointChannel testBooleanChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.testBoolean); - private final Deserializer testBooleanDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel testDoubleChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.testDouble); - private final Deserializer testDoubleDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final EndpointChannel testIntegerChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.testInteger); - private final Deserializer testIntegerDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker() {}); - private final Serializer> testPostOptionalSerializer = _runtime.bodySerDe().serializer(new TypeMarker>() {}); private final EndpointChannel testPostOptionalChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.testPostOptional); - private final Deserializer> testPostOptionalDeserializer = - _runtime.bodySerDe().deserializer(new TypeMarker>() {}); - private final EndpointChannel testOptionalIntegerAndDoubleChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.testOptionalIntegerAndDouble); - private final Deserializer testOptionalIntegerAndDoubleDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - private final EndpointChannel getForStringsChannel = _endpointChannelFactory.endpoint(DialogueTestEndpoints.getForStrings); - private final Deserializer getForStringsDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - @Override public Map getFileSystems(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); return _runtime.clients() - .callBlocking(getFileSystemsChannel, _request.build(), getFileSystemsDeserializer); + .callBlocking(getFileSystemsChannel, _request.build(), mapStringBackingFileSystemDeserializer); } @Override @@ -332,8 +326,7 @@ public Dataset createDataset(AuthHeader authHeader, String testHeaderArg, Create _request.putHeaderParams("Authorization", authHeader.toString()); _request.body(createDatasetSerializer.serialize(request)); _request.putHeaderParams("Test-Header", _plainSerDe.serializeString(testHeaderArg)); - return _runtime.clients() - .callBlocking(createDatasetChannel, _request.build(), createDatasetDeserializer); + return _runtime.clients().callBlocking(createDatasetChannel, _request.build(), datasetDeserializer); } @Override @@ -341,7 +334,8 @@ public Optional getDataset(AuthHeader authHeader, ResourceIdentifier da Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.putPathParams("datasetRid", _plainSerDe.serializeRid(datasetRid)); - return _runtime.clients().callBlocking(getDatasetChannel, _request.build(), getDatasetDeserializer); + return _runtime.clients() + .callBlocking(getDatasetChannel, _request.build(), optionalDatasetDeserializer); } @Override @@ -386,7 +380,7 @@ public AliasedString getAliasedString(AuthHeader authHeader, ResourceIdentifier _request.putHeaderParams("Authorization", authHeader.toString()); _request.putPathParams("datasetRid", _plainSerDe.serializeRid(datasetRid)); return _runtime.clients() - .callBlocking(getAliasedStringChannel, _request.build(), getAliasedStringDeserializer); + .callBlocking(getAliasedStringChannel, _request.build(), aliasedStringDeserializer); } @Override @@ -394,7 +388,7 @@ public void uploadRawData(AuthHeader authHeader, BinaryRequestBody input) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.body(_runtime.bodySerDe().serialize(input)); - _runtime.clients().callBlocking(uploadRawDataChannel, _request.build(), uploadRawDataDeserializer); + _runtime.clients().callBlocking(uploadRawDataChannel, _request.build(), voidDeserializer); } @Override @@ -402,8 +396,7 @@ public void uploadAliasedRawData(AuthHeader authHeader, BinaryRequestBody input) Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.body(_runtime.bodySerDe().serialize(input)); - _runtime.clients() - .callBlocking(uploadAliasedRawDataChannel, _request.build(), uploadAliasedRawDataDeserializer); + _runtime.clients().callBlocking(uploadAliasedRawDataChannel, _request.build(), voidDeserializer); } @Override @@ -411,7 +404,7 @@ public Set getBranches(AuthHeader authHeader, ResourceIdentifier dataset Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.putPathParams("datasetRid", _plainSerDe.serializeRid(datasetRid)); - return _runtime.clients().callBlocking(getBranchesChannel, _request.build(), getBranchesDeserializer); + return _runtime.clients().callBlocking(getBranchesChannel, _request.build(), setStringDeserializer); } @Override @@ -421,8 +414,7 @@ public Set getBranchesDeprecated(AuthHeader authHeader, ResourceIdentifi _request.putHeaderParams("Authorization", authHeader.toString()); _request.putPathParams("datasetRid", _plainSerDe.serializeRid(datasetRid)); return _runtime.clients() - .callBlocking( - getBranchesDeprecatedChannel, _request.build(), getBranchesDeprecatedDeserializer); + .callBlocking(getBranchesDeprecatedChannel, _request.build(), setStringDeserializer); } @Override @@ -432,10 +424,7 @@ public Set getBranchesDeprecatedForRemoval(AuthHeader authHeader, Resour _request.putHeaderParams("Authorization", authHeader.toString()); _request.putPathParams("datasetRid", _plainSerDe.serializeRid(datasetRid)); return _runtime.clients() - .callBlocking( - getBranchesDeprecatedForRemovalChannel, - _request.build(), - getBranchesDeprecatedForRemovalDeserializer); + .callBlocking(getBranchesDeprecatedForRemovalChannel, _request.build(), setStringDeserializer); } @Override @@ -445,7 +434,7 @@ public Optional resolveBranch(AuthHeader authHeader, ResourceIdentifier _request.putPathParams("datasetRid", _plainSerDe.serializeRid(datasetRid)); _request.putPathParams("branch", _plainSerDe.serializeString(branch)); return _runtime.clients() - .callBlocking(resolveBranchChannel, _request.build(), resolveBranchDeserializer); + .callBlocking(resolveBranchChannel, _request.build(), optionalStringDeserializer); } @Override @@ -453,7 +442,7 @@ public Optional testParam(AuthHeader authHeader, ResourceIdentifier data Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); _request.putPathParams("datasetRid", _plainSerDe.serializeRid(datasetRid)); - return _runtime.clients().callBlocking(testParamChannel, _request.build(), testParamDeserializer); + return _runtime.clients().callBlocking(testParamChannel, _request.build(), optionalStringDeserializer); } @Override @@ -479,8 +468,7 @@ public int testQueryParams( if (optionalEnd.isPresent()) { _request.putQueryParams("optionalEnd", _plainSerDe.serializeRid(optionalEnd.get())); } - return _runtime.clients() - .callBlocking(testQueryParamsChannel, _request.build(), testQueryParamsDeserializer); + return _runtime.clients().callBlocking(testQueryParamsChannel, _request.build(), integerDeserializer); } @Override @@ -506,32 +494,28 @@ public void testNoResponseQueryParams( if (optionalEnd.isPresent()) { _request.putQueryParams("optionalEnd", _plainSerDe.serializeRid(optionalEnd.get())); } - _runtime.clients() - .callBlocking( - testNoResponseQueryParamsChannel, - _request.build(), - testNoResponseQueryParamsDeserializer); + _runtime.clients().callBlocking(testNoResponseQueryParamsChannel, _request.build(), voidDeserializer); } @Override public boolean testBoolean(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); - return _runtime.clients().callBlocking(testBooleanChannel, _request.build(), testBooleanDeserializer); + return _runtime.clients().callBlocking(testBooleanChannel, _request.build(), booleanDeserializer); } @Override public double testDouble(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); - return _runtime.clients().callBlocking(testDoubleChannel, _request.build(), testDoubleDeserializer); + return _runtime.clients().callBlocking(testDoubleChannel, _request.build(), doubleDeserializer); } @Override public int testInteger(AuthHeader authHeader) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Authorization", authHeader.toString()); - return _runtime.clients().callBlocking(testIntegerChannel, _request.build(), testIntegerDeserializer); + return _runtime.clients().callBlocking(testIntegerChannel, _request.build(), integerDeserializer); } @Override @@ -540,7 +524,7 @@ public Optional testPostOptional(AuthHeader authHeader, Optional _request.putHeaderParams("Authorization", authHeader.toString()); _request.body(testPostOptionalSerializer.serialize(maybeString)); return _runtime.clients() - .callBlocking(testPostOptionalChannel, _request.build(), testPostOptionalDeserializer); + .callBlocking(testPostOptionalChannel, _request.build(), optionalStringDeserializer); } @Override @@ -555,10 +539,7 @@ public void testOptionalIntegerAndDouble( _request.putQueryParams("maybeDouble", _plainSerDe.serializeDouble(maybeDouble.getAsDouble())); } _runtime.clients() - .callBlocking( - testOptionalIntegerAndDoubleChannel, - _request.build(), - testOptionalIntegerAndDoubleDeserializer); + .callBlocking(testOptionalIntegerAndDoubleChannel, _request.build(), voidDeserializer); } @Override @@ -570,7 +551,7 @@ public void getForStrings( for (AliasedString stringsElement : strings) { _request.putQueryParams("strings", _plainSerDe.serializeString(stringsElement.get())); } - _runtime.clients().callBlocking(getForStringsChannel, _request.build(), getForStringsDeserializer); + _runtime.clients().callBlocking(getForStringsChannel, _request.build(), voidDeserializer); } @Override diff --git a/conjure-java-core/src/integrationInput/java/servicevanilla/test/api/CookieServiceAsync.java b/conjure-java-core/src/integrationInput/java/servicevanilla/test/api/CookieServiceAsync.java index f02385029..2fc667fcc 100644 --- a/conjure-java-core/src/integrationInput/java/servicevanilla/test/api/CookieServiceAsync.java +++ b/conjure-java-core/src/integrationInput/java/servicevanilla/test/api/CookieServiceAsync.java @@ -30,17 +30,17 @@ static CookieServiceAsync of(EndpointChannelFactory _endpointChannelFactory, Con return new CookieServiceAsync() { private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); + private final Deserializer voidDeserializer = + _runtime.bodySerDe().emptyBodyDeserializer(); + private final EndpointChannel eatCookiesChannel = _endpointChannelFactory.endpoint(DialogueCookieEndpoints.eatCookies); - private final Deserializer eatCookiesDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - @Override public ListenableFuture eatCookies(BearerToken token) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Cookie", "PALANTIR_TOKEN=" + _plainSerDe.serializeBearerToken(token)); - return _runtime.clients().call(eatCookiesChannel, _request.build(), eatCookiesDeserializer); + return _runtime.clients().call(eatCookiesChannel, _request.build(), voidDeserializer); } @Override diff --git a/conjure-java-core/src/integrationInput/java/servicevanilla/test/api/CookieServiceBlocking.java b/conjure-java-core/src/integrationInput/java/servicevanilla/test/api/CookieServiceBlocking.java index a92e5169b..feace1c5f 100644 --- a/conjure-java-core/src/integrationInput/java/servicevanilla/test/api/CookieServiceBlocking.java +++ b/conjure-java-core/src/integrationInput/java/servicevanilla/test/api/CookieServiceBlocking.java @@ -29,17 +29,17 @@ static CookieServiceBlocking of(EndpointChannelFactory _endpointChannelFactory, return new CookieServiceBlocking() { private final PlainSerDe _plainSerDe = _runtime.plainSerDe(); + private final Deserializer voidDeserializer = + _runtime.bodySerDe().emptyBodyDeserializer(); + private final EndpointChannel eatCookiesChannel = _endpointChannelFactory.endpoint(DialogueCookieEndpoints.eatCookies); - private final Deserializer eatCookiesDeserializer = - _runtime.bodySerDe().emptyBodyDeserializer(); - @Override public void eatCookies(BearerToken token) { Request.Builder _request = Request.builder(); _request.putHeaderParams("Cookie", "PALANTIR_TOKEN=" + _plainSerDe.serializeBearerToken(token)); - _runtime.clients().callBlocking(eatCookiesChannel, _request.build(), eatCookiesDeserializer); + _runtime.clients().callBlocking(eatCookiesChannel, _request.build(), voidDeserializer); } @Override diff --git a/conjure-java-core/src/main/java/com/palantir/conjure/java/services/dialogue/DefaultStaticFactoryMethodGenerator.java b/conjure-java-core/src/main/java/com/palantir/conjure/java/services/dialogue/DefaultStaticFactoryMethodGenerator.java index da00e6ad1..a0d60b1ad 100644 --- a/conjure-java-core/src/main/java/com/palantir/conjure/java/services/dialogue/DefaultStaticFactoryMethodGenerator.java +++ b/conjure-java-core/src/main/java/com/palantir/conjure/java/services/dialogue/DefaultStaticFactoryMethodGenerator.java @@ -15,7 +15,9 @@ */ package com.palantir.conjure.java.services.dialogue; +import com.google.common.base.CaseFormat; import com.google.common.collect.ImmutableMap; +import com.google.common.hash.Hashing; import com.palantir.conjure.java.Options; import com.palantir.conjure.java.api.errors.ConjureErrorParameterFormats; import com.palantir.conjure.java.services.Auth; @@ -68,9 +70,14 @@ import com.palantir.logsafe.SafeArg; import com.palantir.logsafe.exceptions.SafeIllegalStateException; import java.util.Comparator; +import java.util.HashMap; +import java.util.HashSet; +import java.util.LinkedHashMap; import java.util.List; +import java.util.Map; import java.util.Objects; import java.util.Optional; +import java.util.Set; import javax.lang.model.element.Modifier; public final class DefaultStaticFactoryMethodGenerator implements StaticFactoryMethodGenerator { @@ -109,28 +116,24 @@ public MethodSpec generate(ServiceDefinition def) { .initializer(CodeBlock.of("$L.plainSerDe()", StaticFactoryMethodGenerator.RUNTIME)) .build()); - if (options.generateErrorParameterFormatRespectingDialogueInterfaces()) { + boolean isErrorRespecting = options.generateErrorParameterFormatRespectingDialogueInterfaces(); + + if (isErrorRespecting) { impl.addMethod(createHelperToConstructExceptionDeserializerArgs()); } - def.getEndpoints().forEach(endpoint -> { - endpoint.getArgs().stream() - .filter(arg -> arg.getParamType().accept(ParameterTypeVisitor.IS_BODY)) - .findAny() - .flatMap(body -> serializer(endpoint.getEndpointName(), body.getType())) - .ifPresent(impl::addField); - - impl.addField(bindEndpointChannel(def, endpoint)); - deserializer(endpoint.getEndpointName(), endpoint.getReturns()).ifPresent(impl::addField); - impl.addMethod(clientImpl(endpoint)); - }); + ReturnTypeFieldsContext context = collectReturnTypeFields(def, isErrorRespecting); + generateTypeMarkerFields(impl, context, isErrorRespecting); + generateExceptionArgsFields(impl, context); + generateDeserializerFields(impl, context, isErrorRespecting); + generateEndpointImplementations(impl, def, context.endpointToDeserializerField()); impl.addMethod(DefaultStaticFactoryMethodGenerator.toStringMethod(className)); String javadoc = methodType.switchBy( "Creates a synchronous/blocking client for a $L service.", - "Creates an " + "asynchronous/non-blocking client for a $L service."); - MethodSpec method = MethodSpec.methodBuilder("of") + "Creates an asynchronous/non-blocking client for a $L service."); + return MethodSpec.methodBuilder("of") .addModifiers(Modifier.STATIC, Modifier.PUBLIC) .addJavadoc(javadoc, def.getServiceName().getName()) .returns(className) @@ -138,7 +141,141 @@ public MethodSpec generate(ServiceDefinition def) { .addParameter(ConjureRuntime.class, StaticFactoryMethodGenerator.RUNTIME) .addCode(CodeBlock.builder().add("return $L;", impl.build()).build()) .build(); - return method; + } + + private ReturnTypeFieldsContext collectReturnTypeFields(ServiceDefinition def, boolean isErrorRespecting) { + Map typeMarkerFields = new LinkedHashMap<>(); + Map exceptionArgsFields = new LinkedHashMap<>(); + Map deserializerFieldNames = new LinkedHashMap<>(); + Map deserializerTypes = new LinkedHashMap<>(); + Map endpointToDeserializerField = new HashMap<>(); + Set usedBaseNames = new HashSet<>(); + + for (EndpointDefinition endpoint : def.getEndpoints()) { + TypeName returnClassName = Primitives.box(returnTypes.baseType(endpoint.getReturns())); + + if (returnTypes.isBinaryOrOptionalBinary(returnClassName) && !isErrorRespecting) { + // Binary types in non-error path use inline deserializers, no field needed + continue; + } + + if (!deserializerFieldNames.containsKey(returnClassName)) { + String baseName = uniqueFieldBaseName(returnClassName, usedBaseNames); + typeMarkerFields.put(returnClassName, baseName + "TypeMarker"); + if (isErrorRespecting) { + exceptionArgsFields.put(returnClassName, baseName + "ExceptionArgs"); + } + deserializerFieldNames.put(returnClassName, baseName + "Deserializer"); + DeserializerType deserType = isErrorRespecting + ? getDeserializerType(endpoint.getReturns(), returnClassName) + : (endpoint.getReturns().isPresent() ? DeserializerType.STANDARD : DeserializerType.EMPTY_BODY); + deserializerTypes.put(returnClassName, deserType); + } + + endpointToDeserializerField.put( + endpoint.getEndpointName().get(), deserializerFieldNames.get(returnClassName)); + } + + return new ReturnTypeFieldsContext( + typeMarkerFields, + exceptionArgsFields, + deserializerFieldNames, + deserializerTypes, + endpointToDeserializerField); + } + + private static void generateTypeMarkerFields( + TypeSpec.Builder impl, ReturnTypeFieldsContext context, boolean isErrorRespecting) { + context.typeMarkerFields().forEach((typeName, fieldName) -> { + DeserializerType deserType = context.deserializerTypes().get(typeName); + if (!isErrorRespecting && deserType == DeserializerType.EMPTY_BODY) { + // Non-error empty body deserializer does not need a TypeMarker + return; + } + impl.addField( + FieldSpec.builder(ParameterizedTypeName.get(ClassName.get(TypeMarker.class), typeName), fieldName) + .addModifiers(Modifier.PRIVATE, Modifier.STATIC, Modifier.FINAL) + .initializer("new $T<$T>() {}", TypeMarker.class, typeName) + .build()); + }); + } + + private static void generateExceptionArgsFields(TypeSpec.Builder impl, ReturnTypeFieldsContext context) { + context.exceptionArgsFields().forEach((typeName, fieldName) -> { + impl.addField(FieldSpec.builder( + ParameterizedTypeName.get(ClassName.get(ExceptionDeserializerArgs.class), typeName), + fieldName) + .addModifiers(Modifier.PRIVATE, Modifier.STATIC, Modifier.FINAL) + .initializer( + "createExceptionDeserializerArgs($L)", + context.typeMarkerFields().get(typeName)) + .build()); + }); + } + + private static void generateDeserializerFields( + TypeSpec.Builder impl, ReturnTypeFieldsContext context, boolean isErrorRespecting) { + context.deserializerFieldNames().forEach((typeName, fieldName) -> { + ParameterizedTypeName deserializerType = + ParameterizedTypeName.get(ClassName.get(Deserializer.class), typeName); + DeserializerType deserType = context.deserializerTypes().get(typeName); + CodeBlock initializer = createDeserializerInitializer(deserType, typeName, context, isErrorRespecting); + impl.addField(FieldSpec.builder(deserializerType, fieldName) + .addModifiers(Modifier.PRIVATE, Modifier.FINAL) + .initializer(initializer) + .build()); + }); + } + + private static CodeBlock createDeserializerInitializer( + DeserializerType deserType, TypeName typeName, ReturnTypeFieldsContext context, boolean isErrorRespecting) { + if (isErrorRespecting) { + String argsField = context.exceptionArgsFields().get(typeName); + return switch (deserType) { + case STANDARD -> + CodeBlock.of("$L.bodySerDe().deserializer($L)", StaticFactoryMethodGenerator.RUNTIME, argsField); + case EMPTY_BODY -> + CodeBlock.of( + "$L.bodySerDe().emptyBodyDeserializer($L)", + StaticFactoryMethodGenerator.RUNTIME, + argsField); + case BINARY -> + CodeBlock.of( + "$L.bodySerDe().inputStreamDeserializer($L)", + StaticFactoryMethodGenerator.RUNTIME, + argsField); + case OPTIONAL_BINARY -> + CodeBlock.of( + "$L.bodySerDe().optionalInputStreamDeserializer($L)", + StaticFactoryMethodGenerator.RUNTIME, + argsField); + }; + } else { + String tmField = context.typeMarkerFields().get(typeName); + return switch (deserType) { + case STANDARD -> + CodeBlock.of("$L.bodySerDe().deserializer($L)", StaticFactoryMethodGenerator.RUNTIME, tmField); + case EMPTY_BODY -> + CodeBlock.of("$L.bodySerDe().emptyBodyDeserializer()", StaticFactoryMethodGenerator.RUNTIME); + default -> + throw new SafeIllegalStateException( + "Unexpected deserializer type in non-error path", SafeArg.of("type", deserType)); + }; + } + } + + private void generateEndpointImplementations( + TypeSpec.Builder impl, ServiceDefinition def, Map endpointToDeserializerField) { + def.getEndpoints().forEach(endpoint -> { + endpoint.getArgs().stream() + .filter(arg -> arg.getParamType().accept(ParameterTypeVisitor.IS_BODY)) + .findAny() + .flatMap(body -> serializer(endpoint.getEndpointName(), body.getType())) + .ifPresent(impl::addField); + + impl.addField(bindEndpointChannel(def, endpoint)); + impl.addMethod(clientImpl(endpoint, endpointToDeserializerField)); + }); } private ClassName getTypeMarkersClass(ErrorDefinition errorDef) { @@ -179,6 +316,46 @@ private ClassName getClassName(ServiceDefinition def) { return methodType.switchBy(Names.blockingClassName(def, options), Names.asyncClassName(def, options)); } + /** + * Computes a unique camelCase field base name for a given TypeName. If the derived name collides with an + * already-used name, a deterministic hash suffix is appended. + */ + private static String uniqueFieldBaseName(TypeName typeName, Set usedNames) { + String base = typeNameToFieldBase(typeName); + if (usedNames.add(base)) { + return base; + } + String candidate = base + deterministicHash(typeName); + usedNames.add(candidate); + return candidate; + } + + private static String deterministicHash(TypeName typeName) { + // Use deterministic hash to deconflict colliding names + return Integer.toUnsignedString( + Hashing.murmur3_32_fixed() + .hashUnencodedChars(typeName.toString()) + .asInt(), + 36); + } + + private static String typeNameToFieldBase(TypeName typeName) { + if (typeName instanceof ParameterizedTypeName parameterized) { + StringBuilder sb = new StringBuilder(); + String rawName = parameterized.rawType().simpleName(); + sb.append(CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_CAMEL, rawName)); + for (TypeName arg : parameterized.typeArguments()) { + String argBase = typeNameToFieldBase(arg); + sb.append(CaseFormat.LOWER_CAMEL.to(CaseFormat.UPPER_CAMEL, argBase)); + } + return sb.toString(); + } else if (typeName instanceof ClassName cn) { + return CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_CAMEL, cn.simpleName()); + } else { + return "type" + CaseFormat.LOWER_CAMEL.to(CaseFormat.UPPER_CAMEL, deterministicHash(typeName)); + } + } + private FieldSpec bindEndpointChannel(ServiceDefinition def, EndpointDefinition endpoint) { return FieldSpec.builder(ClassName.get(EndpointChannel.class), Names.endpointChannel(endpoint)) .addModifiers(Modifier.PRIVATE, Modifier.FINAL) @@ -206,48 +383,7 @@ private Optional serializer(EndpointName endpointName, Type type) { .build()); } - private Optional deserializer(EndpointName endpointName, Optional type) { - TypeName className = Primitives.box(returnTypes.baseType(type)); - - if (returnTypes.isBinaryOrOptionalBinary(className) - && !options.generateErrorParameterFormatRespectingDialogueInterfaces()) { - return Optional.empty(); - } - - ParameterizedTypeName deserializerType = - ParameterizedTypeName.get(ClassName.get(Deserializer.class), className); - - CodeBlock initializer = CodeBlock.of( - "$L.bodySerDe().$L", - StaticFactoryMethodGenerator.RUNTIME, - options.generateErrorParameterFormatRespectingDialogueInterfaces() - ? constructDeserializerWithExceptions(type, className) - : constructDeserializer(type, className)); - return Optional.of(FieldSpec.builder(deserializerType, endpointName + "Deserializer") - .addModifiers(Modifier.PRIVATE, Modifier.FINAL) - .initializer(initializer) - .build()); - } - - private CodeBlock constructDeserializer(Optional type, TypeName className) { - return type.isPresent() - ? CodeBlock.of("deserializer(new $T<$T>() {})", TypeMarker.class, className) - : CodeBlock.of("emptyBodyDeserializer()"); - } - - private CodeBlock constructDeserializerWithExceptions(Optional type, TypeName className) { - CodeBlock.Builder builder = CodeBlock.builder(); - switch (getDeserializerType(type, className)) { - case STANDARD -> builder.add("deserializer("); - case EMPTY_BODY -> builder.add("emptyBodyDeserializer("); - case BINARY -> builder.add("inputStreamDeserializer("); - case OPTIONAL_BINARY -> builder.add("optionalInputStreamDeserializer("); - } - return builder.add("createExceptionDeserializerArgs(new $T<$T>() {}))", TypeMarker.class, className) - .build(); - } - - private MethodSpec clientImpl(EndpointDefinition def) { + private MethodSpec clientImpl(EndpointDefinition def, Map endpointToDeserializerField) { List params = parameterTypes.implementationMethodParams(def); MethodSpec.Builder methodBuilder = MethodSpec.methodBuilder( def.getEndpointName().get()) @@ -291,7 +427,8 @@ private MethodSpec clientImpl(EndpointDefinition def) { + (returnTypes.isOptionalBinary(returnTypes.baseType(type)) ? ".bodySerDe().optionalInputStreamDeserializer()" : ".bodySerDe().inputStreamDeserializer()")) - .orElseGet(() -> def.getEndpointName().get() + "Deserializer")); + .orElseGet(() -> endpointToDeserializerField.get( + def.getEndpointName().get()))); methodBuilder.addCode(request); if (options.generateErrorParameterFormatRespectingDialogueInterfaces()) { @@ -541,6 +678,13 @@ private enum DeserializerType { OPTIONAL_BINARY; } + private record ReturnTypeFieldsContext( + Map typeMarkerFields, + Map exceptionArgsFields, + Map deserializerFieldNames, + Map deserializerTypes, + Map endpointToDeserializerField) {} + private DeserializerType getDeserializerType(Optional type, TypeName className) { if (type.isEmpty()) { return DeserializerType.EMPTY_BODY;