@Target(value=PACKAGE) @Retention(value=RUNTIME) @Repeatable(value=Interfaces.class) public @interface Interface
Interface annotation captures the necessary information for generating an interface
from an existing class (or existing interface) while filtering for certain modifiers. This also
works for modifiers that are not compatible with interfaces, like e.g. static, which is
useful for extracting factory interfaces and similar patterns. For example, the original class
may have a number of static final methods for creating new objects; in the
generated interface these methods will just appear as regular non-static, non-final methods.public abstract String generate
public abstract Class<?> from
public abstract Modifier[] modifiers
PUBLIC, FINAL, STATIC then only those methods will be
included that are public and final and static. To realize an or operation,
multiple @Interface annotations need to be used.public abstract Map[] map
Copyright © 2019. All rights reserved.