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.
*
* @see org.checkerframework.checker.units.UnitsRelations
*/
@Documented
@Retention(RetentionPolicy.RUNTIME)
public @interface UnitsRelations {
/** @return the UnitsRelations subclass 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 use a less precise type and check that it
// is a sub class in UnitsAnnotatedTypeFactory
Class<?> value();
}