/* * 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.intermediate; import com.amazonaws.codegen.model.service.Location; import com.amazonaws.protocol.MarshallLocation; public class ParameterHttpMapping { private String unmarshallLocationName; private String marshallLocationName; private String additionalUnmarshallingPath; private String additionalMarshallingPath; private boolean isPayload; private boolean isStreaming; private Location location; private boolean flattened; private boolean isGreedy; public boolean getIsPayload() { return isPayload; } public void setPayload(boolean isPayload) { this.isPayload = isPayload; } public ParameterHttpMapping withPayload(boolean isPayload) { this.isPayload = isPayload; return this; } public boolean getIsStreaming() { return isStreaming; } public void setStreaming(boolean isStreaming) { this.isStreaming = isStreaming; } public ParameterHttpMapping withStreaming(boolean isStreaming) { this.isStreaming = isStreaming; return this; } public Location getLocation() { return location; } public void setLocation(Location location) { this.location = location; } public ParameterHttpMapping withLocation(Location location) { this.location = location; return this; } public boolean isHeader() { return this.location == Location.HEADER; } public boolean isUri() { return this.location == Location.URI; } public boolean isStatusCode() { return this.location == Location.STATUS_CODE; } public boolean isQueryString() { return this.location == Location.QUERY_STRING; } public boolean isFlattened() { return flattened; } public void setFlattened(boolean flattened) { this.flattened = flattened; } public ParameterHttpMapping withFlattened(boolean flattened) { this.flattened = flattened; return this; } public String getUnmarshallLocationName() { return unmarshallLocationName; } public void setUnmarshallLocationName(String unmarshallLocationName) { this.unmarshallLocationName = unmarshallLocationName; } public ParameterHttpMapping withUnmarshallLocationName(String unmarshallLocationName) { this.unmarshallLocationName = unmarshallLocationName; return this; } public String getMarshallLocationName() { return marshallLocationName; } public void setMarshallLocationName(String marshallLocationName) { this.marshallLocationName = marshallLocationName; } public ParameterHttpMapping withMarshallLocationName(String marshallLocationName) { this.marshallLocationName = marshallLocationName; return this; } public String getAdditionalUnmarshallingPath() { return additionalUnmarshallingPath; } public void setAdditionalUnmarshallingPath(String additionalUnmarshallingPath) { this.additionalUnmarshallingPath = additionalUnmarshallingPath; } public ParameterHttpMapping withAdditionalUnmarshallingPath(String additionalUnmarshallingPath) { this.additionalUnmarshallingPath = additionalUnmarshallingPath; return this; } public String getAdditionalMarshallingPath() { return additionalMarshallingPath; } public void setAdditionalMarshallingPath(String additionalMarshallingPath) { this.additionalMarshallingPath = additionalMarshallingPath; } public ParameterHttpMapping withAdditionalMarshallingPath(String additionalMarshallingPath) { this.additionalMarshallingPath = additionalMarshallingPath; return this; } public boolean isGreedy() { return isGreedy; } public ParameterHttpMapping setIsGreedy(boolean greedy) { isGreedy = greedy; return this; } public ParameterHttpMapping withIsGreedy(boolean greedy) { setIsGreedy(greedy); return this; } public MarshallLocation getMarshallLocation() { if(location == null) { return MarshallLocation.PAYLOAD; } switch (location) { case HEADER: case HEADERS: return MarshallLocation.HEADER; case QUERY_STRING: return MarshallLocation.QUERY_PARAM; case URI: return isGreedy ? MarshallLocation.GREEDY_PATH : MarshallLocation.PATH; } return MarshallLocation.PAYLOAD; } }