166e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilsonpackage javax.annotation.meta; 266e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson 366e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson/** 466e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson * Used to describe the relationship between a qualifier T and the set of values 566e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson * S possible on an annotated element. 666e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson * 766e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson * In particular, an issues should be reported if an ALWAYS or MAYBE value is 866e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson * used where a NEVER value is required, or if a NEVER or MAYBE value is used 966e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson * where an ALWAYS value is required. 1066e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson * 1166e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson * 1266e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson */ 1366e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilsonpublic enum When { 1466e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson /** S is a subset of T */ 1566e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson ALWAYS, 1666e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson /** nothing definitive is known about the relation between S and T */ 1766e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson UNKNOWN, 1866e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson /** S intersection T is non empty and S - T is nonempty */ 1966e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson MAYBE, 2066e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson /** S intersection T is empty */ 2166e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson NEVER; 2266e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson 2366e84b9ff30de7c75b510cb9117205368cf5bd25Jesse Wilson} 24