Package sting

Annotation Interface ActAsStingComponent


Annotation applied to type-targeting annotations that suppress warnings due to usages of @Named, @Typed, and @Eager. This is an integration meta-annotation rather than a component-defining Sting annotation.

When a type is annotated with an annotation meta-annotated by ActAsStingComponent, Sting applies the combined validation behavior of ActAsStingConsumer and ActAsStingProvider. In practice this means Sting tolerates @Named on constructor parameters, and tolerates @Named, @Typed, and @Eager on the type, without treating that type as a Sting-managed component. The expectation is that another annotation processor will process the type and make use of the metadata if present.

This annotation only affects validation. It does not participate in explicit include resolution, provider-backed auto-discovery, or any other graph construction step.

It should be noted that Sting will attempt to use any annotation with this name and shape so that frameworks do not need a direct code dependency on Sting.

See Also: