com.g2forge.gearbox.functional.control.IArgument Maven / Gradle / Ivy
The newest version!
package com.g2forge.gearbox.functional.control;
import java.lang.annotation.Annotation;
import java.lang.reflect.Type;
import java.util.stream.Stream;
public interface IArgument {
public T get();
public default A getAnnotation(Class type) {
return Stream.of(getAnnotations()).filter(type::isInstance).map(type::cast).findAny().orElseGet(() -> null);
}
public Annotation[] getAnnotations();
public Type getGenericType();
public String getName();
public Class getType();
}