/**
* Copyright 2010 Wealthfront Inc. Licensed 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 com.kaching.platform.converters;
import static java.lang.annotation.ElementType.PARAMETER;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
/**
* Annotates optional parameters in constructors.
*/
@Retention(RUNTIME)
@Target({ PARAMETER })
public @interface Optional {
static final String VALUE_DEFAULT = "fba751a996cb6315d4fd41afacc2978b";
/**
* Used to provide a default value.
*/
String value() default VALUE_DEFAULT;
/**
* Provides the reference to a constant ({@code static final} field). The
* constant can be in the same class as the annotated parameter in which case
* the name is sufficient, or it can be in another class and it must be fully
* qualified such as {@code com.kaching.myexample.MyConstructor#MY_CONSTANT}.
*/
String constant() default "";
}