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

jadex.nfproperty.INFPropertyProvider Maven / Gradle / Ivy

package jadex.nfproperty;

import java.util.Map;

import jadex.future.IFuture;

/**
 *  Interface for non-functional property providers such
 *  as services and components.
 */
public interface INFPropertyProvider
{
	/**
	 *  Returns the declared names of all non-functional properties of this service.
	 *  @return The names of the non-functional properties of this service.
	 */
	public IFuture getNFPropertyNames();
	
//	/**
//	 *  Returns names of all non-functional properties of this service and above entities.
//	 *  @return The names of the non-functional properties of this service.
//	 */
//	public IFuture getAllNFPropertyNames();
	
	/**
	 *  Returns the names of all non-functional properties of this service.
	 *  @return The names of the non-functional properties of this service.
	 */
	public IFuture getNFAllPropertyNames();
	
	/**
	 *  Returns the meta information about a non-functional property of this service.
	 *  @param name Name of the property.
	 *  @return The meta information about a non-functional property of this service.
	 */
	public IFuture> getNFPropertyMetaInfos();
	
	/**
	 *  Returns the meta information about a non-functional property of this service.
	 *  @param name Name of the property.
	 *  @return The meta information about a non-functional property of this service.
	 */
	public IFuture getNFPropertyMetaInfo(String name);
	
	/**
	 *  Returns the current value of a non-functional property of this service.
	 *  @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.
	 */
	public  IFuture getNFPropertyValue(String name);
	
	/**
	 *  Returns the current value of a non-functional property of this service, performs unit conversion.
	 *  @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 this service.
	 */
//	public  IFuture getNFPropertyValue(String name, Class unit);
	public  IFuture getNFPropertyValue(String name, U unit);
	
	/**
	 *  Returns the current value of a non-functional property of this service.
	 *  @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.
	 */
	public IFuture getNFPropertyPrettyPrintValue(String name);
	
	/**
	 *  Add a non-functional property.
	 *  @param nfprop The property.
	 */
	public IFuture addNFProperty(INFProperty nfprop);
	
	/**
	 *  Remove a non-functional property.
	 *  @param The name.
	 */
	public IFuture removeNFProperty(String name);
	
	/**
	 *  Shutdown the provider.
	 */
	public IFuture shutdownNFPropertyProvider();
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy