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

jadex.bridge.nonfunctional.INFMethodPropertyProvider Maven / Gradle / Ivy

Go to download

Jadex bridge is a base package for kernels and platforms, i.e., it is used by both and provides commonly used interfaces and classes for active components and their management.

There is a newer version: 4.0.267
Show newest version
/**
 * 
 */
package jadex.bridge.nonfunctional;

import java.util.Map;

import jadex.commons.MethodInfo;
import jadex.commons.future.IFuture;

/**
 *  Interface for method-based non-functional property providers such
 *  as services.
 */
public interface INFMethodPropertyProvider
{
	/**
	 *  Returns meta information about a non-functional properties of all methods.
	 *  @return The meta information about a non-functional properties.
	 */
	public IFuture>> getMethodNFPropertyMetaInfos();
	
	/**
	 *  Returns the names of all non-functional properties of the specified method.
	 *  @param method The method targeted by this operation.
	 *  @return The names of the non-functional properties of the specified method.
	 */
	public IFuture getMethodNFPropertyNames(MethodInfo method);
	
	/**
	 *  Returns the names of all non-functional properties of this method.
	 *  This includes the properties of all parent components.
	 *  @return The names of the non-functional properties of this method.
	 */
	public IFuture getMethodNFAllPropertyNames(MethodInfo method);
	
	/**
	 *  Returns meta information about a non-functional properties of a method.
	 *  @return The meta information about a non-functional properties.
	 */
	public IFuture> getMethodNFPropertyMetaInfos(MethodInfo method);
	
	/**
	 *  Returns the meta information about a non-functional property of the specified method.
	 *  @param method The method targeted by this operation.
	 *  @param name Name of the property.
	 *  @return The meta information about a non-functional property of the specified method.
	 */
	public IFuture getMethodNFPropertyMetaInfo(MethodInfo method, String name);
	
	/**
	 *  Returns the current value of a non-functional property of the specified method.
	 *  @param method The method targeted by this operation.
	 *  @param name Name of the property.
	 *  @param type Type of the property value.
	 *  @return The current value of a non-functional property of the specified method.
	 */
	public  IFuture getMethodNFPropertyValue(MethodInfo method, String name);
	
	/**
	 *  Returns the current value of a non-functional property of the specified method, performs unit conversion.
	 *  @param method The method targeted by this operation.
	 *  @param name Name of the property.
	 *  @param type Type of the property value.
	 *  @param unit Unit of the property value.
	 *  @return The current value of a non-functional property of the specified method.
	 */
//	public  IFuture getNFPropertyValue(Method method, String name, Class unit);
	public  IFuture getMethodNFPropertyValue(MethodInfo method, String name, U unit);
	
	/**
	 *  Returns the current value of a non-functional property of this service method.
	 *  @param name Name of the property.
	 *  @param type Type of the property value.
	 *  @return The current value of a non-functional property of this service method.
	 */
	public IFuture getMethodNFPropertyPrettyPrintValue(MethodInfo method, String name);
	
	/**
	 *  Add a non-functional property.
	 *  @param method The method targeted by this operation.
	 *  @param nfprop The property.
	 */
	public IFuture addMethodNFProperty(MethodInfo method, INFProperty nfprop);
	
	/**
	 *  Remove a non-functional property.
	 *  @param method The method targeted by this operation.
	 *  @param The name.
	 */
	public IFuture removeMethodNFProperty(MethodInfo method, String name);
	
	/**
	 *  Shutdown the provider.
	 */
	public IFuture shutdownNFPropertyProvider();
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy