jadex.bdiv3.runtime.ICapability Maven / Gradle / Ivy
package jadex.bdiv3.runtime;
import jadex.bridge.IInternalAccess;
/**
*
*/
public interface ICapability
{
//-------- ICapability interface --------
/**
* Add a belief listener.
* @param name The belief name.
* @param listener The belief listener.
*/
public void addBeliefListener(final String name, final IBeliefListener listener);
/**
* Remove a belief listener.
* @param name The belief name.
* @param listener The belief listener.
*/
public void removeBeliefListener(String name, IBeliefListener listener);
/**
* Get the agent.
*/
public IInternalAccess getAgent();
/**
* Get the pojo capability object.
* Only applicable for Pojo BDI agents (i.e. not for XML BDI agents).
* @return The user defined java object for the capability.
* @throws UnsupportedOperationException for XML BDI agents.
*/
public Object getPojoCapability();
// /**
// * Get the service container of the capability.
// */
// public IServiceContainer getServiceContainer();
// /**
// * Get the model element.
// * @return The model element.
// */
// public MElement getModelElement();
//
// /**
// * Get the id.
// * @return The id.
// */
// public String getId();
//
//
// /**
// * Get the goals.
// * @return The goals.
// */
// public Collection getGoals();
//
// /**
// * Get goals of a specific pojo type.
// * @param type The type.
// * @return The goals.
// */
// public Collection getGoals(MGoal mgoal);
//
// /**
// * Get goals of a specific pojo type.
// * @param type The type.
// * @return The goals.
// */
// public Collection getGoals(Class> type);
//
// /**
// * Test if a goal is contained.
// * @param type The type.
// * @return The goals.
// */
// public boolean containsGoal(Object pojogoal);
//
// /**
// * Get the plans.
// * @return The plans.
// */
// public Collection getPlans();
//
// /**
// * Get goals of a specific pojo type.
// * @param type The type.
// * @return The goals.
// */
// public Collection getPlans(MPlan mplan);
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy