Package jadex.bdi.planlib.protocols
Class ICNPHandler
- java.lang.Object
-
- 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
Fields Modifier and Type Field Description protected IProposalEvaluator
proposal_evaluator
The proposal evaluator.protected IQueryNextroundInfo
query_nextround_info
The query nextround info.
-
Constructor Summary
Constructors Constructor Description ICNPHandler(IProposalEvaluator proposal_evaluator, IQueryNextroundInfo query_nextround_info)
Create an ICNPHandler using the given implementations.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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.
-
-
-
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 interfaceIProposalEvaluator
- 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 interfaceIQueryNextroundInfo
- 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.
-
-