/*
* 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 com.amazonaws.codegen.model.service.Member;
import java.util.List;
import java.util.Map;
/**
* Use shapeModifiers customization to add/remove shape members or to modify the
* properties of a member.
*/
public class ShapeModifier {
private boolean excludeShape;
private List<String> exclude;
private List<Map<String, ShapeModifier_ModifyModel>> modify;
private List<Map<String, Member>> inject;
/**
* @return true if the whole shape should be excluded.
*/
public boolean isExcludeShape() {
return excludeShape;
}
public void setExcludeShape(boolean excludeShape) {
this.excludeShape = excludeShape;
}
/**
* @return A list of member names that should be excluded when processing
* the given shape.
*/
public List<String> getExclude() {
return exclude;
}
public void setExclude(List<String> exclude) {
this.exclude = exclude;
}
/**
* @return List of singleton maps, each containing the name of a shape
* member, and the modifications that we want to apply to it.
*/
public List<Map<String, ShapeModifier_ModifyModel>> getModify() {
return modify;
}
public void setModify(List<Map<String, ShapeModifier_ModifyModel>> modify) {
this.modify = modify;
}
/**
* @return A list of singleton maps, each containing a custom member that we want to inject to this shape.
*/
public List<Map<String, Member>> getInject() {
return inject;
}
public void setInject(List<Map<String, Member>> inject) {
this.inject = inject;
}
}