software.amazon.awssdk.core.SdkRequest Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of sdk-core Show documentation
Show all versions of sdk-core Show documentation
The AWS SDK for Java - SDK Core runtime module holds the classes that are used by the individual service
clients to interact with
Amazon Web Services. Users need to depend on aws-java-sdk artifact for accessing individual client classes.
/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
package software.amazon.awssdk.core;
import java.util.Optional;
import software.amazon.awssdk.annotations.Immutable;
import software.amazon.awssdk.annotations.SdkPublicApi;
/**
* The base class for all SDK requests.
*
* Implementations must ensure the class is immutable.
*
* @see SdkResponse
*/
@Immutable
@SdkPublicApi
public abstract class SdkRequest implements SdkPojo {
/**
* @return The optional client configuration overrides for this request.
*/
public abstract Optional extends RequestOverrideConfiguration> overrideConfiguration();
/**
* Used to retrieve the value of a field from any class that extends {@link SdkRequest}. The field name
* specified should match the member name from the corresponding service-2.json model specified in the
* codegen-resources folder for a given service. The class specifies what class to cast the returned value to.
* If the returned value is also a modeled class, the {@link #getValueForField(String, Class)} method will
* again be available.
*
* @param fieldName The name of the member to be retrieved.
* @param clazz The class to cast the returned object to.
* @return Optional containing the casted return value
*/
public Optional getValueForField(String fieldName, Class clazz) {
return Optional.empty();
}
public abstract Builder toBuilder();
public interface Builder {
RequestOverrideConfiguration overrideConfiguration();
SdkRequest build();
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy