/* * Copyright (c) 2016. 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 com.amazonaws.codegen.model.config.customization; import java.util.List; /** * Use shapeSubstitutions customization to override all appearances of the given * shape with a new shape, and optionally use a specific member of the original * shape as the data source. * * When emitFromMember is supplied, an additional marshalling and unmarshalling * path is added to reflect the wire representation of the member. */ public class ShapeSubstitution { private String emitAsShape; private String emitFromMember; /** * This contains a list of shapes for which the additional marshalling * path will not be added. This customization is specifically added for * EC2 where we replace all occurrences of AttributeValue with Value in * the model classes. However the wire representation is not changed. * * TODO This customization has been added to preserve backwards * compatiblity of EC2 APIs. This should be removed as part of next major * version bump. */ private List<String> skipMarshallPathForShapes; public String getEmitAsShape() { return emitAsShape; } public void setEmitAsShape(String emitAsShape) { this.emitAsShape = emitAsShape; } public String getEmitFromMember() { return emitFromMember; } public void setEmitFromMember(String emitFromMember) { this.emitFromMember = emitFromMember; } public List<String> getSkipMarshallPathForShapes() { return skipMarshallPathForShapes; } public void setSkipMarshallPathForShapes(List<String> skipMarshallPathForShapes) { this.skipMarshallPathForShapes = skipMarshallPathForShapes; } }