/*
 Copyright (C) 2008 Richard Gomes

 This source code is release under the BSD License.

 This file is part of JQuantLib, a free-software/open-source library
 for financial quantitative analysts and developers - http://jquantlib.org/

 JQuantLib is free software: you can redistribute it and/or modify it
 under the terms of the JQuantLib license.  You should have received a
 copy of the license along with this program; if not, please email
 . The license is also available online at
 .

 This program is distributed in the hope that it will be useful, but WITHOUT
 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 FOR A PARTICULAR PURPOSE.  See the license for more details.

 JQuantLib is based on QuantLib. http://quantlib.org/
 When applicable, the original copyright notice follows this notice.
 */

package org.jquantlib.lang.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;


/**
 * This interface is intended to be used as a tagging annotation which is helpful when
 * we add semantic meaning to Java types.
 * 

* As an example, consider an int variable which represents an amount of apples and another * int variable which represents an amount of pears. In spite the two variables are int and we * surely are able to perform mathematical operations with them, semantically they represent different concepts in * the real world and we should never mix them. * * @see JSR 308: Annotations on Java Types * @see Strong Type Checking * * @author Richard Gomes */ @Typedef @Retention(RetentionPolicy.RUNTIME) @Target({ ElementType.TYPE_USE, ElementType.FIELD, ElementType.LOCAL_VARIABLE, ElementType.PARAMETER }) public @interface Real { // No methods - Tagging annotation }

Ads help maintain this website.