Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com
Answertopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 


Eclipse Platform
Release 3.5

org.eclipse.team.ui.synchronize
Class SubscriberParticipant


java.lang.Object
  extended by 

org.eclipse.core.runtime.PlatformObject
      extended by 

org.eclipse.team.ui.synchronize.AbstractSynchronizeParticipant
          extended by 
org.eclipse.team.ui.synchronize.SubscriberParticipant
All Implemented Interfaces:
EventListener, IAdaptable, IExecutableExtension, IPropertyChangeListener, ISynchronizeParticipant

public abstract class SubscriberParticipant
extends AbstractSynchronizeParticipant
implements IPropertyChangeListener

A synchronize participant that displays synchronization information for local resources that are managed via a Subscriber. It maintains a dynamic collection of all out-of-sync resources by listening to workspace resource changes and remote changes thus creating a live view of changes in the workspace.

The subscriber can be configured to be synchronized in the background based on a schedule. This effectively refreshes the subscriber and updates the dynamic sync set.

Subclasses will typically want to override the following methods:

  • initializeConfiguration: participants can add toolbar actions, configure the context menu, decorator.
  • saveState and init: persist settings between sessions.
This class is intended to be subclassed.

Since:
3.0

Field Summary
 
Fields inherited from class org.eclipse.team.ui.synchronize. AbstractSynchronizeParticipant
configElement, P_PINNED, P_SCHEDULED
 
Fields inherited from interface org.eclipse.team.ui.synchronize. ISynchronizeParticipant
P_CONTENT
 
Constructor Summary
SubscriberParticipant ()
          Constructor initializes the schedule.
SubscriberParticipant ( ISynchronizeScope scope)
          Constructor which should be called when creating a participant whose resources are to be scoped.
 
Method Summary
  IPageBookViewPage createPage ( ISynchronizePageConfiguration configuration)
          Creates and returns a new page for this synchronize participant.
 void dispose ()
          Disposes of this synchronize participant and is called to free the resources associated with a participant.
  Object getAdapter ( Class adapter)
          Returns an object which is an instance of the given class associated with this object.
protected   String getLongTaskName ()
          Deprecated. use getLongTaskName(IResource[]) instead
protected   String getLongTaskName ( IResource[] resources)
          Returns the long task name to describe the behavior of the refresh operation to the user.
static  SubscriberParticipant getMatchingParticipant ( String ID, IResource[] resources)
          Returns a participant that matches the given resource scoping
  String getName ()
          Returns the name of this synchronize participant.
 org.eclipse.team.internal.ui.synchronize.SubscriberRefreshSchedule getRefreshSchedule ()
           
  IResource[] getResources ()
          Returns the resources supervised by this participant.
  ISynchronizeScope getScope ()
          Return the scope that defines the resources displayed by this participant.
protected   String getShortName ()
          Return the name of the participant as specified in the plugin manifest file.
protected   String getShortTaskName ()
          Returns the short task name (e.g. no more than 25 characters) to describe the behavior of the refresh operation to the user.
  Subscriber getSubscriber ()
          Return the Subscriber associated with this this participant.
 org.eclipse.team.internal.core.subscribers.SubscriberSyncInfoCollector getSubscriberSyncInfoCollector ()
          Return the SubscriberSyncInfoCollector for the participant.
  SyncInfoTree getSyncInfoSet ()
          Returns the SyncInfoTree for this participant.
 void init ( String secondaryId, IMemento memento)
          Classes that are persisted must override this method and perform the following initialization.
protected  void initializeConfiguration ( ISynchronizePageConfiguration configuration)
          This method is invoked after a page configuration is created but before it is returned by the createPageConfiguration method.
 void propertyChange ( PropertyChangeEvent event)
          Notification that a property has changed.
 void refresh ( IResource[] resources, String shortTaskName, String longTaskName, IWorkbenchSite site)
          Refresh a participant in the background the result of the refresh are shown in the progress view.
 void refreshInDialog ( Shell shell, IResource[] resources, String jobName, String taskName, ISynchronizePageConfiguration configuration, IWorkbenchSite site)
          Refresh this participants synchronization state and displays the result in a model dialog.
  IStatus refreshNow ( IResource[] resources, String taskName, IProgressMonitor monitor)
          Refresh a participant.
 void reset ()
          Reset the sync set of the participant by repopulating it from scratch.
 void run ( IWorkbenchPart part)
          Runs the participants action.
 void saveState ( IMemento memento)
          Saves the participants object state within the memento.
 void setRefreshSchedule (org.eclipse.team.internal.ui.synchronize.SubscriberRefreshSchedule schedule)
           
