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

flow.ProviderContract Maven / Gradle / Ivy

The newest version!
package flow;

import java.util.List;

import flow.annotations.AnnotationContract;

/**
 * contract used for discovering and extracting providers from a given object.
 * 
 * @see AnnotationContract
 */
public interface ProviderContract, P extends Provider> {


	/**
	 * extracts one or more providers from an object
	 * @param object
	 * @return list of providers, possibly empty
	 */
	public List

discover(Object object) throws FlowException; /** * given some input values, a static resolver is created that is able to resolve queried dependencies during execution */ public StaticResolver createResolver(List resolvables) throws FlowException; }