package com.sora.util.akatsuki; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * This annotation allows you to specify different {@link TypeConverter} for the * annotated element. All annotations concerning Bundle serializations such as * {@link Retained} and {@link Arg} will respect this. */ @Target(ElementType.FIELD) @Retention(RetentionPolicy.SOURCE) public @interface With { /** * The specified {@link TypeConverter} will be used to persist this field * (this takes precedence over everything, including the built in type * support and {@link DeclaredConverter} annotated {@link TypeConverter}s) */ Class<? extends TypeConverter<?>>value() default TypeConverter.DummyTypeConverter.class; // adding more stuff might change the meaning of this annotation a bit, // let's try not to do that :) }