com.almende.eve.agent.AgentInterface Maven / Gradle / Ivy
package com.almende.eve.agent;
import java.util.List;
import com.almende.eve.agent.annotation.Name;
import com.almende.eve.agent.annotation.Required;
public interface AgentInterface {
/**
* Retrieve the agents id
* @return id
*/
public String getId();
/**
* Retrieve the agents type (its simple class name)
* @return version
*/
public String getType();
/**
* Retrieve the agents version number
* @return version
*/
public String getVersion();
/**
* Retrieve a description of the agents functionality
* @return description
*/
public String getDescription();
/**
* Retrieve an array with the agents urls (can be one or multiple), and
* depends on the configured transport services.
* @return urls
*/
public List getUrls();
/**
* Retrieve an JSON Array with the agents scheduled tasks
*/
public String getTasks();
/**
* Internal method, implementing this method allows adding authorization to your agent.
* All methods annotated with AccessType.PRIVATE will only be called if this method returns true.
* The function_tag parameter can be used to check against @Access(tag="foobar") annotation on the called method.
* ( e.g. add roles to methods )
*
* @param senderId
* @param functionTag
* @return
*/
public boolean onAccess(String senderId, String functionTag);
/**
* Retrieve a list with all the available methods.
* @return methods
*/
public List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy