|
@@ -17,10 +17,10 @@ import java.util.ServiceLoader;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* Adnotacje dodające do kodu informacje o znaczeniu semantycznym.
|
|
* Adnotacje dodające do kodu informacje o znaczeniu semantycznym.
|
|
|
- * Z niektórych adnotacji bliblioteka może intensywnie korzystać w runtime,
|
|
|
|
|
|
|
+ * Z niektórych adnotacji bliblioteka może intensywnie korzystać w runtime,
|
|
|
* inne są tylko podpowiedziami dla programistów i/lub narzędzi sprawdzających
|
|
* inne są tylko podpowiedziami dla programistów i/lub narzędzi sprawdzających
|
|
|
* kod.
|
|
* kod.
|
|
|
- *
|
|
|
|
|
|
|
+ *
|
|
|
* @author ranides
|
|
* @author ranides
|
|
|
*/
|
|
*/
|
|
|
public final class Meta {
|
|
public final class Meta {
|
|
@@ -28,37 +28,37 @@ public final class Meta {
|
|
|
private Meta() { }
|
|
private Meta() { }
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
- * W jaki sposób kod jest generowany.
|
|
|
|
|
|
|
+ * W jaki sposób kod jest generowany.
|
|
|
*/
|
|
*/
|
|
|
public enum GenerationStrategy {
|
|
public enum GenerationStrategy {
|
|
|
/** Automatycznie, wstawiany przed wywołaniem metody */
|
|
/** Automatycznie, wstawiany przed wywołaniem metody */
|
|
|
- BEFORE,
|
|
|
|
|
-
|
|
|
|
|
|
|
+ BEFORE,
|
|
|
|
|
+
|
|
|
/** Automatycznie, wstawiany po wywołaniu metody */
|
|
/** Automatycznie, wstawiany po wywołaniu metody */
|
|
|
- AFTER,
|
|
|
|
|
-
|
|
|
|
|
|
|
+ AFTER,
|
|
|
|
|
+
|
|
|
/** Automatycznie, zastępuje istniejącą implementację metody */
|
|
/** Automatycznie, zastępuje istniejącą implementację metody */
|
|
|
- REPLACE,
|
|
|
|
|
-
|
|
|
|
|
|
|
+ REPLACE,
|
|
|
|
|
+
|
|
|
/** Programista użył w kodzie metody jawnie generatora */
|
|
/** Programista użył w kodzie metody jawnie generatora */
|
|
|
MANUAL
|
|
MANUAL
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* W jaki sposób wywołanie metody ma być synchronizowane z systemem
|
|
* W jaki sposób wywołanie metody ma być synchronizowane z systemem
|
|
|
*/
|
|
*/
|
|
|
public enum SyncStrategy {
|
|
public enum SyncStrategy {
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
/** Brak synchronizacji */
|
|
/** Brak synchronizacji */
|
|
|
NONE,
|
|
NONE,
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
/** Wywołanie w "event dispatching thread" biblioteki AWT */
|
|
/** Wywołanie w "event dispatching thread" biblioteki AWT */
|
|
|
AWT,
|
|
AWT,
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
/** Wywołanie w "event dispatching thread" biblioteki AWT i oczekiwanie na zakończenie */
|
|
/** Wywołanie w "event dispatching thread" biblioteki AWT i oczekiwanie na zakończenie */
|
|
|
AWT_WAIT
|
|
AWT_WAIT
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* Element zamrożony, gwarantowany brak zmian w API.
|
|
* Element zamrożony, gwarantowany brak zmian w API.
|
|
|
*/
|
|
*/
|
|
@@ -71,13 +71,13 @@ public final class Meta {
|
|
|
* @return default = 1
|
|
* @return default = 1
|
|
|
*/
|
|
*/
|
|
|
int version() default 1;
|
|
int version() default 1;
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* Numer wersji podczas której zamrożono wskazane API (minor).
|
|
* Numer wersji podczas której zamrożono wskazane API (minor).
|
|
|
* @return default = 0
|
|
* @return default = 0
|
|
|
*/
|
|
*/
|
|
|
int minor() default 0;
|
|
int minor() default 0;
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* Numer rewizji podczas której zamrożono wskazane API (np svn).
|
|
* Numer rewizji podczas której zamrożono wskazane API (np svn).
|
|
|
* @return default = 0
|
|
* @return default = 0
|
|
@@ -133,13 +133,13 @@ public final class Meta {
|
|
|
@Target({CONSTRUCTOR,METHOD})
|
|
@Target({CONSTRUCTOR,METHOD})
|
|
|
@Documented
|
|
@Documented
|
|
|
public static @interface Generated {
|
|
public static @interface Generated {
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* Symboliczna nazwa użytego generatora
|
|
* Symboliczna nazwa użytego generatora
|
|
|
* @return default = ""
|
|
* @return default = ""
|
|
|
*/
|
|
*/
|
|
|
String generator() default "";
|
|
String generator() default "";
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* W jaki sposób kod jest integrowany z istniejącą implementacją metody
|
|
* W jaki sposób kod jest integrowany z istniejącą implementacją metody
|
|
|
* @return default = {@code GenerationStrategy.MANUAL}
|
|
* @return default = {@code GenerationStrategy.MANUAL}
|
|
@@ -178,15 +178,15 @@ public final class Meta {
|
|
|
* @return default = ""
|
|
* @return default = ""
|
|
|
*/
|
|
*/
|
|
|
String value() default "";
|
|
String value() default "";
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* Czy obsługa ma być uruchomiona w wątku AWT
|
|
* Czy obsługa ma być uruchomiona w wątku AWT
|
|
|
* @return default = {@link SyncStrategy#NONE}
|
|
* @return default = {@link SyncStrategy#NONE}
|
|
|
*/
|
|
*/
|
|
|
SyncStrategy sync() default SyncStrategy.NONE;
|
|
SyncStrategy sync() default SyncStrategy.NONE;
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* Metoda obsługi wyjątku. Przeznaczona tylko jako wywołanie zwrotne, a nie
|
|
* Metoda obsługi wyjątku. Przeznaczona tylko jako wywołanie zwrotne, a nie
|
|
|
* bezpośrednie.
|
|
* bezpośrednie.
|
|
@@ -199,9 +199,9 @@ public final class Meta {
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* <p>
|
|
* <p>
|
|
|
- * Jeśli funkcja z dowolnego powodu wymaga szczególnej ostrożności,
|
|
|
|
|
|
|
+ * Jeśli funkcja z dowolnego powodu wymaga szczególnej ostrożności,
|
|
|
* to powinna tym być oznaczona. Przykłady zachowań:</p>
|
|
* to powinna tym być oznaczona. Przykłady zachowań:</p>
|
|
|
- * <ul>
|
|
|
|
|
|
|
+ * <ul>
|
|
|
* <li>funkcja wykonuje rzutowania "unchecked"</li>
|
|
* <li>funkcja wykonuje rzutowania "unchecked"</li>
|
|
|
* <li>"undefined behaviour" w niektórych warunkach</li>
|
|
* <li>"undefined behaviour" w niektórych warunkach</li>
|
|
|
* <li>"expose internal array"</li>
|
|
* <li>"expose internal array"</li>
|
|
@@ -210,15 +210,15 @@ public final class Meta {
|
|
|
* </ul>
|
|
* </ul>
|
|
|
*/
|
|
*/
|
|
|
@Retention(RUNTIME)
|
|
@Retention(RUNTIME)
|
|
|
- @Target({TYPE, METHOD})
|
|
|
|
|
|
|
+ @Target({TYPE, METHOD, CONSTRUCTOR})
|
|
|
@Documented
|
|
@Documented
|
|
|
public @interface Unsafe {
|
|
public @interface Unsafe {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* Adnotowana klasa jest implementacją interfejsu obsługiwanego za pomocą
|
|
* Adnotowana klasa jest implementacją interfejsu obsługiwanego za pomocą
|
|
|
- * {@link ServiceLoader}. Powinien zostać wygenerowany odpowiedni wpis do
|
|
|
|
|
- * manifestu pliku JAR.
|
|
|
|
|
|
|
+ * {@link ServiceLoader}. Powinien zostać wygenerowany odpowiedni wpis do
|
|
|
|
|
+ * manifestu pliku JAR.
|
|
|
*/
|
|
*/
|
|
|
@Retention(SOURCE)
|
|
@Retention(SOURCE)
|
|
|
@Documented
|
|
@Documented
|
|
@@ -227,7 +227,7 @@ public final class Meta {
|
|
|
/**
|
|
/**
|
|
|
* Jeśli klasa implementuje więcej niż jeden interfejs, to należy wskazać
|
|
* Jeśli klasa implementuje więcej niż jeden interfejs, to należy wskazać
|
|
|
* interfejs, która powinien zostać wyeksportowany w manifeście.
|
|
* interfejs, która powinien zostać wyeksportowany w manifeście.
|
|
|
- * @return
|
|
|
|
|
|
|
+ * @return
|
|
|
*/
|
|
*/
|
|
|
Class value() default void.class;
|
|
Class value() default void.class;
|
|
|
}
|
|
}
|