mirror of
https://github.com/Eaglercraft-Archive/Eaglercraftx-1.8.8-src.git
synced 2025-06-27 18:38:14 -05:00
Update #0 - First Release
This commit is contained in:
45
sources/main/java/javax/annotation/Syntax.java
Normal file
45
sources/main/java/javax/annotation/Syntax.java
Normal file
@ -0,0 +1,45 @@
|
||||
package javax.annotation;
|
||||
|
||||
import java.lang.annotation.Documented;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
|
||||
import javax.annotation.meta.TypeQualifier;
|
||||
import javax.annotation.meta.When;
|
||||
|
||||
/**
|
||||
* This annotation a value that is of a particular syntax, such as Java syntax
|
||||
* or regular expression syntax. This can be used to provide syntax checking of
|
||||
* constant values at compile time, run time checking at runtime, and can assist
|
||||
* IDEs in deciding how to interpret String constants (e.g., should a
|
||||
* refactoring that renames method {@code x()} to {@code y()} update the String
|
||||
* constant {@code "x()"}).
|
||||
*/
|
||||
@Documented
|
||||
@TypeQualifier(applicableTo = CharSequence.class)
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
public @interface Syntax {
|
||||
/**
|
||||
* Value indicating the particular syntax denoted by this annotation. Different
|
||||
* tools will recognize different syntaxes, but some proposed canonical values
|
||||
* are:
|
||||
* <ul>
|
||||
* <li>"Java"
|
||||
* <li>"RegEx"
|
||||
* <li>"JavaScript"
|
||||
* <li>"Ruby"
|
||||
* <li>"Groovy"
|
||||
* <li>"SQL"
|
||||
* <li>"FormatString"
|
||||
* </ul>
|
||||
* <p>
|
||||
* Syntax names can be followed by a colon and a list of key value pairs,
|
||||
* separated by commas. For example, "SQL:dialect=Oracle,version=2.3". Tools
|
||||
* should ignore any keys they don't recognize.
|
||||
*
|
||||
* @return a name indicating the particular syntax.
|
||||
*/
|
||||
String value();
|
||||
|
||||
When when() default When.ALWAYS;
|
||||
}
|
Reference in New Issue
Block a user