jadex.bdi.planlib.protocols
Class ICNPHandler

java.lang.Object
  extended by jadex.bdi.planlib.protocols.ICNPHandler
All Implemented Interfaces:
IProposalEvaluator, IQueryNextroundInfo

public class ICNPHandler
extends java.lang.Object
implements IProposalEvaluator, IQueryNextroundInfo

A helper class that handles a receiver side goals of the iterated contract net protocol by delegating to some implementation of the corresponding interface.


Nested Class Summary
 
Nested classes/interfaces inherited from interface jadex.bdi.planlib.protocols.IQueryNextroundInfo
IQueryNextroundInfo.NextroundInfo
 
Field Summary
protected  IProposalEvaluator proposal_evaluator
          The proposal evaluator.
protected  IQueryNextroundInfo query_nextround_info
          The query nextround info.
 
Constructor Summary
ICNPHandler(IProposalEvaluator proposal_evaluator, IQueryNextroundInfo query_nextround_info)
          Create an ICNPHandler using the given implementations.
 
Method Summary
 ParticipantProposal[] evaluateProposals(java.lang.Object cfp, java.lang.Object cfp_info, NegotiationRecord[] history, ParticipantProposal[] proposals)
          Evaluate the given proposals and determine winning proposals.
 boolean queryNextroundInfo(IQueryNextroundInfo.NextroundInfo info, NegotiationRecord[] history, ParticipantProposal[] proposals)
          Collect information for next negotiation round.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

proposal_evaluator

protected IProposalEvaluator proposal_evaluator
The proposal evaluator.


query_nextround_info

protected IQueryNextroundInfo query_nextround_info
The query nextround info.

Constructor Detail

ICNPHandler

public ICNPHandler(IProposalEvaluator proposal_evaluator,
                   IQueryNextroundInfo query_nextround_info)
Create an ICNPHandler using the given implementations.

Parameters:
proposal_evaluator - The proposal evaluator.
query_nextround_info - The query nextround info.
Method Detail

evaluateProposals

public ParticipantProposal[] evaluateProposals(java.lang.Object cfp,
                                               java.lang.Object cfp_info,
                                               NegotiationRecord[] history,
                                               ParticipantProposal[] proposals)
Evaluate the given proposals and determine winning proposals.

Specified by:
evaluateProposals in interface IProposalEvaluator
Parameters:
cfp - The original call-for-proposal object.
cfp_info - Local meta information associated to the interaction.
history - The history of negotiation rounds.
proposals - The received proposals.
Returns:
The acceptable proposals, sorted by preference (best proposal first).

queryNextroundInfo

public boolean queryNextroundInfo(IQueryNextroundInfo.NextroundInfo info,
                                  NegotiationRecord[] history,
                                  ParticipantProposal[] proposals)
Collect information for next negotiation round.

Specified by:
queryNextroundInfo in interface IQueryNextroundInfo
Parameters:
info - The nextround info object, which might be altered.
history - The history of negotiation rounds.
proposals - The received proposals.
Returns:
True, if another negotiation round should be performed.


Copyright © 2010. All Rights Reserved.