1 /*
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License").
5  * You may not use this file except in compliance with the License.
6  * A copy of the License is located at
7  *
8  *  http://aws.amazon.com/apache2.0
9  *
10  * or in the "license" file accompanying this file. This file is distributed
11  * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12  * express or implied. See the License for the specific language governing
13  * permissions and limitations under the License.
14  */
15 
16 package software.amazon.awssdk.codegen.internal;
17 
18 import java.nio.file.Path;
19 
20 public final class Constant {
21 
22     public static final String CUSTOMIZATION_CONFIG_FILE = "customization.config";
23 
24     public static final String ASYNC_CLIENT_INTERFACE_NAME_PATTERN = "%sAsyncClient";
25     public static final String ASYNC_CLIENT_CLASS_NAME_PATTERN = "Default%sAsyncClient";
26     public static final String ASYNC_BUILDER_INTERFACE_NAME_PATTERN = "%sAsyncClientBuilder";
27     public static final String ASYNC_BUILDER_CLASS_NAME_PATTERN = "Default%sAsyncClientBuilder";
28 
29     public static final String SYNC_CLIENT_INTERFACE_NAME_PATTERN = "%sClient";
30     public static final String SYNC_CLIENT_CLASS_NAME_PATTERN = "Default%sClient";
31 
32     /**
33      * Name of the source {@link Path}-typed formal method parameters of streaming input operations.
34      */
35     public static final String SYNC_CLIENT_SOURCE_PATH_PARAM_NAME = "sourcePath";
36 
37     /**
38      * Name of the destination {@link Path}-typed formal method parameters of streaming output
39      * operations.
40      */
41     public static final String SYNC_CLIENT_DESTINATION_PATH_PARAM_NAME = "destinationPath";
42 
43     public static final String SYNC_BUILDER_INTERFACE_NAME_PATTERN = "%sClientBuilder";
44     public static final String SYNC_BUILDER_CLASS_NAME_PATTERN = "Default%sClientBuilder";
45 
46     public static final String BASE_BUILDER_INTERFACE_NAME_PATTERN = "%sBaseClientBuilder";
47     public static final String BASE_BUILDER_CLASS_NAME_PATTERN = "Default%sBaseClientBuilder";
48 
49     public static final String BASE_EXCEPTION_NAME_PATTERN = "%sException";
50 
51     public static final String BASE_REQUEST_NAME_PATTERN = "%sRequest";
52 
53     public static final String BASE_RESPONSE_NAME_PATTERN = "%sResponse";
54 
55     public static final String PROTOCOL_CONFIG_LOCATION = "/protocol-config/%s.json";
56 
57     public static final String JAVA_FILE_NAME_SUFFIX = ".java";
58 
59     public static final String PROPERTIES_FILE_NAME_SUFFIX = ".properties";
60 
61     public static final String PACKAGE_NAME_CLIENT_PATTERN = "%s";
62 
63     public static final String PACKAGE_NAME_MODEL_PATTERN = "%s.model";
64 
65     public static final String PACKAGE_NAME_TRANSFORM_PATTERN = "%s.transform";
66 
67     public static final String PACKAGE_NAME_PAGINATORS_PATTERN = "%s.paginators";
68 
69     public static final String PACKAGE_NAME_WAITERS_PATTERN = "%s.waiters";
70 
71     public static final String PACKAGE_NAME_RULES_PATTERN = "%s.endpoints";
72 
73     public static final String PACKAGE_NAME_AUTH_SCHEME_PATTERN = "%s.auth.scheme";
74 
75     public static final String PACKAGE_NAME_SMOKE_TEST_PATTERN = "%s.smoketests";
76 
77     public static final String PACKAGE_NAME_CUSTOM_AUTH_PATTERN = "%s.auth";
78 
79     public static final String AUTH_POLICY_ENUM_CLASS_DIR = "software/amazon/awssdk/auth/policy/actions";
80 
81     public static final String REQUEST_CLASS_SUFFIX = "Request";
82 
83     public static final String RESPONSE_CLASS_SUFFIX = "Response";
84 
85     public static final String EXCEPTION_CLASS_SUFFIX = "Exception";
86 
87     public static final String FAULT_CLASS_SUFFIX = "Fault";
88 
89     public static final String CONFLICTING_NAME_SUFFIX = "Value";
90 
91     public static final String AUTHORIZER_NAME_PREFIX = "I";
92 
93     public static final String LF = System.lineSeparator();
94 
95     public static final String AWS_DOCS_HOST = "docs.aws.amazon.com";
96 
97     public static final String APPROVED_SIMPLE_METHOD_VERBS = "(get|list|describe|lookup|batchGet).*";
98 
99     public static final String ASYNC_STREAMING_INPUT_PARAM = "requestBody";
100     public static final String ASYNC_STREAMING_OUTPUT_PARAM = "asyncResponseTransformer";
101     public static final String SYNC_STREAMING_INPUT_PARAM = "requestBody";
102     public static final String SYNC_STREAMING_OUTPUT_PARAM = "responseTransformer";
103     public static final String EVENT_PUBLISHER_PARAM_NAME = "requestStream";
104     public static final String EVENT_RESPONSE_HANDLER_PARAM_NAME = "asyncResponseHandler";
105 
Constant()106     private Constant() {
107     }
108 }
109