@Value.Auxiliary @Value.Derived public String simpleName() { return element().getSimpleName().toString(); }
@Derived @Auxiliary public EncodedElement hash() { for (EncodedElement e : element()) { if (e.isHashCode()) { return e; } } throw new IllegalStateException("Malformed encoding, missing HASH_CODE element"); }
@Derived @Auxiliary public EncodedElement build() { for (EncodedElement e : element()) { if (e.isBuild()) { return e; } } throw new IllegalStateException("Malformed encoding, missing BUILD element"); }
@Value.Derived @Value.Auxiliary public Optional<InjectionInfo> injectAnnotation() { if (environment().hasAnnotateModule()) { return InjectAnnotationMirror.find(element()) .transform(ToInjectionInfo.FUNCTION); } return Optional.absent(); }
@Value.Derived @Value.Auxiliary public boolean isEnclosing() { return EnclosingMirror.isPresent(element()); }
@Value.Derived @Value.Auxiliary public boolean isJacksonDeserialized() { return environment().hasJacksonLib() && isJacksonDeserializedAnnotated(element()); }
@Value.Derived @Value.Auxiliary public boolean isSerialStructural() { return environment().hasSerialModule() && StructuralMirror.isPresent(element()); }
@Value.Derived @Value.Auxiliary public Optional<StyleInfo> style() { return StyleMirror.find(element()).transform(ToStyleInfo.FUNCTION); }
@Derived @Auxiliary public EncodedElement string() { for (EncodedElement e : element()) { if (e.isToString()) { return e; } } throw new IllegalStateException("Malformed encoding, missing TO_STRING element"); }
@Value.Auxiliary @Value.Derived default int get() { return getNumber() + auxiliary().size(); } }
@Value.Derived @Value.Auxiliary public boolean isJsonQualifier() { return environment().hasOkJsonLib() && OkQualifierMirror.isPresent(element()); }
@Value.Derived @Value.Auxiliary public boolean isJacksonSerialized() { return environment().hasJacksonLib() && isJacksonSerializedAnnotated(element()); }
@Derived @Auxiliary public EncodedElement impl() { for (EncodedElement e : element()) { if (e.isImplField()) { return e; } } throw new IllegalStateException("Malformed encoding, missing IMPL element"); }
@Derived @Auxiliary public @Nullable EncodedElement builderCopy() { for (EncodedElement e : element()) { if (e.isBuilderCopy()) { return e; } } return null; }
/** * used to intern packaged created internally */ @Value.Auxiliary abstract Proto.Interning interner();
@Derived @Auxiliary public EncodedElement equals() { for (EncodedElement e : element()) { if (e.isEquals()) { return e; } } throw new IllegalStateException("Malformed encoding, missing EQUALS element"); }
/** * Source type elements stores type element which is used as a source of value type model. * It is the annotated class for {@code @Value.Immutable} or type referenced in * {@code @Value.Include}. * @return source element */ @Value.Auxiliary public abstract Element sourceElement();
@Value.Derived @Value.Auxiliary public boolean isJacksonJsonTypeInfo() { return environment().hasJacksonLib() && isJacksonJsonTypeInfoAnnotated(element()); }
@Derived @Auxiliary public EncodedElement from() { for (EncodedElement e : element()) { if (e.isFrom()) { return e; } } throw new IllegalStateException("Malformed encoding, missing FROM element"); }
@Derived @Auxiliary public @Nullable EncodedElement isWasInit() { for (EncodedElement e : element()) { if (e.isWasInit()) { return e; } } return null; }