All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.nill14.utils.init.api.IMemberDescriptor Maven / Gradle / Ivy

package com.github.nill14.utils.init.api;

import java.lang.annotation.Annotation;
import java.lang.reflect.InvocationTargetException;
import java.util.Collection;
import java.util.Optional;

public interface IMemberDescriptor {

	Optional getAnnotation(Class annotation);
	
	Collection getAnnotations();
	
	Collection getParameterTypes();

	Object invoke(Object receiver, Object... args) throws InvocationTargetException, ReflectiveOperationException;
	
	/**
	 * 
	 * All members are @Nullable or Inject(optional) so that we can skip invoke
	 * {@link java.util.Optional} is not such a case
	 */
	boolean isOptionalInject();

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy