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

jadex.bridge.component.IExternalNFPropertyComponentFeature 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.component;

import java.util.Map;

import jadex.bridge.IExternalAccess;
import jadex.bridge.nonfunctional.INFProperty;
import jadex.bridge.nonfunctional.INFPropertyMetaInfo;
import jadex.bridge.service.IServiceIdentifier;
import jadex.commons.MethodInfo;
import jadex.commons.future.IFuture;

/**
 * External perspective of the monitoring feature.
 */
public interface IExternalNFPropertyComponentFeature extends IExternalComponentFeature
{
	//-------- component --------
	
	/**
	 *  Returns the declared names of all non-functional properties of this component.
	 *  @return The names of the non-functional properties of this component.
	 */
	public IFuture getNFPropertyNames();
	
	/**
	 *  Returns the names of all non-functional properties of this component.
	 *  @return The names of the non-functional properties of this component.
	 */
	public IFuture getNFAllPropertyNames();
	
	/**
	 *  Returns the meta information about a non-functional property of this component.
	 *  @param name Name of the property.
	 *  @return The meta information about a non-functional property of this component.
	 */
	public IFuture> getNFPropertyMetaInfos();
	
	/**
	 *  Returns the meta information about a non-functional property of this component.
	 *  @param name Name of the property.
	 *  @return The meta information about a non-functional property of this component.
	 */
	public IFuture getNFPropertyMetaInfo(String name);
	
	/**
	 *  Returns the current value of a non-functional property of this component.
	 *  @param name Name of the property.
	 *  @param type Type of the property value.
	 *  @return The current value of a non-functional property of this component.
	 */
	public  IFuture getNFPropertyValue(String name);
	
	/**
	 *  Returns the current value of a non-functional property of this component, 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 component.
	 */
//	public  IFuture getNFPropertyValue(String name, Class unit);
	public  IFuture getNFPropertyValue(final String name, final U unit);
	
	/**
	 *  Returns the current value of a non-functional property of this component.
	 *  @param name Name of the property.
	 *  @param type Type of the property value.
	 *  @return The current value of a non-functional property of this component as string.
	 */
	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();
	
	//-------- provided services --------
	
	/**
	 *  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(IServiceIdentifier sid);
	
	/**
	 *  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(IServiceIdentifier sid);
	
	/**
	 *  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(IServiceIdentifier sid);
	
	/**
	 *  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(IServiceIdentifier sid, 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(IServiceIdentifier sid, 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(IServiceIdentifier sid, String name, U unit);
	
	/**
	 *  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 as string.
	 */
	public IFuture getNFPropertyPrettyPrintValue(IServiceIdentifier sid, String name);
	
	/**
	 *  Add a non-functional property.
	 *  @param nfprop The property.
	 */
	public IFuture addNFProperty(IServiceIdentifier sid, INFProperty nfprop);
	
	/**
	 *  Remove a non-functional property.
	 *  @param The name.
	 */
	public IFuture removeNFProperty(IServiceIdentifier sid, String name);
	
	/**
	 *  Shutdown the provider.
	 */
	public IFuture shutdownNFPropertyProvider(IServiceIdentifier sid);
	
	//-------- provided service methods --------
	
	/**
	 *  Returns meta information about a non-functional properties of all methods.
	 *  @return The meta information about a non-functional properties.
	 */
	public IFuture>> getMethodNFPropertyMetaInfos(IServiceIdentifier sid);
	
	/**
	 *  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(IServiceIdentifier sid, 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(IServiceIdentifier sid, 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(IServiceIdentifier sid, 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(IServiceIdentifier sid, 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(IServiceIdentifier sid, 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 getMethodNFPropertyValue(IServiceIdentifier sid, MethodInfo method, String name, U unit);
	
	/**
	 *  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 getMethodNFPropertyPrettyPrintValue(IServiceIdentifier sid, MethodInfo method, String name);
	
	/**
	 *  Add a non-functional property.
	 *  @param method The method targeted by this operation.
	 *  @param nfprop The property.
	 */
	public IFuture addMethodNFProperty(IServiceIdentifier sid, MethodInfo method, INFProperty nfprop);
	
	/**
	 *  Remove a non-functional property.
	 *  @param method The method targeted by this operation.
	 *  @param The name.
	 */
	public IFuture removeMethodNFProperty(IServiceIdentifier sid, MethodInfo method, String name);

	//-------- required services --------
	
	/**
	 *  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 getRequiredNFPropertyNames(IServiceIdentifier sid);
	
	/**
	 *  Returns the names of all non-functional properties of this service.
	 *  @return The names of the non-functional properties of this service.
	 */
	public IFuture getRequiredNFAllPropertyNames(IServiceIdentifier sid);
	
	/**
	 *  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> getRequiredNFPropertyMetaInfos(IServiceIdentifier sid);
	
	/**
	 *  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 getRequiredNFPropertyMetaInfo(IServiceIdentifier sid, 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 getRequiredNFPropertyValue(IServiceIdentifier sid, 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 getRequiredNFPropertyPrettyPrintValue(IServiceIdentifier sid, 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 getRequiredNFPropertyValue(IServiceIdentifier sid, String name, U unit);
	
	/**
	 *  Add a non-functional property.
	 *  @param nfprop The property.
	 */
	public IFuture addRequiredNFProperty(IServiceIdentifier sid, INFProperty nfprop);
	
	/**
	 *  Remove a non-functional property.
	 *  @param The name.
	 */
	public IFuture removeRequiredNFProperty(IServiceIdentifier sid, String name);
	
	/**
	 *  Shutdown the provider.
	 */
	public IFuture shutdownRequiredNFPropertyProvider(IServiceIdentifier sid);
	
	//-------- required service methods --------
	
	/**
	 *  Returns meta information about a non-functional properties of all methods.
	 *  @return The meta information about a non-functional properties.
	 */
	public IFuture>> getRequiredMethodNFPropertyMetaInfos(IServiceIdentifier sid);
	
	/**
	 *  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 getRequiredMethodNFPropertyNames(IServiceIdentifier sid, 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 getRequiredMethodNFAllPropertyNames(IServiceIdentifier sid, MethodInfo method);
	
	/**
	 *  Returns meta information about a non-functional properties of a method.
	 *  @return The meta information about a non-functional properties.
	 */
	public IFuture> getRequiredMethodNFPropertyMetaInfos(IServiceIdentifier sid, 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 getRequiredMethodNFPropertyMetaInfo(IServiceIdentifier sid, 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 getRequiredMethodNFPropertyValue(IServiceIdentifier sid, 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 getRequiredMethodNFPropertyValue(IServiceIdentifier sid, MethodInfo method, String name, U unit);
	
	
	public IFuture getRequiredMethodNFPropertyPrettyPrintValue(IServiceIdentifier sid, MethodInfo method, String name);

	
	/**
	 *  Add a non-functional property.
	 *  @param method The method targeted by this operation.
	 *  @param nfprop The property.
	 */
	public IFuture addRequiredMethodNFProperty(IServiceIdentifier sid, MethodInfo method, INFProperty nfprop);
	
	/**
	 *  Remove a non-functional property.
	 *  @param method The method targeted by this operation.
	 *  @param The name.
	 */
	public IFuture removeRequiredMethodNFProperty(IServiceIdentifier sid, MethodInfo method, String name);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy