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

jadex.bridge.nonfunctional.INFProperty 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 jadex.commons.future.IFuture;

/**
 *  A non-functional property.
 *  
 *  NOTE: Implementing classes must implement a constructor with
 *  the signature INFProperty(String name) to allow the service
 *  to initialize the property during creation.
 */
public interface INFProperty
{
	public static enum Target{Self, Root} // todo: support COMPONENT, Parent
	
	/**
	 *  Gets the name of the property.
	 *  @return The name of the property.
	 */
	public String getName();
	
	/**
	 *  Returns the meta information about the property.
	 *  @return The meta information about the property.
	 */
	public INFPropertyMetaInfo getMetaInfo();
	
	/**
	 *  Returns the current value of the property.
	 *  @return The current value of the property.
	 */
	public IFuture getValue();
	
	/**
	 *  Returns the current value of the property, performs unit conversion if necessary.
	 *  @param unit Unit of the returned value.
	 *  @return The current value of the property.
	 */
//	public IFuture getValue(Class unit);
	public IFuture getValue(U unit);
	
	/**
	 *  Returns the current value of the property in a human readable form.
	 *  @return The current value of the property.
	 */
	public IFuture getPrettyPrintValue();
	
	/**
	 *  Property was removed and should be disposed.
	 */
	public IFuture dispose();
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy