javax.ws.rs.DefaultValue Maven / Gradle / Ivy
/*
* The contents of this file are subject to the terms
* of the Common Development and Distribution License
* (the "License"). You may not use this file except
* in compliance with the License.
*
* You can obtain a copy of the license at
* http://www.opensource.org/licenses/cddl1.php
* See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* DefaultValue.java
*
* Created on November 16, 2006, 2:04 PM
*
*/
package javax.ws.rs;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* Defines the default value of request metadata that is bound using one of the
* following annotations:
* {@link javax.ws.rs.PathParam},
* {@link javax.ws.rs.QueryParam},
* {@link javax.ws.rs.MatrixParam},
* {@link javax.ws.rs.CookieParam},
* {@link javax.ws.rs.FormParam},
* or {@link javax.ws.rs.HeaderParam}.
* The default value is used if the corresponding metadata is not present in the
* request.
*
* If the type of the annotated parameter is
* List
, Set
or SortedSet
then the
* resulting collection will have a single entry mapped from the supplied
* default value.
*
* If this annotation is not used and the corresponding metadata is not
* present in the request, the value will be an empty collection for
* List
, Set
or SortedSet
, null for
* other object types, and the Java-defined default for primitive types.
*
* @see PathParam
* @see QueryParam
* @see FormParam
* @see HeaderParam
* @see MatrixParam
* @see CookieParam
*/
@Target({ElementType.PARAMETER, ElementType.METHOD, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface DefaultValue {
/**
* The default value.
*/
String value();
}