org.checkerframework.checker.units.qual.UnitsRelations Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of guava Show documentation
Show all versions of guava Show documentation
Guava is a suite of core and expanded libraries that include
utility classes, google's collections, io classes, and much
much more.
package org.checkerframework.checker.units.qual;
import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
/**
* Specify the class that knows how to handle the meta-annotated unit when put in relation (plus,
* multiply, ...) with another unit. That class is a subtype of interface {@link
* org.checkerframework.checker.units.UnitsRelations}.
*
* @see org.checkerframework.checker.units.UnitsRelations
* @checker_framework.manual #units-checker Units Checker
*/
@Documented
@Retention(RetentionPolicy.RUNTIME)
public @interface UnitsRelations {
/**
* Returns the subclass of {@link org.checkerframework.checker.units.UnitsRelations} to use.
*
* @return the subclass of {@link org.checkerframework.checker.units.UnitsRelations} to use
*/
// The more precise type is Class extends org.checkerframework.checker.units.UnitsRelations>,
// but org.checkerframework.checker.units.UnitsRelations is not in checker-qual.jar, nor can
// it be since it uses AnnotatedTypeMirrors. So this declaration uses a less precise type, and
// UnitsAnnotatedTypeFactory checks that the argument implements
// org.checkerframework.checker.units.UnitsRelations.
Class> value();
}