org.eclipse.team.core.variants
Class ThreeWaySubscriber
java.lang.Object
org.eclipse.team.core.subscribers.Subscriber
org.eclipse.team.core.variants.ResourceVariantTreeSubscriber
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 |
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
|
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
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.
Guidelines for using Eclipse APIs.
Copyright (c) Eclipse contributors and others 2000, 2008. All rights reserved.