protected  void setSubscriber ( Subscriber subscriber)
          Subclasses must call this method to initialize the participant.
protected  void setSyncInfoFilter ( SyncInfoFilter filter)
          Provide a filter that is used to filter the contents of the sync info set for the participant.
protected  void validateConfiguration ( ISynchronizePageConfiguration configuration)
          This method is invoked before the given configuration is used to create the page (see createPage(ISynchronizePageConfiguration)).
 
Methods inherited from class org.eclipse.team.ui.synchronize. AbstractSynchronizeParticipant
addPropertyChangeListener, createPageConfiguration, doesSupportSynchronize, equals, firePropertyChange, getHelpContextId, getId, getImageDescriptor, getPreferencePages, getSecondaryId, hashCode, isPinned, isViewerContributionsSupported, pinned, prepareCompareInput, removePropertyChangeListener, setImageDescriptor, setInitializationData, setInitializationData, setName, setPinned, setSecondaryId
 
Methods inherited from class java.lang. Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SubscriberParticipant

public SubscriberParticipant()
Constructor initializes the schedule. Subclasses must call this method.


SubscriberParticipant

public SubscriberParticipant(
ISynchronizeScope scope)
Constructor which should be called when creating a participant whose resources are to be scoped.

Parameters:
scope - a synchronize scope
Method Detail

createPage

public final 
IPageBookViewPage createPage(
ISynchronizePageConfiguration configuration)
Description copied from interface: ISynchronizeParticipant
Creates and returns a new page for this synchronize participant. The page is displayed using the parameters from the configuration. For example, the configuration defines the context in which the page is shown, via the ISynchronizePageSite.

Specified by:
createPage in interface ISynchronizeParticipant
Parameters:
configuration - used to initialize the page
Returns:
a page book view page representation of this synchronize participant

getResources

public 
IResource[] getResources()
Returns the resources supervised by this participant. It will either be the roots of the subscriber or the resource scope provided when the subscriber was set.

Returns:
the resources supervised by this participant.

refreshInDialog

public final void refreshInDialog(
Shell shell,
                                  
IResource[] resources,
                                  
String jobName,
                                  
String taskName,
                                  
ISynchronizePageConfiguration configuration,
                                  
IWorkbenchSite site)
Refresh this participants synchronization state and displays the result in a model dialog.

Parameters:
shell -
resources -
jobName -
taskName -
configuration -
site -

refresh

public final void refresh(
IResource[] resources,
                          
String shortTaskName,
                          
String longTaskName,
                          
IWorkbenchSite site)
Refresh a participant in the background the result of the refresh are shown in the progress view. Refreshing can also be considered synchronizing, or refreshing the synchronization state. Basically this is a long running operation that will update the participants sync info sets with new changes detected on the server. Either or both of the shortTaskName and longTaskName can be null in which case, the default values for these are returned by the methods getShortTaskName() and getLongTaskName(IResource[]) will be used.

Parameters:
resources - the resources to be refreshed.
shortTaskName - the taskName of the background job that will run the synchronize or null if the default job name is desired.
longTaskName - the taskName of the progress monitor running the synchronize or null if the default job name is desired.
site - the workbench site the synchronize is running from. This can be used to notify the site that a job is running.

refreshNow

public final 
IStatus refreshNow(
IResource[] resources,
                                
String taskName,
                                
IProgressMonitor monitor)
Refresh a participant. The returned status describes the result of the refresh.

Parameters:
resources -
taskName -
monitor -
Returns:
a status

dispose

public void dispose()
Description copied from interface: ISynchronizeParticipant
Disposes of this synchronize participant and is called to free the resources associated with a participant. When a participant is added to the ISynchronizeManager this method is called when the manager is shutdown or the participant is removed from the manager.

