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.model.intermediate;
17 
18 import java.util.List;
19 import java.util.Map;
20 import software.amazon.awssdk.awscore.exception.AwsErrorDetails;
21 import software.amazon.awssdk.codegen.model.service.AuthType;
22 import software.amazon.awssdk.utils.StringUtils;
23 
24 public class Metadata {
25 
26     private String apiVersion;
27 
28     private Protocol protocol;
29 
30     private String documentation;
31 
32     private String defaultEndpoint;
33 
34     private String defaultRegion;
35 
36     private String defaultEndpointWithoutHttpProtocol;
37 
38     private String syncInterface;
39 
40     private String syncClient;
41 
42     private String syncBuilderInterface;
43 
44     private String syncBuilder;
45 
46     private String asyncInterface;
47 
48     private String asyncClient;
49 
50     private String asyncBuilderInterface;
51 
52     private String asyncBuilder;
53 
54     private String baseBuilderInterface;
55 
56     private String baseBuilder;
57 
58     private String rootPackageName;
59 
60     private String clientPackageName;
61 
62     private String modelPackageName;
63 
64     private String transformPackageName;
65 
66     private String requestTransformPackageName;
67 
68     private String paginatorsPackageName;
69 
70     private String authPolicyPackageName;
71 
72     private String waitersPackageName;
73 
74     private String endpointRulesPackageName;
75 
76     private String authSchemePackageName;
77 
78     private String serviceAbbreviation;
79 
80     private String serviceFullName;
81 
82     private String serviceName;
83 
84     private String baseExceptionName;
85 
86     private String contentType;
87 
88     private String jsonVersion;
89 
90     private Map<String, String> awsQueryCompatible;
91 
92     private String endpointPrefix;
93 
94     private String signingName;
95 
96     private boolean requiresIamSigners;
97 
98     private boolean requiresApiKey;
99 
100     private String uid;
101 
102     private AuthType authType;
103 
104     private String baseRequestName;
105 
106     private String baseResponseName;
107 
108     private boolean supportsH2;
109 
110     private String serviceId;
111 
112     private List<AuthType> auth;
113 
getAuth()114     public List<AuthType> getAuth() {
115         return auth;
116     }
117 
setAuth(List<AuthType> auth)118     public void setAuth(List<AuthType> auth) {
119         this.auth = auth;
120     }
121 
withAuth(List<AuthType> auth)122     public Metadata withAuth(List<AuthType> auth) {
123         this.auth = auth;
124         return this;
125     }
126 
getApiVersion()127     public String getApiVersion() {
128         return apiVersion;
129     }
130 
setApiVersion(String apiVersion)131     public void setApiVersion(String apiVersion) {
132         this.apiVersion = apiVersion;
133     }
134 
withApiVersion(String apiVersion)135     public Metadata withApiVersion(String apiVersion) {
136         setApiVersion(apiVersion);
137         return this;
138     }
139 
getProtocol()140     public Protocol getProtocol() {
141         return protocol;
142     }
143 
setProtocol(Protocol protocol)144     public void setProtocol(Protocol protocol) {
145         this.protocol = protocol;
146     }
147 
withProtocol(Protocol protocol)148     public Metadata withProtocol(Protocol protocol) {
149         setProtocol(protocol);
150         return this;
151     }
152 
getDocumentation()153     public String getDocumentation() {
154         return documentation;
155     }
156 
setDocumentation(String documentation)157     public void setDocumentation(String documentation) {
158         this.documentation = documentation;
159     }
160 
withDocumentation(String documentation)161     public Metadata withDocumentation(String documentation) {
162         setDocumentation(documentation);
163         return this;
164     }
165 
getDefaultEndpoint()166     public String getDefaultEndpoint() {
167         return defaultEndpoint;
168     }
169 
setDefaultEndpoint(String defaultEndpoint)170     public void setDefaultEndpoint(String defaultEndpoint) {
171         this.defaultEndpoint = defaultEndpoint;
172     }
173 
withDefaultEndpoint(String defaultEndpoint)174     public Metadata withDefaultEndpoint(String defaultEndpoint) {
175         setDefaultEndpoint(defaultEndpoint);
176         return this;
177     }
178 
getDefaultRegion()179     public String getDefaultRegion() {
180         return defaultRegion;
181     }
182 
setDefaultRegion(String defaultRegion)183     public void setDefaultRegion(String defaultRegion) {
184         this.defaultRegion = defaultRegion;
185     }
186 
withDefaultRegion(String defaultRegion)187     public Metadata withDefaultRegion(String defaultRegion) {
188         setDefaultRegion(defaultRegion);
189         return this;
190     }
191 
getDefaultEndpointWithoutHttpProtocol()192     public String getDefaultEndpointWithoutHttpProtocol() {
193         return defaultEndpointWithoutHttpProtocol;
194     }
195 
setDefaultEndpointWithoutHttpProtocol( String defaultEndpointWithoutHttpProtocol)196     public void setDefaultEndpointWithoutHttpProtocol(
197         String defaultEndpointWithoutHttpProtocol) {
198         this.defaultEndpointWithoutHttpProtocol = defaultEndpointWithoutHttpProtocol;
199     }
200 
withDefaultEndpointWithoutHttpProtocol( String defaultEndpointWithoutHttpProtocol)201     public Metadata withDefaultEndpointWithoutHttpProtocol(
202         String defaultEndpointWithoutHttpProtocol) {
203         setDefaultEndpointWithoutHttpProtocol(defaultEndpointWithoutHttpProtocol);
204         return this;
205     }
206 
getSyncInterface()207     public String getSyncInterface() {
208         return syncInterface;
209     }
210 
setSyncInterface(String syncInterface)211     public void setSyncInterface(String syncInterface) {
212         this.syncInterface = syncInterface;
213     }
214 
withSyncInterface(String syncInterface)215     public Metadata withSyncInterface(String syncInterface) {
216         setSyncInterface(syncInterface);
217         return this;
218     }
219 
getSyncClient()220     public String getSyncClient() {
221         return syncClient;
222     }
223 
setSyncClient(String syncClient)224     public void setSyncClient(String syncClient) {
225         this.syncClient = syncClient;
226     }
227 
withSyncClient(String syncClient)228     public Metadata withSyncClient(String syncClient) {
229         setSyncClient(syncClient);
230         return this;
231     }
232 
getSyncBuilderInterface()233     public String getSyncBuilderInterface() {
234         return syncBuilderInterface;
235     }
236 
setSyncBuilderInterface(String syncBuilderInterface)237     public void setSyncBuilderInterface(String syncBuilderInterface) {
238         this.syncBuilderInterface = syncBuilderInterface;
239     }
240 
withSyncBuilderInterface(String syncBuilderInterface)241     public Metadata withSyncBuilderInterface(String syncBuilderInterface) {
242         this.syncBuilderInterface = syncBuilderInterface;
243         return this;
244     }
245 
getSyncBuilder()246     public String getSyncBuilder() {
247         return syncBuilder;
248     }
249 
setSyncBuilder(String syncBuilder)250     public void setSyncBuilder(String syncBuilder) {
251         this.syncBuilder = syncBuilder;
252     }
253 
withSyncBuilder(String syncBuilder)254     public Metadata withSyncBuilder(String syncBuilder) {
255         this.syncBuilder = syncBuilder;
256         return this;
257     }
258 
getAsyncInterface()259     public String getAsyncInterface() {
260         return asyncInterface;
261     }
262 
setAsyncInterface(String asyncInterface)263     public void setAsyncInterface(String asyncInterface) {
264         this.asyncInterface = asyncInterface;
265     }
266 
withAsyncInterface(String asyncInterface)267     public Metadata withAsyncInterface(String asyncInterface) {
268         setAsyncInterface(asyncInterface);
269         return this;
270     }
271 
getAsyncClient()272     public String getAsyncClient() {
273         return asyncClient;
274     }
275 
setAsyncClient(String asyncClient)276     public void setAsyncClient(String asyncClient) {
277         this.asyncClient = asyncClient;
278     }
279 
withAsyncClient(String asyncClient)280     public Metadata withAsyncClient(String asyncClient) {
281         setAsyncClient(asyncClient);
282         return this;
283     }
284 
getAsyncBuilderInterface()285     public String getAsyncBuilderInterface() {
286         return asyncBuilderInterface;
287     }
288 
setAsyncBuilderInterface(String asyncBuilderInterface)289     public void setAsyncBuilderInterface(String asyncBuilderInterface) {
290         this.asyncBuilderInterface = asyncBuilderInterface;
291     }
292 
withAsyncBuilderInterface(String asyncBuilderInterface)293     public Metadata withAsyncBuilderInterface(String asyncBuilderInterface) {
294         this.asyncBuilderInterface = asyncBuilderInterface;
295         return this;
296     }
297 
getBaseBuilderInterface()298     public String getBaseBuilderInterface() {
299         return baseBuilderInterface;
300     }
301 
setBaseBuilderInterface(String baseBuilderInterface)302     public void setBaseBuilderInterface(String baseBuilderInterface) {
303         this.baseBuilderInterface = baseBuilderInterface;
304     }
305 
withBaseBuilderInterface(String baseBuilderInterface)306     public Metadata withBaseBuilderInterface(String baseBuilderInterface) {
307         this.baseBuilderInterface = baseBuilderInterface;
308         return this;
309     }
310 
getBaseBuilder()311     public String getBaseBuilder() {
312         return baseBuilder;
313     }
314 
setBaseBuilder(String baseBuilder)315     public void setBaseBuilder(String baseBuilder) {
316         this.baseBuilder = baseBuilder;
317     }
318 
withBaseBuilder(String baseBuilder)319     public Metadata withBaseBuilder(String baseBuilder) {
320         this.baseBuilder = baseBuilder;
321         return this;
322     }
323 
getAsyncBuilder()324     public String getAsyncBuilder() {
325         return asyncBuilder;
326     }
327 
setAsyncBuilder(String asyncBuilder)328     public void setAsyncBuilder(String asyncBuilder) {
329         this.asyncBuilder = asyncBuilder;
330     }
331 
withAsyncBuilder(String asyncBuilder)332     public Metadata withAsyncBuilder(String asyncBuilder) {
333         this.asyncBuilder = asyncBuilder;
334         return this;
335     }
336 
getBaseExceptionName()337     public String getBaseExceptionName() {
338         return baseExceptionName;
339     }
340 
setBaseExceptionName(String baseExceptionName)341     public void setBaseExceptionName(String baseExceptionName) {
342         this.baseExceptionName = baseExceptionName;
343     }
344 
withBaseExceptionName(String baseExceptionName)345     public Metadata withBaseExceptionName(String baseExceptionName) {
346         setBaseExceptionName(baseExceptionName);
347         return this;
348     }
349 
getRootPackageName()350     public String getRootPackageName() {
351         return rootPackageName;
352     }
353 
setRootPackageName(String rootPackageName)354     public void setRootPackageName(String rootPackageName) {
355         this.rootPackageName = rootPackageName;
356     }
357 
withRootPackageName(String rootPackageName)358     public Metadata withRootPackageName(String rootPackageName) {
359         setRootPackageName(rootPackageName);
360         return this;
361     }
362 
getFullClientPackageName()363     public String getFullClientPackageName() {
364         return joinPackageNames(rootPackageName, getClientPackageName());
365     }
366 
getFullClientInternalPackageName()367     public String getFullClientInternalPackageName() {
368         return joinPackageNames(getFullClientPackageName(), "internal");
369     }
370 
getClientPackageName()371     public String getClientPackageName() {
372         return clientPackageName;
373     }
374 
setClientPackageName(String clientPackageName)375     public void setClientPackageName(String clientPackageName) {
376         this.clientPackageName = clientPackageName;
377     }
378 
withClientPackageName(String clientPackageName)379     public Metadata withClientPackageName(String clientPackageName) {
380         setClientPackageName(clientPackageName);
381         return this;
382     }
383 
getFullModelPackageName()384     public String getFullModelPackageName() {
385         return joinPackageNames(rootPackageName, getModelPackageName());
386     }
387 
getModelPackageName()388     public String getModelPackageName() {
389         return modelPackageName;
390     }
391 
setModelPackageName(String modelPackageName)392     public void setModelPackageName(String modelPackageName) {
393         this.modelPackageName = modelPackageName;
394     }
395 
withModelPackageName(String modelPackageName)396     public Metadata withModelPackageName(String modelPackageName) {
397         setModelPackageName(modelPackageName);
398         return this;
399     }
400 
getFullTransformPackageName()401     public String getFullTransformPackageName() {
402         return joinPackageNames(rootPackageName, getTransformPackageName());
403     }
404 
getTransformPackageName()405     public String getTransformPackageName() {
406         return transformPackageName;
407     }
408 
setTransformPackageName(String transformPackageName)409     public void setTransformPackageName(String transformPackageName) {
410         this.transformPackageName = transformPackageName;
411     }
412 
withTransformPackageName(String transformPackageName)413     public Metadata withTransformPackageName(String transformPackageName) {
414         setTransformPackageName(transformPackageName);
415         return this;
416     }
417 
getFullRequestTransformPackageName()418     public String getFullRequestTransformPackageName() {
419         return joinPackageNames(rootPackageName, getRequestTransformPackageName());
420     }
421 
getRequestTransformPackageName()422     public String getRequestTransformPackageName() {
423         return requestTransformPackageName;
424     }
425 
setRequestTransformPackageName(String requestTransformPackageName)426     public void setRequestTransformPackageName(String requestTransformPackageName) {
427         this.requestTransformPackageName = requestTransformPackageName;
428     }
429 
withRequestTransformPackageName(String requestTransformPackageName)430     public Metadata withRequestTransformPackageName(String requestTransformPackageName) {
431         setRequestTransformPackageName(requestTransformPackageName);
432         return this;
433     }
434 
getFullPaginatorsPackageName()435     public String getFullPaginatorsPackageName() {
436         return joinPackageNames(rootPackageName, getPaginatorsPackageName());
437     }
438 
getPaginatorsPackageName()439     public String getPaginatorsPackageName() {
440         return paginatorsPackageName;
441     }
442 
setPaginatorsPackageName(String paginatorsPackageName)443     public void setPaginatorsPackageName(String paginatorsPackageName) {
444         this.paginatorsPackageName = paginatorsPackageName;
445     }
446 
withPaginatorsPackageName(String paginatorsPackageName)447     public Metadata withPaginatorsPackageName(String paginatorsPackageName) {
448         setPaginatorsPackageName(paginatorsPackageName);
449         return this;
450     }
451 
getFullAuthPolicyPackageName()452     public String getFullAuthPolicyPackageName() {
453         return joinPackageNames(rootPackageName, getAuthPolicyPackageName());
454     }
455 
getAuthPolicyPackageName()456     public String getAuthPolicyPackageName() {
457         return authPolicyPackageName;
458     }
459 
setAuthPolicyPackageName(String authPolicyPackageName)460     public void setAuthPolicyPackageName(String authPolicyPackageName) {
461         this.authPolicyPackageName = authPolicyPackageName;
462     }
463 
withAuthPolicyPackageName(String authPolicyPackageName)464     public Metadata withAuthPolicyPackageName(String authPolicyPackageName) {
465         setAuthPolicyPackageName(authPolicyPackageName);
466         return this;
467     }
468 
setServiceAbbreviation(String serviceAbbreviation)469     public void setServiceAbbreviation(String serviceAbbreviation) {
470         this.serviceAbbreviation = serviceAbbreviation;
471     }
472 
withServiceAbbreviation(String serviceAbbreviation)473     public Metadata withServiceAbbreviation(String serviceAbbreviation) {
474         setServiceAbbreviation(serviceAbbreviation);
475         return this;
476     }
477 
setServiceFullName(String serviceFullName)478     public void setServiceFullName(String serviceFullName) {
479         this.serviceFullName = serviceFullName;
480     }
481 
withServiceFullName(String serviceFullName)482     public Metadata withServiceFullName(String serviceFullName) {
483         setServiceFullName(serviceFullName);
484         return this;
485     }
486 
487     /**
488      * Returns a convenient name for the service. If an abbreviated form
489      * of the service name is available it will return that, otherwise it
490      * will return the full service name.
491      */
getDescriptiveServiceName()492     public String getDescriptiveServiceName() {
493         if (serviceAbbreviation != null) {
494             return serviceAbbreviation;
495         }
496         return serviceFullName;
497     }
498 
499     /**
500      * @return Unique, short name for the service. Suitable for displaying in metadata like {@link AwsErrorDetails} and
501      * for use in metrics. Should not be used in documentation, use {@link #getDescriptiveServiceName()} for that.
502      */
getServiceName()503     public String getServiceName() {
504         return this.serviceName;
505     }
506 
setServiceName(String serviceName)507     public void setServiceName(String serviceName) {
508         this.serviceName = serviceName;
509     }
510 
withServiceName(String serviceName)511     public Metadata withServiceName(String serviceName) {
512         setServiceName(serviceName);
513         return this;
514     }
515 
getJsonVersion()516     public String getJsonVersion() {
517         return jsonVersion;
518     }
519 
setJsonVersion(String jsonVersion)520     public void setJsonVersion(String jsonVersion) {
521         this.jsonVersion = jsonVersion;
522     }
523 
withJsonVersion(String jsonVersion)524     public Metadata withJsonVersion(String jsonVersion) {
525         setJsonVersion(jsonVersion);
526         return this;
527     }
528 
getAwsQueryCompatible()529     public Map<String, String> getAwsQueryCompatible() {
530         return awsQueryCompatible;
531     }
532 
setAwsQueryCompatible(Map<String, String> awsQueryCompatible)533     public void setAwsQueryCompatible(Map<String, String> awsQueryCompatible) {
534         this.awsQueryCompatible = awsQueryCompatible;
535     }
536 
withAwsQueryCompatible(Map<String, String> awsQueryCompatible)537     public Metadata withAwsQueryCompatible(Map<String, String> awsQueryCompatible) {
538         setAwsQueryCompatible(awsQueryCompatible);
539         return this;
540     }
541 
isCborProtocol()542     public boolean isCborProtocol() {
543         return protocol == Protocol.CBOR;
544     }
545 
isJsonProtocol()546     public boolean isJsonProtocol() {
547         return protocol == Protocol.CBOR ||
548                protocol == Protocol.AWS_JSON ||
549                protocol == Protocol.REST_JSON;
550     }
551 
isXmlProtocol()552     public boolean isXmlProtocol() {
553         return protocol == Protocol.EC2 ||
554                protocol == Protocol.QUERY ||
555                protocol == Protocol.REST_XML;
556     }
557 
isQueryProtocol()558     public boolean isQueryProtocol() {
559         return protocol == Protocol.EC2 ||
560                protocol == Protocol.QUERY;
561     }
562 
563     /**
564      * @return True for RESTful protocols. False for all other protocols (RPC, Query, etc).
565      */
isNotRestProtocol(String protocol)566     public static boolean isNotRestProtocol(String protocol) {
567         switch (Protocol.fromValue(protocol)) {
568             case REST_JSON:
569             case REST_XML:
570                 return false;
571             default:
572                 return true;
573         }
574     }
575 
getEndpointPrefix()576     public String getEndpointPrefix() {
577         return endpointPrefix;
578     }
579 
setEndpointPrefix(String endpointPrefix)580     public void setEndpointPrefix(String endpointPrefix) {
581         this.endpointPrefix = endpointPrefix;
582     }
583 
withEndpointPrefix(String endpointPrefix)584     public Metadata withEndpointPrefix(String endpointPrefix) {
585         setEndpointPrefix(endpointPrefix);
586         return this;
587     }
588 
getSigningName()589     public String getSigningName() {
590         return signingName;
591     }
592 
setSigningName(String signingName)593     public void setSigningName(String signingName) {
594         this.signingName = signingName;
595     }
596 
withSigningName(String signingName)597     public Metadata withSigningName(String signingName) {
598         setSigningName(signingName);
599         return this;
600     }
601 
setContentType(String contentType)602     public void setContentType(String contentType) {
603         this.contentType = contentType;
604     }
605 
getContentType()606     public String getContentType() {
607         return contentType;
608     }
609 
isRequiresIamSigners()610     public boolean isRequiresIamSigners() {
611         return requiresIamSigners;
612     }
613 
setRequiresIamSigners(boolean requiresIamSigners)614     public void setRequiresIamSigners(boolean requiresIamSigners) {
615         this.requiresIamSigners = requiresIamSigners;
616     }
617 
isRequiresApiKey()618     public boolean isRequiresApiKey() {
619         return requiresApiKey;
620     }
621 
withRequiresApiKey(boolean requiresApiKey)622     public Metadata withRequiresApiKey(boolean requiresApiKey) {
623         this.requiresApiKey = requiresApiKey;
624         return this;
625     }
626 
getUid()627     public String getUid() {
628         return uid;
629     }
630 
setUid(String uid)631     public void setUid(String uid) {
632         this.uid = uid;
633     }
634 
withUid(String uid)635     public Metadata withUid(String uid) {
636         setUid(uid);
637         return this;
638     }
639 
getAuthType()640     public AuthType getAuthType() {
641         return authType;
642     }
643 
setAuthType(AuthType authType)644     public void setAuthType(AuthType authType) {
645         this.authType = authType;
646     }
647 
withAuthType(AuthType authType)648     public Metadata withAuthType(AuthType authType) {
649         this.authType = authType;
650         return this;
651     }
652 
getBaseRequestName()653     public String getBaseRequestName() {
654         return baseRequestName;
655     }
656 
withBaseRequestName(String baseRequestName)657     public Metadata withBaseRequestName(String baseRequestName) {
658         this.baseRequestName = baseRequestName;
659         return this;
660     }
661 
getBaseResponseName()662     public String getBaseResponseName() {
663         return baseResponseName;
664     }
665 
withBaseResponseName(String baseResponseName)666     public Metadata withBaseResponseName(String baseResponseName) {
667         this.baseResponseName = baseResponseName;
668         return this;
669     }
670 
joinPackageNames(String lhs, String rhs)671     private String joinPackageNames(String lhs, String rhs) {
672         return StringUtils.isBlank(rhs) ? lhs : lhs + '.' + rhs;
673     }
674 
supportsH2()675     public boolean supportsH2() {
676         return supportsH2;
677     }
678 
setSupportsH2(boolean supportsH2)679     public void setSupportsH2(boolean supportsH2) {
680         this.supportsH2 = supportsH2;
681     }
682 
withSupportsH2(boolean supportsH2)683     public Metadata withSupportsH2(boolean supportsH2) {
684         setSupportsH2(supportsH2);
685         return this;
686     }
687 
getServiceId()688     public String getServiceId() {
689         return serviceId;
690     }
691 
setServiceId(String serviceId)692     public void setServiceId(String serviceId) {
693         this.serviceId = serviceId;
694     }
695 
withServiceId(String serviceId)696     public Metadata withServiceId(String serviceId) {
697         setServiceId(serviceId);
698         return this;
699     }
700 
getWaitersPackageName()701     public String getWaitersPackageName() {
702         return waitersPackageName;
703     }
704 
setWaitersPackageName(String waitersPackageName)705     public void setWaitersPackageName(String waitersPackageName) {
706         this.waitersPackageName = waitersPackageName;
707     }
708 
withWaitersPackageName(String waitersPackageName)709     public Metadata withWaitersPackageName(String waitersPackageName) {
710         setWaitersPackageName(waitersPackageName);
711         return this;
712     }
713 
getFullWaitersPackageName()714     public String getFullWaitersPackageName() {
715         return joinPackageNames(rootPackageName, getWaitersPackageName());
716     }
717 
getFullWaitersInternalPackageName()718     public String getFullWaitersInternalPackageName() {
719         return joinPackageNames(getFullWaitersPackageName(), "internal");
720     }
721 
setEndpointRulesPackageName(String endpointRulesPackageName)722     public void setEndpointRulesPackageName(String endpointRulesPackageName) {
723         this.endpointRulesPackageName = endpointRulesPackageName;
724     }
725 
withEndpointRulesPackageName(String endpointRulesPackageName)726     public Metadata withEndpointRulesPackageName(String endpointRulesPackageName) {
727         setEndpointRulesPackageName(endpointRulesPackageName);
728         return this;
729     }
730 
getEndpointRulesPackageName()731     public String getEndpointRulesPackageName() {
732         return endpointRulesPackageName;
733     }
734 
getFullEndpointRulesPackageName()735     public String getFullEndpointRulesPackageName() {
736         return joinPackageNames(rootPackageName, getEndpointRulesPackageName());
737     }
738 
getFullInternalEndpointRulesPackageName()739     public String getFullInternalEndpointRulesPackageName() {
740         return joinPackageNames(getFullEndpointRulesPackageName(), "internal");
741     }
742 
setAuthSchemePackageName(String authSchemePackageName)743     public void setAuthSchemePackageName(String authSchemePackageName) {
744         this.authSchemePackageName = authSchemePackageName;
745     }
746 
withAuthSchemePackageName(String authSchemePackageName)747     public Metadata withAuthSchemePackageName(String authSchemePackageName) {
748         setAuthSchemePackageName(authSchemePackageName);
749         return this;
750     }
751 
getAuthSchemePackageName()752     public String getAuthSchemePackageName() {
753         return authSchemePackageName;
754     }
755 
getFullAuthSchemePackageName()756     public String getFullAuthSchemePackageName() {
757         return joinPackageNames(rootPackageName, getAuthSchemePackageName());
758     }
759 
getFullInternalAuthSchemePackageName()760     public String getFullInternalAuthSchemePackageName() {
761         return joinPackageNames(getFullAuthSchemePackageName(), "internal");
762     }
763 
getFullInternalPackageName()764     public String getFullInternalPackageName() {
765         return joinPackageNames(getFullClientPackageName(), "internal");
766     }
767 }
768