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.core.variants
Class ThreeWaySubscriber


java.lang.Object
  extended by 

org.eclipse.team.core.subscribers.Subscriber
      extended by 

org.eclipse.team.core.variants.ResourceVariantTreeSubscriber
          extended by 
org.eclipse.team.core.variants.ThreeWaySubscriber
All Implemented Interfaces:
ISynchronizerChangeListener

public abstract class ThreeWaySubscriber
extends ResourceVariantTreeSubscriber
implements ISynchronizerChangeListener

A resource variant tree subscriber whose trees use an underlying ThreeWaySycnrhonizer to store and manage the synchronization state for the local workspace. Subclasses need to provide a subclass of ThreeWayRemoteTree and a method to create resource variant handles from the bytes cached in the ThreeWaySynchronizer.

Since:
3.0
See Also:
ThreeWaySynchronizer, ThreeWayRemoteTree, CachedResourceVariant

Constructor Summary
protected ThreeWaySubscriber ( ThreeWaySynchronizer synchronizer)
          Create a three-way subscriber that uses the given synchronizer to manage the synchronization state of local resources and their variants
 
Method Summary
protected abstract   ThreeWayRemoteTree createRemoteTree ()
          Create the three-way remote tree which provides access to the remote bytes in the three-way synchronizer.
protected   IResourceVariantTree getBaseTree ()
          Return the base resource variant tree.
protected   IResourceVariantTree getRemoteTree ()
          Return the remote resource variant tree.
  IResourceVariantComparator getResourceComparator ()
          Returns the comparison criteria that will be used by the sync info created by this subscriber.
abstract   IResourceVariant getResourceVariant ( IResource resource, byte[] bytes)
          Create the resource variant for the given local resource from the given bytes.
  ThreeWaySynchronizer getSynchronizer ()
          Return the three-way synchronizer of this subscriber.
protected  void handleRootChanged ( IResource resource, boolean added)
          Convenience method that can be used by subclasses to notify listeners when a root is added or removed from the subscriber.
 boolean isSupervised ( IResource resource)
          Returns false for resources that are not children of a subscriber root, are ignored by the subscriber's synchronizer or are ignored by the Team.ignoreHist(IResource).
 void syncStateChanged ( IResource[] resources)
          Notification of synchronization state changes for the given resources.
 
Methods inherited from class org.eclipse.team.core.variants. ResourceVariantTreeSubscriber
getSyncInfo, getSyncInfo, members, refresh
 
Methods inherited from class org.eclipse.team.core.subscribers. Subscriber
accept, accept, addListener, collectOutOfSync, fireTeamResourceChange, getDiff, getName, getState, refresh, removeListener, roots
 
Methods inherited from class java.lang. Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ThreeWaySubscriber

protected ThreeWaySubscriber(
ThreeWaySynchronizer synchronizer)
Create a three-way subscriber that uses the given synchronizer to manage the synchronization state of local resources and their variants

Parameters:
synchronizer - the three-way synchronizer for this subscriber
Method Detail

getBaseTree

protected final 
IResourceVariantTree getBaseTree()
Description copied from class: ResourceVariantTreeSubscriber
Return the base resource variant tree.

Specified by:
getBaseTree in class ResourceVariantTreeSubscriber

getRemoteTree

protected final 
IResourceVariantTree getRemoteTree()
Description copied from class: ResourceVariantTreeSubscriber
Return the remote resource variant tree.

Specified by:
getRemoteTree in class ResourceVariantTreeSubscriber

getResourceComparator

public final 
IResourceVariantComparator getResourceComparator()
Description copied from class: Subscriber
Returns the comparison criteria that will be used by the sync info created by this subscriber.

Specified by:
getResourceComparator in class Subscriber
Returns:
the comparator to use when computing sync states for this subscriber.

syncStateChanged

public void syncStateChanged(
IResource[] resources)
Description copied from interface: ISynchronizerChangeListener
Notification of synchronization state changes for the given resources. Clients must query the ThreeWaySynchronizer that generated this event to determine the new synchronization state.

Specified by:
syncStateChanged in interface ISynchronizerChangeListener
Parameters:
resources - the resources whose synchronization state has changed

isSupervised

public boolean isSupervised(
IResource resource)
                     throws 
TeamException
Returns false for resources that are not children of a subscriber root, are ignored by the subscriber's synchronizer or are ignored by the Team.ignoreHist(IResource). Returns true otherwise.

Specified by:
isSupervised in class Subscriber
Parameters:
resource - the resource being tested
Returns:
true if this resource is supervised, and false otherwise
Throws:
TeamException
See Also:
Subscriber.isSupervised(IResource)

getSynchronizer

public 
ThreeWaySynchronizer getSynchronizer()
Return the three-way synchronizer of this subscriber.

Returns:
the three-way synchronizer of this subscriber.

getResourceVariant

public abstract 
IResourceVariant getResourceVariant(
IResource resource,
                                                    byte[] bytes)
                                             throws 
TeamException
Create the resource variant for the given local resource from the given bytes. The bytes are those that were previously returned from a call to IResourceVariant#asBytes().

Parameters:
resource - the local resource
bytes - the bytes that identify a variant of the resource
Returns:
the resource variant handle recreated from the bytes
Throws:
TeamException

createRemoteTree

protected abstract 
ThreeWayRemoteTree createRemoteTree()
Create the three-way remote tree which provides access to the remote bytes in the three-way synchronizer. This method is invoked once when the remote tree is first accessed. The returned object is cached and reused on subsequent accesses.

Returns:
the remote tree

handleRootChanged

protected void handleRootChanged(
IResource resource,
                                 boolean added)
Convenience method that can be used by subclasses to notify listeners when a root is added or removed from the subscriber. The added parameter should be true if the root was added and false if it was removed.

Parameters:
resource - the added or removed root
added - true if the root was added and false if it was removed.

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