Each user should be in only one room at any one time. Every user's name is unique across the entire JavaSpace. Users can post a message to the current room. Users can change rooms. Clients can get a list of all current chat rooms in existence.
Clients can get a list of all users in a particular chat room.
Clients should have some way of finding out when a new user arrives in the current room, or a user already in the current room leaves the room. Users that disappear from the network should eventually be automatically removed from their current room. Messages should be automatically removed from the space after a period of time. What you will be doing here is basically data model design, not object-oriented design. Even though JavaSpace entries are objects, because their fields are public, entries feel more like C structs or XML documents than objects in a typical object-oriented system.