The purpose of this class is to annotate methods in interfaces. Through a
proxy, these interfaces can then be used to access the instructions and
clauses in a Processor.
There are the following types of instructions:
- Typed Parameters - Return is a Map, where T is an annotated
attrs interface. This cannot be optional, it will always return a map,
potentially empty.
- Typed Attrs – Return type is a T, where T is not an iterable but yet an
interface annotated with this annotation. This cannot be an Optional.
- Attrs – Return type is Attrs. This cannot be an Optional
- Parameters – Return type is Parameters. This cannot be an optional.
- Lists – Return type is assignable to an iterable. This cannot be an
Optional.
- Basic value – Anything else, is handled by the converter. This can be an
Optional.