mirror of
https://github.com/SlimeVR/SlimeVR-Server.git
synced 2026-04-05 18:01:56 +02:00
40 lines
2.0 KiB
Java
40 lines
2.0 KiB
Java
package io.eiren.util.ann;
|
|
|
|
import java.lang.annotation.ElementType;
|
|
import java.lang.annotation.Retention;
|
|
import java.lang.annotation.RetentionPolicy;
|
|
import java.lang.annotation.Target;
|
|
|
|
|
|
/**
|
|
* <p>
|
|
* Означает что поле используется для временных или быстро изменяющихся
|
|
* переменных.
|
|
* </p>
|
|
* <p>
|
|
* Поле помеченное этой аннотацией не влияет на долгосрочное состояние объекта,
|
|
* не участвует в сериализации, вычислении equals и hashCode, не определяет
|
|
* поведение объекта для внешнего кода. Поэтому такие поля не должны
|
|
* использоваться внешним кодом, их состояние имеет смысл только для самого
|
|
* объекта в котором они объявлены.
|
|
* </p>
|
|
* Примеры:
|
|
* <ul>
|
|
* <li>Временный объект, который используется в методах для внутренних
|
|
* вычислений. Например векторные и матричные вычисления.</li>
|
|
* <li>Внутренний флаг для мультитрединга. Например, флаг апдейта графического
|
|
* состояния взводимый из игрового потока.</li>
|
|
* <li>Выведенное значение или структура, которое инициализируется самим
|
|
* объектом по фиксированному правилу. Например, производное значение от
|
|
* переменной параметризующей объект. Инициализируемый в конструкторе lookup
|
|
* table.</li>
|
|
* </ul>
|
|
*
|
|
* @author tort32
|
|
*/
|
|
@Retention(value = RetentionPolicy.SOURCE)
|
|
@Target({ ElementType.FIELD })
|
|
public @interface Transient {
|
|
|
|
}
|