blob: 0d73192c3edd73394410b16cf055f490555db1c6 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License 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 org.jclouds.rest.annotations;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
/**
* Designates that a header will be added to the request. This header will contain the specified
* {@code value}, expanding any variables annotated with {@code PathParam}.
*
* @see PathParam
*/
@Target( { TYPE, METHOD })
@Retention(RUNTIME)
public @interface Headers {
/**
* @see HttpHeaders
*/
String[] keys();
/**
* can be defined literally, or with enclosed variables (ex. <code>{variable}</code>)
* <p/>
* The inputs to these variables are taken from method parameters annotated with {@code
* @PathParam}.
*
* @see javax.ws.rs.PathParam
*
*/
String[] values();
/**
* Indicates whether a header should be URL encoded. Optional for backwards compatibility.
* The default behavior is that the header is not URL encoded.
*/
boolean[] urlEncode() default {};
}