it.auties.protobuf.annotation.ProtobufProperty Maven / Gradle / Ivy
The newest version!
package it.auties.protobuf.annotation;
import it.auties.protobuf.builtin.*;
import it.auties.protobuf.model.ProtobufType;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface ProtobufProperty {
int index();
ProtobufType type();
ProtobufType mapKeyType() default ProtobufType.UNKNOWN;
ProtobufType mapValueType() default ProtobufType.UNKNOWN;
Class>[] mixins() default {
ProtobufAtomicMixin.class,
ProtobufOptionalMixin.class,
ProtobufUUIDMixin.class,
ProtobufURIMixin.class,
ProtobufRepeatedMixin.class,
ProtobufMapMixin.class,
ProtobufFutureMixin.class,
ProtobufLazyMixin.class
};
boolean required() default false;
boolean ignored() default false;
boolean packed() default false;
}