Saros
Distributed Collaborative Editing and Distributed Party Programming
de.fu_berlin.inf.dpp.activities.IActivity Interface Reference
Inheritance diagram for de.fu_berlin.inf.dpp.activities.IActivity:
de.fu_berlin.inf.dpp.activities.AbstractActivity de.fu_berlin.inf.dpp.activities.IResourceActivity de.fu_berlin.inf.dpp.activities.ITargetedActivity de.fu_berlin.inf.dpp.activities.AbstractResourceActivity de.fu_berlin.inf.dpp.activities.ChangeColorActivity de.fu_berlin.inf.dpp.activities.ChecksumErrorActivity de.fu_berlin.inf.dpp.activities.NOPActivity de.fu_berlin.inf.dpp.activities.PermissionActivity de.fu_berlin.inf.dpp.activities.ProgressActivity de.fu_berlin.inf.dpp.activities.ShareConsoleActivity de.fu_berlin.inf.dpp.activities.StartFollowingActivity de.fu_berlin.inf.dpp.activities.StopActivity de.fu_berlin.inf.dpp.activities.StopFollowingActivity de.fu_berlin.inf.dpp.activities.AbstractResourceActivity de.fu_berlin.inf.dpp.activities.ChangeColorActivity de.fu_berlin.inf.dpp.activities.ChecksumErrorActivity de.fu_berlin.inf.dpp.activities.NOPActivity de.fu_berlin.inf.dpp.activities.ProgressActivity de.fu_berlin.inf.dpp.activities.RecoveryFileActivity de.fu_berlin.inf.dpp.activities.StopActivity

List of all members.

Public Member Functions

User getSource ()

Detailed Description

An interface for all things that occur in a shared project session such as editing a file, opening or closing editors, changing permissions, etc.

All IActivitys should be implemented using the value pattern, i.e. created IActivity should be immutable.

IActivity are supposed to be "smart" and know about users and session.

All IActivity subclasses should be Value Objects, i.e. they should be immutable


Member Function Documentation

User de.fu_berlin.inf.dpp.activities.IActivity.getSource ( )

1, Creating a new Activity type, The IActivity interface:

This tour explains what you need to consider when you want to create a new Activity type.

IActivity is the base interface for all activity implementations. The only common attribute of all IActivity instances is the source, that is the session participant who did "something" and therefore caused this activity in the first place.

So create a new class in the "activities" package with the suffix "Activity", and continue with the next stop. 3, Some Basics:

When a session has begun, messages are passed between all participants to keep the session synchronized. The messages are known as Activities and come in different types. Each type inherits from this interface and implements its specific behavior.

Handling of Activities is done using the Inversion of Control pattern. Returns the user who caused this activity.

Returns:
not null

Implemented in de.fu_berlin.inf.dpp.activities.AbstractActivity.

 All Classes Namespaces Files Functions Variables Enumerations