|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Object | +--candy.client.ClientApp
Class containing client application to be run on each candy user's individual machine and allow user to interface with Javaspace
| Field Summary | |
(package private) CandyTableListener |
candyTableListener
listener for updates to the CandyTables (meeting, transcript, file tables) |
Channel |
channel
Channel upon which chat messages are received |
ChannelListener |
channelListener
listener for packets and updates on this user's channel |
(package private) java.util.Hashtable |
chats
A hash table containing references to this client's current chats |
(package private) CalendarTableListener |
cTableListener
A listener for updates to the Calendar Table |
(package private) CandyTable |
fTable
The current ExternalFileTable |
(package private) java.util.Hashtable |
meetings
A vector containing references to this client's current meetings |
(package private) Member |
member
Member object of this client |
(package private) java.lang.String |
memberID
MemberID is the string for the MemberID of this client |
(package private) MemberTable |
mTable
A Table of the current active users logged onto the system |
(package private) MemberTableListener |
mTableListener
A RMI Listener which listens on the JavaSpace for updates to the active MemberTable |
(package private) CandyTable |
mtgTable
The current MeetingFileTable |
(package private) CUserList |
theActiveMemberView
The displayed active member list which reflect mTable |
(package private) FileView |
theExternalFileView
A Reference to the ExternalFileView ... |
(package private) LoginView |
theLoginView
The LoginView for logging a user in. |
(package private) MasterChatView |
theMasterChatView
A reference to the MasterChatView object of this client |
(package private) MasterMeetingView |
theMasterMeetingView
hook to MasterMeetingView |
(package private) net.jini.space.JavaSpace |
theSpace
A Reference to the actual space (candySpace) |
(package private) MasterTranscriptView |
theTranscriptView
A reference to the MasterTranscriptView |
(package private) MainWindow |
theWin
A Reference to the MainWindow object (which I own) |
(package private) CandyTable |
transTable
The current TranscriptTable |
(package private) java.util.Vector |
wboards
A vector containing references to this client's current whiteboards |
(package private) java.util.Vector |
wboardviews
this client's current whiteboard views |
(package private) WhiteboardTable |
wbTable
A list of the whiteboards -- the WhiteboardMetas that are active |
| Constructor Summary | |
ClientApp()
constructor for the client app who knows only the name of the JavaSpace |
|
| Method Summary | |
void |
addMeeting(Meeting m)
add a new meeting to this client's list of active meetings |
void |
addMeetingMember(candy.core.packet.MeetingJoinPacket mjp)
add a Member to a Meeting which I already know something about! |
void |
addToChat(candy.core.packet.ChatAddPacket message)
called upon receipt of a ChatAddPacket, adds a Member to an existing Chat that this client is involved in |
void |
addTranscript(Transcript t)
add a new Transcript to this client's list of Transcripts |
void |
addWBMember(candy.core.packet.WBMemberJoinPacket wbmjp)
Add a member to an active wb I know about |
void |
addWBPrimitive(candy.core.packet.WBPrimitivePacket wbpp)
Add a primitive packet to one of the whiteboards I know about |
void |
createChannel()
creates the Channel that will be used by this client for communication in the JavaSpace |
Chat |
createChat(ChatView newView,
java.util.Vector members)
creates a new Chat for this client |
void |
createMeeting(java.lang.String s,
int t)
Create a meeting and inject it into the space |
void |
distWBPrim(Whiteboard wb,
candy.core.packet.WBPrimitivePacket p)
Distribute a whiteboard primitive into the space from one of my whiteboard views |
void |
doFileDownload(int row,
java.io.File f)
Do a File Download of an external file from the space |
void |
doFileRemove(int row)
Do a File Removal of an external file from the space |
void |
doWBReturnPTD(candy.core.packet.WBReturnPTD wbptd)
Handle when a WBReturnPTD has been issued to us from the server... |
void |
doWhiteboardCreate(WhiteboardView wbv)
handle when a view of mine has created a new whiteboard. |
Member |
findMemberByID(java.lang.String id)
finds the Member object corresponding to a given Member name |
Channel |
getChannel()
|
ExternalFile |
getFile(ExternalFileMeta m)
get an ExternalFile from the JavaSpace |
CandyTable |
getFileTable()
retrieves the current table of files from the JavaSpace |
MainWindow |
getMainWindow()
Return the MainWindow |
CandyTable |
getMeetingTable()
|
Member |
getMember()
|
java.lang.String |
getMemberID()
|
MemberTable |
getMemberTable()
setMemberTable sets the local mTable -- called by the listener |
CandyTable |
getTranscriptTable()
|
Whiteboard |
getWhiteboard(WhiteboardMeta wm,
WhiteboardView wbv)
given a WhiteboardMeta, "go into the space" and get the WB And also add the whiteboard to the hash of connected whiteboards |
java.util.Vector |
getWhiteboardList()
|
boolean |
importExternalFile(java.io.File f)
The FileView has requested that a new ExternalFile be added to the system. |
void |
joinMeeting(int row)
Join a Meeting given its row in the MeetingTable |
void |
killMeeting(MeetingView mv)
this User has closed a Meeting session , do it |
void |
killWBSession(WhiteboardView v)
this User has closed a WB session, handle them leaving |
void |
listActiveMembers()
Lists the current active members of the system |
boolean |
login()
Pushed by the gui and then pulls the id and password |
boolean |
login(java.lang.String ID,
java.lang.String password)
logs this client in to candy system |
boolean |
logout()
Logout this session fo this ClientApp |
static void |
main(java.lang.String[] args)
The main routine for the clientApp |
void |
processMeetingChatPacket(candy.core.packet.ChatMsgPacket message)
takes a chat message and attempts to find a meeting with which this message is associated if meeting is found, it adds this packet to the meetings packet list (for transcripting) |
candyObject |
read(candyObject tmpl)
reads a packet of the given template from the JavaSpace |
candyObject |
read(candyObject tmpl,
long wait)
read an object from the JavaSpace |
boolean |
readCalendarTable()
read the CalendarTable from the JavaSpace |
boolean |
readExternalFileTable()
Reads the ExternalFileTable from the JavaSpace |
candyObject |
readIfExists(candyObject tmpl)
read an object from the JavaSpace that matches the provided template if no such object is immediately found, return |
boolean |
readMeetingTable()
Reads the MeetingTable from the JavaSpace |
boolean |
readMemberTable()
Reads the memberTable from the JavaSpace |
boolean |
readTranscriptTable()
Reads the TranscriptTable from the JavaSpace |
boolean |
readWhiteboardTable()
Reads the WhiteboardTable form the JavaSpace |
void |
removeChat(Chat c)
remove a Chat from this client's list of active Chats |
void |
removeFromChat(candy.core.packet.ChatLeavePacket clp)
this method is called when a member sends out a chat leave message - that they are leaving an active chat that this member is involved in |
void |
removeMeetingMember(candy.core.packet.MeetingLeavePacket mlp)
called upon receipt of a MeetingLeavePacket removes a Member from the user list of a meeting which I am participating in |
void |
removeTranscript(int row)
remove a transcript from the space we assume good natured group where anyone can add/remove items from the space, regardless of owner |
void |
removeWBMember(candy.core.packet.WBMemberLeavePacket wbmlp)
remove a member from a whiteboard that I know about |
void |
sendOnChannel(candy.core.packet.ChannelPacket p)
sendOnChannel sends a Packet on a Channel to a user |
void |
setCalendarTable(EntryTable et)
setCalendarTable The Calendar itself is saying that I must update the CalendarTable... |
void |
setExternalFileTable(CandyTable t)
setExternalFileTable sets the local fTable -- called by the listener |
void |
setMeetingTable(CandyTable t)
sets the contents of the local meeting table --listener invoked |
void |
setMemberTable(MemberTable t)
setMemberTable sets the local mTable -- called by the listener |
void |
setTranscriptTable(CandyTable t)
sets the contents of the local transcript table -- called by the listener |
void |
setWBViewWB(WhiteboardView wbv,
Whiteboard wb)
Latent hook for a chicken-egg coding issue with WB Views and WBs |
void |
setWhiteboardTable(WhiteboardTable wbt)
setWhiteboardTable sets the local wbTable -- called by the listener |
void |
startReceiving()
starts the receiving of channel (chat/wb) messages to this client |
net.jini.core.entry.Entry |
take(net.jini.core.entry.Entry tmpl)
takes a packet of the given template from the JavaSpace |
net.jini.core.entry.Entry |
takeIfExists(net.jini.core.entry.Entry tmpl)
takes a packet of the given template from the JavaSpace |
void |
updateCalendarTable(EntryTable et)
The CalendarTable was updated in the space and I noticed it My listener pulled it from the space and here it is |
void |
updateChat(candy.core.packet.ChatMsgPacket message)
when new message is received, this directs it to the correct Chat |
void |
viewTranscript(int row)
view a transcript stored in the space |
void |
write(candyObject p)
places candyObject into javaspace so as to update other users of some change |
| Methods inherited from class java.lang.Object |
|
| Field Detail |
net.jini.space.JavaSpace theSpace
java.lang.String memberID
Member member
MemberTable mTable
MemberTableListener mTableListener
CalendarTableListener cTableListener
java.util.Hashtable chats
java.util.Vector wboards
java.util.Vector wboardviews
java.util.Hashtable meetings
public Channel channel
public ChannelListener channelListener
MainWindow theWin
MasterChatView theMasterChatView
CUserList theActiveMemberView
CandyTable fTable
CandyTable mtgTable
MasterMeetingView theMasterMeetingView
FileView theExternalFileView
CandyTable transTable
CandyTableListener candyTableListener
MasterTranscriptView theTranscriptView
WhiteboardTable wbTable
LoginView theLoginView
| Constructor Detail |
public ClientApp()
| Method Detail |
public CandyTable getFileTable()
public CandyTable getMeetingTable()
public CandyTable getTranscriptTable()
public void addMeetingMember(candy.core.packet.MeetingJoinPacket mjp)
mjp - MeetingJoinPacket containing the member to be addedpublic void removeMeetingMember(candy.core.packet.MeetingLeavePacket mlp)
mlp - the packet containing the Member that is
leaving and what meeting he/she is leavingpublic void addWBPrimitive(candy.core.packet.WBPrimitivePacket wbpp)
wbpp - the packet containing the WBPrimitive to be addedpublic void addWBMember(candy.core.packet.WBMemberJoinPacket wbmjp)
wbmjp - packet containing a Whiteboard and a Member that is
joining that Whiteboardpublic void createChannel()
public java.util.Vector getWhiteboardList()
public Whiteboard getWhiteboard(WhiteboardMeta wm,
WhiteboardView wbv)
wm - the WhiteboardMeta to be foundwbv - WhiteboardView for the found Whiteboardpublic Member getMember()
public Channel getChannel()
public void distWBPrim(Whiteboard wb,
candy.core.packet.WBPrimitivePacket p)
wb - the Whiteboard on which this primitive was addedp - the WBPrimitivePacket containing the new primitive
public void doFileDownload(int row,
java.io.File f)
row - the row in the file table that contains the ExternalFileMeta
of this Filef - the File to get from the space and store locallypublic void viewTranscript(int row)
row - the row in the TranscriptTable that has the desired Transcriptpublic void removeTranscript(int row)
public void removeWBMember(candy.core.packet.WBMemberLeavePacket wbmlp)
wbmlp - packet containing Member to be removedpublic void doWBReturnPTD(candy.core.packet.WBReturnPTD wbptd)
wbptd - packet containing data to bring Whiteboard up to datepublic ExternalFile getFile(ExternalFileMeta m)
m - the ExternalFileMeta representing the desired ExternalFilepublic void doFileRemove(int row)
row - the row number in the ExternalFileTable of the file
to be removedpublic void joinMeeting(int row)
row - the row in the MeetingTable of the Meeting to joinpublic void killMeeting(MeetingView mv)
mv - the MeetingView of the Meeting this user has leftpublic void killWBSession(WhiteboardView v)
v - the WhiteboardView of the Whiteboard this user has leftpublic void doWhiteboardCreate(WhiteboardView wbv)
wbv - the WhiteboardView of our new Whiteboardpublic MainWindow getMainWindow()
public MemberTable getMemberTable()
public boolean importExternalFile(java.io.File f)
f - the file to be added to the JavaSpacepublic void addMeeting(Meeting m)
m - the Meeting to be addedpublic void addTranscript(Transcript t)
t - the Transcript to be addedpublic void listActiveMembers()
public void createMeeting(java.lang.String s,
int t)
s - the name of the new Meetingt - flag representing if this meeting is a regular Meeting or
a CodeWalkthrough
public Chat createChat(ChatView newView,
java.util.Vector members)
newView - the ChatView to be associated with the new Chatmembers - the Members involved in this Chatpublic void sendOnChannel(candy.core.packet.ChannelPacket p)
p - the packet to be sent on the Channelpublic void startReceiving()
public void addToChat(candy.core.packet.ChatAddPacket message)
message - the ChatAddPacket containing the Member to addpublic void processMeetingChatPacket(candy.core.packet.ChatMsgPacket message)
message - the chat packetpublic void updateChat(candy.core.packet.ChatMsgPacket message)
message - a newly received chat packetpublic void removeFromChat(candy.core.packet.ChatLeavePacket clp)
clp - the ChatLeavePacketpublic void removeChat(Chat c)
c - the Chat to be removedpublic boolean login()
public boolean login(java.lang.String ID,
java.lang.String password)
ID - the String MemberID of the memberID - the passwordpublic boolean logout()
public candyObject read(candyObject tmpl)
tmpl - The template packet
public candyObject read(candyObject tmpl,
long wait)
tmpl - the template to be matched when reading from the spacewait - the amount of time in milliseconds to wait for a matchpublic candyObject readIfExists(candyObject tmpl)
tmpl - the template to be matchedpublic Member findMemberByID(java.lang.String id)
id - the ID tag of a Memberpublic boolean readMemberTable()
public boolean readCalendarTable()
public boolean readExternalFileTable()
public boolean readMeetingTable()
public boolean readTranscriptTable()
public boolean readWhiteboardTable()
public void setCalendarTable(EntryTable et)
public void setExternalFileTable(CandyTable t)
public void setMeetingTable(CandyTable t)
public void setTranscriptTable(CandyTable t)
public void setMemberTable(MemberTable t)
public void setWBViewWB(WhiteboardView wbv,
Whiteboard wb)
public void setWhiteboardTable(WhiteboardTable wbt)
public net.jini.core.entry.Entry take(net.jini.core.entry.Entry tmpl)
tmpl - The template packetpublic net.jini.core.entry.Entry takeIfExists(net.jini.core.entry.Entry tmpl)
tmpl - The template packetpublic void updateCalendarTable(EntryTable et)
public void write(candyObject p)
p - update packetpublic java.lang.String getMemberID()
public static void main(java.lang.String[] args)
args - Arguments from the command-line
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||