de.tubs.macs.control.floor
Class FPAgenda

java.lang.Object
  |
  +--de.tubs.macs.control.floor.FloorPolicy
        |
        +--de.tubs.macs.control.floor.FPAgenda

public class FPAgenda
extends FloorPolicy

This is a floor control policy that passes the floor on in a fixed order that is determined by the floor chair who passes a list of users to this policy.
It's called "Agenda".

Author:
Martin Willers

Constructor Summary
FPAgenda()
           
 
Method Summary
(package private)  void exit()
          Shutdown the policy.
(package private)  int getCapabilities()
          Returns the capabilities of the policy.
(package private)  int getCategory()
          Returns the category of the policy.
(package private)  Group getCurrentHolder()
          Return current floor-holder.
(package private)  java.lang.String getDescription()
          Return description of current floor passing policy.
(package private)  java.lang.String getName()
          Return name of current floor passing policy.
(package private)  Group getNextHolder()
          Return probable next floor-holder.
(package private)  java.util.Vector getUserRequests()
          Returns a list of users that have requested the floor for this resource.
(package private)  void init(Session session, FloorResource res, Group users, long res_id)
          Initialise the policy with the specified information.
(package private)  boolean isCurrentHolder(ObjectID user)
          Returns whether the specified user holds the floor.
(package private)  boolean maySetHolder(ObjectID user)
          Returns whether the specified user may set a new floor holder.
(package private)  void passOn()
          Perform action to pass on floor, according to policy.
(package private)  void release(ObjectID userid)
          The specified user has released the floor.
(package private)  int request(ObjectID userid)
          The specified user has requested the floor.
(package private)  boolean requestHolder(ObjectID user)
          Request a new floor holder.
(package private)  boolean setHolder(ObjectID user)
          Set user to be the new floor holder.
(package private)  boolean setUserlist(java.util.Vector ulist)
          Set floor-queue for this policy.
(package private)  void userAdded()
          Notify policy that a user has been added to end of users-group.
(package private)  void userRemoved(int index)
          Notify policy that the user with the specified index will be removed from users-Vector immediately.
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FPAgenda

public FPAgenda()
Method Detail

init

void init(Session session,
          FloorResource res,
          Group users,
          long res_id)
Description copied from class: FloorPolicy
Initialise the policy with the specified information. Policies must not modify 'users'-argument (may only read).
Overrides:
init in class FloorPolicy

exit

void exit()
Description copied from class: FloorPolicy
Shutdown the policy.
Overrides:
exit in class FloorPolicy

getCapabilities

int getCapabilities()
Description copied from class: FloorPolicy
Returns the capabilities of the policy.
Overrides:
getCapabilities in class FloorPolicy

getCategory

int getCategory()
Description copied from class: FloorPolicy
Returns the category of the policy.
Overrides:
getCategory in class FloorPolicy

maySetHolder

boolean maySetHolder(ObjectID user)
Description copied from class: FloorPolicy
Returns whether the specified user may set a new floor holder.
Overrides:
maySetHolder in class FloorPolicy

isCurrentHolder

boolean isCurrentHolder(ObjectID user)
Description copied from class: FloorPolicy
Returns whether the specified user holds the floor.
Overrides:
isCurrentHolder in class FloorPolicy

getCurrentHolder

Group getCurrentHolder()
Description copied from class: FloorPolicy
Return current floor-holder.
Overrides:
getCurrentHolder in class FloorPolicy

getNextHolder

Group getNextHolder()
Description copied from class: FloorPolicy
Return probable next floor-holder.
Overrides:
getNextHolder in class FloorPolicy

getName

java.lang.String getName()
Description copied from class: FloorPolicy
Return name of current floor passing policy.
Overrides:
getName in class FloorPolicy

getDescription

java.lang.String getDescription()
Description copied from class: FloorPolicy
Return description of current floor passing policy.
Overrides:
getDescription in class FloorPolicy

setUserlist

boolean setUserlist(java.util.Vector ulist)
Description copied from class: FloorPolicy
Set floor-queue for this policy.
Overrides:
setUserlist in class FloorPolicy

requestHolder

boolean requestHolder(ObjectID user)
Description copied from class: FloorPolicy
Request a new floor holder.
Overrides:
requestHolder in class FloorPolicy

setHolder

boolean setHolder(ObjectID user)
Description copied from class: FloorPolicy
Set user to be the new floor holder.
Overrides:
setHolder in class FloorPolicy

passOn

void passOn()
Description copied from class: FloorPolicy
Perform action to pass on floor, according to policy.
Overrides:
passOn in class FloorPolicy

userAdded

void userAdded()
Description copied from class: FloorPolicy
Notify policy that a user has been added to end of users-group.
Overrides:
userAdded in class FloorPolicy

userRemoved

void userRemoved(int index)
Description copied from class: FloorPolicy
Notify policy that the user with the specified index will be removed from users-Vector immediately.
Overrides:
userRemoved in class FloorPolicy

getUserRequests

java.util.Vector getUserRequests()
Description copied from class: FloorPolicy
Returns a list of users that have requested the floor for this resource.
Overrides:
getUserRequests in class FloorPolicy

request

int request(ObjectID userid)
Description copied from class: FloorPolicy
The specified user has requested the floor.
Overrides:
request in class FloorPolicy
Tags copied from class: FloorPolicy
Returns:
0 if floor for this resource is already owned by caller, -1 if the request is not acklowledged, >0 else. (FIXME: >0 position in the request-queue, if applicable).

release

void release(ObjectID userid)
Description copied from class: FloorPolicy
The specified user has released the floor.
Overrides:
release in class FloorPolicy