forked from microsoft/typespec
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
ad635d9
commit 21863a4
Showing
33 changed files
with
1,920 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
116 changes: 116 additions & 0 deletions
116
...crosoft/typespec/http/client/generator/core/mapper/android/AndroidClientMethodMapper.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,116 @@ | ||
// Copyright (c) Microsoft Corporation. All rights reserved. | ||
// Licensed under the MIT License. | ||
|
||
package com.microsoft.typespec.http.client.generator.core.mapper.android; | ||
|
||
import com.microsoft.typespec.http.client.generator.core.extension.model.codemodel.Operation; | ||
import com.microsoft.typespec.http.client.generator.core.extension.plugin.JavaSettings; | ||
import com.microsoft.typespec.http.client.generator.core.mapper.ClientMethodMapper; | ||
import com.microsoft.typespec.http.client.generator.core.model.clientmodel.ClassType; | ||
import com.microsoft.typespec.http.client.generator.core.model.clientmodel.ClientMethod; | ||
import com.microsoft.typespec.http.client.generator.core.model.clientmodel.ClientMethodParameter; | ||
import com.microsoft.typespec.http.client.generator.core.model.clientmodel.GenericType; | ||
import com.microsoft.typespec.http.client.generator.core.model.clientmodel.IType; | ||
import com.microsoft.typespec.http.client.generator.core.model.clientmodel.ReturnValue; | ||
import com.microsoft.typespec.http.client.generator.core.model.clientmodel.android.AndroidClientMethod; | ||
|
||
public class AndroidClientMethodMapper extends ClientMethodMapper { | ||
private static final ClientMethodMapper INSTANCE = new AndroidClientMethodMapper(); | ||
|
||
private static final ClientMethodParameter ANDROID_CONTEXT_PARAM = new ClientMethodParameter.Builder() | ||
.description("The context to associate with this operation.") | ||
.wireType(ClassType.ANDROID_CONTEXT) | ||
.name("context") | ||
.annotations(new java.util.ArrayList<>()) | ||
.constant(false) | ||
.defaultValue(null) | ||
.fromClient(false) | ||
.finalParameter(false) | ||
.required(false) | ||
.build(); | ||
|
||
protected AndroidClientMethodMapper() { | ||
} | ||
|
||
public static ClientMethodMapper getInstance() { | ||
return INSTANCE; | ||
} | ||
|
||
@Override | ||
protected ClientMethod.Builder getClientMethodBuilder() { | ||
return new AndroidClientMethod.Builder(); | ||
} | ||
|
||
@Override | ||
protected ClientMethodParameter getContextParameter(boolean isProtocolMethod) { | ||
return ANDROID_CONTEXT_PARAM; | ||
} | ||
|
||
@Override | ||
protected IType getContextType() { | ||
return ClassType.ANDROID_CONTEXT; | ||
} | ||
|
||
@Override | ||
protected IType createPagedRestResponseReturnType(IType elementType) { | ||
return GenericType.AndroidCompletableFuture(GenericType.AndroidPagedResponse(elementType)); | ||
} | ||
|
||
@Override | ||
protected IType createPagedAsyncReturnType(IType elementType) { | ||
return GenericType.AndroidPagedResponse(elementType); | ||
} | ||
|
||
@Override | ||
protected IType createPagedSyncReturnType(IType elementType) { | ||
return GenericType.AndroidPagedResponse(elementType); | ||
} | ||
|
||
@Override | ||
protected IType createAsyncBinaryReturnType() { | ||
return null; | ||
} | ||
|
||
@Override | ||
protected IType createAsyncBodyReturnType(IType restAPIMethodReturnBodyClientType) { | ||
return GenericType.AndroidCompletableFuture(restAPIMethodReturnBodyClientType); | ||
} | ||
|
||
@Override | ||
protected IType createAsyncVoidReturnType() { | ||
return GenericType.AndroidCompletableFuture(ClassType.VOID); | ||
} | ||
|
||
@Override | ||
protected IType createSyncReturnWithResponseType(IType syncReturnType, Operation operation, boolean isProtocolMethod, JavaSettings settings) { | ||
return GenericType.AndroidResponse(syncReturnType); | ||
} | ||
|
||
@Override | ||
protected boolean shouldGeneratePagingMethods() { | ||
return true; | ||
} | ||
|
||
@Override | ||
protected ReturnValue createSimpleSyncRestResponseReturnValue(Operation operation, IType syncReturnWithResponse, IType syncReturnType) { | ||
return new ReturnValue(returnTypeDescription(operation, syncReturnWithResponse, syncReturnType), syncReturnWithResponse); | ||
} | ||
|
||
@Override | ||
protected ReturnValue createSimpleAsyncRestResponseReturnValue(Operation operation, IType asyncRestResponseReturnType, IType syncReturnType) { | ||
IType asyncWithResponseType = GenericType.AndroidCompletableFuture(GenericType.AndroidResponse(syncReturnType)); | ||
return new ReturnValue(returnTypeDescription(operation, asyncWithResponseType, syncReturnType), | ||
asyncWithResponseType); | ||
} | ||
|
||
@Override | ||
protected ReturnValue createSimpleSyncReturnValue(Operation operation, IType syncReturnType) { | ||
return new ReturnValue(returnTypeDescription(operation, syncReturnType, syncReturnType), syncReturnType); | ||
} | ||
|
||
@Override | ||
protected ReturnValue createSimpleAsyncReturnValue(Operation operation, IType asyncReturnType, IType syncReturnType) { | ||
return new ReturnValue(returnTypeDescription(operation, asyncReturnType, syncReturnType), asyncReturnType); | ||
} | ||
|
||
} |
24 changes: 24 additions & 0 deletions
24
.../microsoft/typespec/http/client/generator/core/mapper/android/AndroidExceptionMapper.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
// Copyright (c) Microsoft Corporation. All rights reserved. | ||
// Licensed under the MIT License. | ||
|
||
package com.microsoft.typespec.http.client.generator.core.mapper.android; | ||
|
||
import com.microsoft.typespec.http.client.generator.core.mapper.ExceptionMapper; | ||
import com.microsoft.typespec.http.client.generator.core.model.clientmodel.ClientException; | ||
import com.microsoft.typespec.http.client.generator.core.model.clientmodel.android.AndroidClientException; | ||
|
||
public class AndroidExceptionMapper extends ExceptionMapper { | ||
private static final ExceptionMapper INSTANCE = new AndroidExceptionMapper(); | ||
|
||
protected AndroidExceptionMapper() { | ||
} | ||
|
||
public static ExceptionMapper getInstance() { | ||
return INSTANCE; | ||
} | ||
|
||
@Override | ||
protected ClientException.Builder createClientExceptionBuilder() { | ||
return new AndroidClientException.Builder(); | ||
} | ||
} |
55 changes: 55 additions & 0 deletions
55
...om/microsoft/typespec/http/client/generator/core/mapper/android/AndroidMapperFactory.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
// Copyright (c) Microsoft Corporation. All rights reserved. | ||
// Licensed under the MIT License. | ||
|
||
package com.microsoft.typespec.http.client.generator.core.mapper.android; | ||
|
||
import com.microsoft.typespec.http.client.generator.core.mapper.ClientMethodMapper; | ||
import com.microsoft.typespec.http.client.generator.core.mapper.DefaultMapperFactory; | ||
import com.microsoft.typespec.http.client.generator.core.mapper.ExceptionMapper; | ||
import com.microsoft.typespec.http.client.generator.core.mapper.MethodGroupMapper; | ||
import com.microsoft.typespec.http.client.generator.core.mapper.ModelMapper; | ||
import com.microsoft.typespec.http.client.generator.core.mapper.PrimitiveMapper; | ||
import com.microsoft.typespec.http.client.generator.core.mapper.ProxyMethodMapper; | ||
import com.microsoft.typespec.http.client.generator.core.mapper.ProxyParameterMapper; | ||
import com.microsoft.typespec.http.client.generator.core.mapper.ServiceClientMapper; | ||
|
||
public class AndroidMapperFactory extends DefaultMapperFactory { | ||
|
||
@Override | ||
public PrimitiveMapper getPrimitiveMapper() { return AndroidPrimitiveMapper.getInstance(); } | ||
|
||
@Override | ||
public ClientMethodMapper getClientMethodMapper() { | ||
return AndroidClientMethodMapper.getInstance(); | ||
} | ||
|
||
@Override | ||
public ProxyMethodMapper getProxyMethodMapper() { | ||
return AndroidProxyMethodMapper.getInstance(); | ||
} | ||
|
||
@Override | ||
public ProxyParameterMapper getProxyParameterMapper() { | ||
return AndroidProxyParameterMapper.getInstance(); | ||
} | ||
|
||
@Override | ||
public MethodGroupMapper getMethodGroupMapper() { | ||
return AndroidMethodGroupMapper.getInstance(); | ||
} | ||
|
||
@Override | ||
public ServiceClientMapper getServiceClientMapper() { | ||
return AndroidServiceClientMapper.getInstance(); | ||
} | ||
|
||
@Override | ||
public ModelMapper getModelMapper() { | ||
return AndroidModelMapper.getInstance(); | ||
} | ||
|
||
@Override | ||
public ExceptionMapper getExceptionMapper() { | ||
return AndroidExceptionMapper.getInstance(); | ||
} | ||
} |
31 changes: 31 additions & 0 deletions
31
...icrosoft/typespec/http/client/generator/core/mapper/android/AndroidMethodGroupMapper.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
// Copyright (c) Microsoft Corporation. All rights reserved. | ||
// Licensed under the MIT License. | ||
|
||
package com.microsoft.typespec.http.client.generator.core.mapper.android; | ||
|
||
import com.microsoft.typespec.http.client.generator.core.mapper.MethodGroupMapper; | ||
import com.microsoft.typespec.http.client.generator.core.model.clientmodel.MethodGroupClient; | ||
import com.microsoft.typespec.http.client.generator.core.model.clientmodel.Proxy; | ||
import com.microsoft.typespec.http.client.generator.core.model.clientmodel.android.AndroidMethodGroupClient; | ||
import com.microsoft.typespec.http.client.generator.core.model.clientmodel.android.AndroidProxy; | ||
|
||
public class AndroidMethodGroupMapper extends MethodGroupMapper { | ||
private static final MethodGroupMapper INSTANCE = new AndroidMethodGroupMapper(); | ||
|
||
protected AndroidMethodGroupMapper() { | ||
} | ||
|
||
public static MethodGroupMapper getInstance() { | ||
return INSTANCE; | ||
} | ||
|
||
@Override | ||
protected Proxy.Builder createProxyBuilder() { | ||
return new AndroidProxy.Builder(); | ||
} | ||
|
||
@Override | ||
protected MethodGroupClient.Builder createMethodGroupClientBuilder() { | ||
return new AndroidMethodGroupClient.Builder(); | ||
} | ||
} |
24 changes: 24 additions & 0 deletions
24
.../com/microsoft/typespec/http/client/generator/core/mapper/android/AndroidModelMapper.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
// Copyright (c) Microsoft Corporation. All rights reserved. | ||
// Licensed under the MIT License. | ||
|
||
package com.microsoft.typespec.http.client.generator.core.mapper.android; | ||
|
||
import com.microsoft.typespec.http.client.generator.core.mapper.ModelMapper; | ||
import com.microsoft.typespec.http.client.generator.core.model.clientmodel.ClientModel; | ||
import com.microsoft.typespec.http.client.generator.core.model.clientmodel.android.AndroidClientModel; | ||
|
||
public class AndroidModelMapper extends ModelMapper { | ||
private static final ModelMapper INSTANCE = new AndroidModelMapper(); | ||
|
||
protected AndroidModelMapper() { | ||
} | ||
|
||
public static ModelMapper getInstance() { | ||
return INSTANCE; | ||
} | ||
|
||
@Override | ||
protected ClientModel.Builder createModelBuilder() { | ||
return new AndroidClientModel.Builder(); | ||
} | ||
} |
Oops, something went wrong.