Within this method a participant may release any resources, fonts, images, etc. held by this part. It is also very important to remove all listeners.

Clients should not call this method (the synchronize manager calls this method at appropriate times).

Specified by:
dispose in interface ISynchronizeParticipant

getName

public 
String getName()
Description copied from interface: ISynchronizeParticipant
Returns the name of this synchronize participant. This name is displayed to the user.

Specified by:
getName in interface ISynchronizeParticipant
Overrides:
getName in class AbstractSynchronizeParticipant
Returns:
the name of this synchronize participant

getShortName

protected final 
String getShortName()
Return the name of the participant as specified in the plugin manifest file. This method is provided to give access to this name since it is masked by the getName() method defined in this class.

Returns:
the name of the participant as specified in the plugin manifest file
Since:
3.1

getSyncInfoSet

public 
SyncInfoTree getSyncInfoSet()
Returns the SyncInfoTree for this participant. This set contains the out-of-sync resources supervised by this participant.

Returns:
the sync info set that contains the out-of-sync resources for this participant.

getSubscriber

public 
Subscriber getSubscriber()
Return the Subscriber associated with this this participant. This method will only return null if the participant has not been initialized yet.

Returns:
the Subscriber associated with this this participant.

getMatchingParticipant

public static 
SubscriberParticipant getMatchingParticipant(
String ID,
                                                           
IResource[] resources)
Returns a participant that matches the given resource scoping

Parameters:
ID - the type id of participants to match
resources - the resources to match in the scope
Returns:
a participant that matches the given resource scoping

propertyChange

public void propertyChange(
PropertyChangeEvent event)
Description copied from interface: IPropertyChangeListener
Notification that a property has changed.

This method gets called when the observed object fires a property change event.

Specified by:
propertyChange in interface IPropertyChangeListener
Parameters:
event - the property change event object describing which property changed and how

init

public void init(
String secondaryId,
                 
IMemento memento)
          throws 
PartInitException
Description copied from class: AbstractSynchronizeParticipant
Classes that are persisted must override this method and perform the following initialization.
                super.init(secondaryId, memento);
                try {
                        ISynchronizeParticipantDescriptor descriptor = TeamUI.getSynchronizeManager().getParticipantDescriptor(PARTICIPANT_ID);
                        setInitializationData(descriptor);
                } catch (CoreException e) {
                        TeamUIPlugin.log(e);
                }
 
where PARTICIPANT_ID is the id of the particant as defined in the plugin manifest.

Specified by:
init in interface ISynchronizeParticipant
Overrides:
init in class AbstractSynchronizeParticipant
Parameters:
secondaryId - the secondayId of this participant instance or null if this participant doesn't support multiple instances.
memento - the participant state or null if there is no previous saved state
Throws:
PartInitException - if this participant was not initialized successfully
See Also:
ISynchronizeParticipant.init(String, org.eclipse.ui.IMemento)

saveState

public void saveState(
IMemento memento)
Description copied from interface: ISynchronizeParticipant
Saves the participants object state within the memento. This state will be available when the participant is restored via init.

This method can be called multiple times during the lifetime of the participant object.

Specified by:
saveState in interface ISynchronizeParticipant
Overrides:
saveState in class AbstractSynchronizeParticipant
Parameters:
memento - a memento to receive the object state

reset

public void reset()
Reset the sync set of the participant by repopulating it from scratch.


getSubscriberSyncInfoCollector

public org.eclipse.team.internal.core.subscribers.SubscriberSyncInfoCollector getSubscriberSyncInfoCollector()
Return the SubscriberSyncInfoCollector for the participant. This collector maintains the set of all out-of-sync resources for the subscriber.

Returns:
the SubscriberSyncInfoCollector for this participant
Restriction:
This method is not intended to be referenced by clients.
Restriction:
This method is not intended to be re-implemented or extended by clients.

setRefreshSchedule

public void setRefreshSchedule(org.eclipse.team.internal.ui.synchronize.SubscriberRefreshSchedule schedule)
Restriction:
This method is not intended to be referenced by clients.
Restriction:
This method is not intended to be re-implemented or extended by clients.

