Package jason.stdlib

Class df_search

java.lang.Object
All Implemented Interfaces:
InternalAction, java.io.Serializable

@Manual(literal=".df_search(service[,type],result)",
        hint="list of all agents providing the service and, optionally, the type",
        argsHint={"the service the agents are registered","the type of the service [optional]","the resulting list of agents providing the service"},
        argsType={"literal","string","list"},
        examples=".df_search(\"sell(book)\",L): unifies L with [bob,alice] in case these two agents have registered as book sellers",
        seeAlso={"jason.stdlib.df_register","jason.stdlib.df_deregister","jason.stdlib.df_subscribe"})
public class df_search
extends df_register

Internal action: .df_search(S [,T] , L).

Description: unifies in L a list of all agents providing the service S of type T (see FIPA Directory Facilitator specification). An optional second argument can be used to define the type of the service.

Parameters:

  • - service (literal): the service the agents are registered.
  • - type (string -- optional): the type of the service.
  • - type (list): the resultant list of agents providing the service.

Examples:

  • .df_search("sell(book)",L): unifies L with [bob,alice] in case these two agents have registered as book sellers.
See Also:
df_register, df_deregister, df_subscribe, Serialized Form
  • Field Details

  • Constructor Details

    • df_search

      public df_search()
  • Method Details

    • create

      public static InternalAction create()
    • getMinArgs

      public int getMinArgs()
      Overrides:
      getMinArgs in class df_register
    • getMaxArgs

      public int getMaxArgs()
      Overrides:
      getMaxArgs in class df_register
    • execute

      public java.lang.Object execute​(TransitionSystem ts, Unifier un, Term[] args) throws java.lang.Exception
      Description copied from interface: InternalAction
      Executes the internal action. It should return a Boolean or an Iterator. A true boolean return means that the IA was successfully executed. An Iterator result means that there is more than one answer for this IA (e.g. see member internal action).
      Specified by:
      execute in interface InternalAction
      Overrides:
      execute in class df_register
      Throws:
      java.lang.Exception