fr.lifl.magique.skill.magique
Class BossTeamSkill

java.lang.Object
  extended byfr.lifl.magique.skill.MagiqueDefaultSkill
      extended byfr.lifl.magique.skill.magique.BossTeamSkill
All Implemented Interfaces:
Skill

public class BossTeamSkill
extends MagiqueDefaultSkill

the main fonctionnality for being a Magique agent : all what is required to manage team and boss


Field Summary
 
Fields inherited from class fr.lifl.magique.skill.MagiqueDefaultSkill
myAgent
 
Constructor Summary
BossTeamSkill(Agent agent)
           
 
Method Summary
 void addToMyTeam(java.lang.String agent, TeamInfo info)
          add an agent to myTeam.
 void changeTeam(java.lang.String agent, TeamInfo info)
          modifies the value of the teaminfo associated to agent (an agent of my team), it becomes info If agent was not previously known, it is added.
 java.lang.String getMyBoss()
           
 Team getMyTeam()
           
 boolean isBasis()
          if i have no team i am a basic agent
 boolean isBigBoss()
          no boss ?
 boolean isBoss()
          i have a team ?
 java.util.Vector knownMethods()
          returns all the methods known in my team
 java.util.Vector knownNames()
          returns all the names known in my team
 void newMember(java.lang.String agent, java.lang.String member, TeamInfo memberInfo)
          tells me that someone in my team has a new member in its team...
 void newMethods(java.lang.String agent, java.lang.String subAgent, java.util.Vector newMethods)
          tells me that someone in my team has new methods (or new skill) informations must be updated in the team
 void removeFromMyTeam(java.lang.String agentName)
          remove agentName from my team.
 void setMyBoss(java.lang.String myBoss)
          sets the name of my boss
 void updateTeam()
          my team has changed, i must advise my boss, it is assumed I am not Big boss
 
Methods inherited from class fr.lifl.magique.skill.MagiqueDefaultSkill
addAgenda, addSkill, addSkill, addSkill, addSkill, ask, ask, ask, ask, ask, ask, ask, ask, ask, ask, ask, ask, ask, ask, askNow, askNow, askNow, askNow, askNow, askNow, askNow, askNow, askNow, askNow, askNow, askNow, askNow, askNow, broadcastToAll, broadcastToBasis, concurrentAsk, concurrentAsk, concurrentAsk, concurrentAsk, concurrentAsk, concurrentAsk, concurrentAsk, connectTo, connectToBoss, createOrder, createOrder, createOrder, createOrder, createOrder, createOrder, createQuestion, createQuestion, createQuestion, createQuestion, createQuestion, createQuestion, getAgenda, getMyAgent, getName, getPlatform, isAnswerReceived, perform, perform, perform, perform, perform, perform, perform, perform, perform, perform, perform, perform, perform, perform, removeSkill, removeSkillFromClassName, returnAnswer, returnValue
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BossTeamSkill

public BossTeamSkill(Agent agent)
Method Detail

getMyBoss

public java.lang.String getMyBoss()
Overrides:
getMyBoss in class MagiqueDefaultSkill
Returns:
my boss name

setMyBoss

public void setMyBoss(java.lang.String myBoss)
sets the name of my boss

Parameters:
myBoss - the name of my boss

getMyTeam

public Team getMyTeam()
Overrides:
getMyTeam in class MagiqueDefaultSkill
Returns:
my team

knownNames

public java.util.Vector knownNames()
returns all the names known in my team

Returns:
all the names known in my team

knownMethods

public java.util.Vector knownMethods()
returns all the methods known in my team

Returns:
all the methods known in my team

isBigBoss

public boolean isBigBoss()
no boss ? i am the big boss

Overrides:
isBigBoss in class MagiqueDefaultSkill
Returns:
true if no supervisor

isBoss

public boolean isBoss()
i have a team ? then i am a boss

Overrides:
isBoss in class MagiqueDefaultSkill
Returns:
true if i am a boss

isBasis

public boolean isBasis()
if i have no team i am a basic agent

Returns:
true if no team

addToMyTeam

public void addToMyTeam(java.lang.String agent,
                        TeamInfo info)
add an agent to myTeam. If I am big Boss, unsent requests are considered, maybe the new fellow can handle some of them.

Overrides:
addToMyTeam in class MagiqueDefaultSkill
Parameters:
agent - the full name of the added agent
info - info about the added agent : who he knows and what he can do
Returns:
no return value

removeFromMyTeam

public void removeFromMyTeam(java.lang.String agentName)
remove agentName from my team. He MUST be in my team : no test

Overrides:
removeFromMyTeam in class MagiqueDefaultSkill
Parameters:
agentName - : the name of the agent to remove

updateTeam

public void updateTeam()
my team has changed, i must advise my boss, it is assumed I am not Big boss


newMember

public void newMember(java.lang.String agent,
                      java.lang.String member,
                      TeamInfo memberInfo)
tells me that someone in my team has a new member in its team... informations must be updated in the team

Parameters:
agent - the agent of my team
member - the new member of the team of agent
memberInfo - the info about this member : who he know and what he can do
Returns:
no return value

newMethods

public void newMethods(java.lang.String agent,
                       java.lang.String subAgent,
                       java.util.Vector newMethods)
tells me that someone in my team has new methods (or new skill) informations must be updated in the team

Parameters:
agent - the agent of my team who has new skills
subAgent - the agent in the team of agent who has new skills
Returns:
no return value

changeTeam

public void changeTeam(java.lang.String agent,
                       TeamInfo info)
modifies the value of the teaminfo associated to agent (an agent of my team), it becomes info If agent was not previously known, it is added.

Parameters:
agent - the agent of my team
info - the new team info of this agent