getRefreshSchedule

public org.eclipse.team.internal.ui.synchronize.SubscriberRefreshSchedule getRefreshSchedule()
Restriction:
This method is not intended to be referenced by clients.
Restriction:
This method is not intended to be re-implemented or extended by clients.

initializeConfiguration

protected void initializeConfiguration(
ISynchronizePageConfiguration configuration)
Description copied from class: AbstractSynchronizeParticipant
This method is invoked after a page configuration is created but before it is returned by the createPageConfiguration method. Subclasses can implement this method to tailor the configuration in ways appropriate to the participant.

Specified by:
initializeConfiguration in class AbstractSynchronizeParticipant
Parameters:
configuration - the newly create page configuration

run

public void run(
IWorkbenchPart part)
Description copied from interface: ISynchronizeParticipant
Runs the participants action. Typically this would be some action to refresh the synchronization state of the participant. This action is run from the global synchronize drop-down.

Specified by:
run in interface ISynchronizeParticipant
Parameters:
part - the part in which the action is run or null if the action is not being run in a workbench part.

getShortTaskName

protected 
String getShortTaskName()
Returns the short task name (e.g. no more than 25 characters) to describe the behavior of the refresh operation to the user. This is typically shown in the status line when this subscriber is refreshed in the background. When refreshed in the foreground, only the long task name is shown.

Returns:
the short task name to show in the status line.

getLongTaskName

protected 
String getLongTaskName()
Deprecated. use getLongTaskName(IResource[]) instead

Returns the long task name to describe the behavior of the refresh operation to the user. This is typically shown in the status line when this subscriber is refreshed in the background.

Returns:
the long task name

getLongTaskName

protected 
String getLongTaskName(
IResource[] resources)
Returns the long task name to describe the behavior of the refresh operation to the user. This is typically shown in the status line when this subscriber is refreshed in the background.

Parameters:
resources -
Returns:
the long task name
Since:
3.1

validateConfiguration

protected void validateConfiguration(
ISynchronizePageConfiguration configuration)
This method is invoked before the given configuration is used to create the page (see createPage(ISynchronizePageConfiguration)). The configuration would have been initialized by initializeConfiguration(ISynchronizePageConfiguration) but may have also been tailored further. This method gives the participant a chance to validate those changes before the page is created.

Parameters:
configuration - the page configuration that is about to be used to create a page.

setSubscriber

protected void setSubscriber(
Subscriber subscriber)
Subclasses must call this method to initialize the participant. Typically this method is called in init(String, IMemento). This method will initialize the sync info collector.

Parameters:
subscriber - the subscriber to associate with this participant.

setSyncInfoFilter

protected void setSyncInfoFilter(
SyncInfoFilter filter)
Provide a filter that is used to filter the contents of the sync info set for the participant. Normally, all out-of-sync resources from the subscriber will be included in the participant's set. However, a filter can be used to exclude some of these out-of-sync resources, if desired.

Subclasses can invoke this method any time after setSubscriber has been invoked.

Parameters:
filter - a sync info filter

getScope

public 
ISynchronizeScope getScope()
Return the scope that defines the resources displayed by this participant.

Returns:
Returns the scope.

getAdapter

public 
Object getAdapter(
Class adapter)
Description copied from class: PlatformObject
Returns an object which is an instance of the given class associated with this object. Returns null if no such object can be found.

This implementation of the method declared by IAdaptable passes the request along to the platform's adapter manager; roughly Platform.getAdapterManager().getAdapter(this, adapter). Subclasses may override this method (however, if they do so, they should invoke the method on their superclass to ensure that the Platform's adapter manager is consulted).

Specified by:
getAdapter in interface IAdaptable
Overrides:
getAdapter in class PlatformObject
Parameters:
adapter - the class to adapt to
Returns:
the adapted object or null
See Also:
IAdaptable.getAdapter(Class)

Eclipse Platform
Release 3.5

Guidelines for using Eclipse APIs.

Copyright (c) Eclipse contributors and others 2000, 2008. All rights reserved.


 
 
  Published under the terms of the Eclipse Public License Version 1.0 ("EPL") Design by Interspire