org.netbeans.modules.versioning.core/1 1.5.0 1

org.netbeans.modules.versioning.core.spi
Class VersioningSystem

java.lang.Object
  extended by org.netbeans.modules.versioning.core.spi.VersioningSystem

public abstract class VersioningSystem
extends Object

Base class for a versioning system that integrates into IDE. A versioning system provides these services: - annotations (coloring, actions) - file system handler - diff provider Versioning system registration can be done via VersioningSystem#Registration.


Nested Class Summary
static interface VersioningSystem.Registration
           Register a VersioningSystem in the IDE.
 
Constructor Summary
protected VersioningSystem()
          Protected constructor, does nothing.
 
Method Summary
 void addPropertyChangeListener(PropertyChangeListener listener)
          Adds a listener for change events.
protected  void fireAnnotationsChanged(Set<VCSFileProxy> files)
          Helper method to signal that annotations of a set of files changed.
protected  void fireStatusChanged(Set<VCSFileProxy> files)
          Helper method to signal that status of a set of files changed.
protected  void fireStatusChanged(VCSFileProxy file)
          Helper method that calls fireStatusChanged(Collections.singleton(file)).
protected  void fireVersionedFilesChanged()
          Helper method to signal that the versioning system started to manage some previously unversioned files (those files were imported into repository).
 CollocationQueryImplementation2 getCollocationQueryImplementation()
          Retrieves a CollocationQueryImplementation if this versioning system provides one.
 void getOriginalFile(VCSFileProxy workingCopy, VCSFileProxy originalFile)
          Get the original (unmodified) copy of a file.
 VCSFileProxy getTopmostManagedAncestor(VCSFileProxy file)
          Tests whether the file is managed by this versioning system.
 VCSAnnotator getVCSAnnotator()
          Retrieves a VCSAnnotator implementation if this versioning system provides one.
 VCSHistoryProvider getVCSHistoryProvider()
          Retrieves a VCSHistoryProvider implementation if this versioning system provides one.
 VCSInterceptor getVCSInterceptor()
          Retrieves a VCSInterceptor implementation if this versioning system provides one.
 VCSVisibilityQuery getVisibilityQuery()
          Retrieves a VCSVisibilityQuery implementation if this versioning system provides one.
 void removePropertyChangeListener(PropertyChangeListener listener)
          Removes a listener for change events.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

VersioningSystem

protected VersioningSystem()
Protected constructor, does nothing.

Method Detail

getTopmostManagedAncestor

public VCSFileProxy getTopmostManagedAncestor(VCSFileProxy file)
Tests whether the file is managed by this versioning system. If it is, the method should return the topmost ancestor of the file that is still versioned. For example (for CVS) if all your CVS checkouts are in a directory /home/johndoe/projects/cvscheckouts/... then for all files that are under "cvscheckouts" directory and for the directory itselft this method should return "/home/johndoe/projects/cvscheckouts/" and for all other files return null.

Parameters:
file - a file
Returns:
File the file itself or one of its ancestors or null if the supplied file is NOT managed by this versioning system

getVCSAnnotator

public VCSAnnotator getVCSAnnotator()
Retrieves a VCSAnnotator implementation if this versioning system provides one.

Returns:
a VCSAnnotator implementation or null

getVCSInterceptor

public VCSInterceptor getVCSInterceptor()
Retrieves a VCSInterceptor implementation if this versioning system provides one.

Returns:
a VCSInterceptor implementation or null

getVCSHistoryProvider

public VCSHistoryProvider getVCSHistoryProvider()
Retrieves a VCSHistoryProvider implementation if this versioning system provides one.

Returns:
a VCSHistoryProvider implementation or null

getOriginalFile

public void getOriginalFile(VCSFileProxy workingCopy,
                            VCSFileProxy originalFile)
Get the original (unmodified) copy of a file. If the versioning system cannot provide it then this method should do nothing. For version control systems that support keyword expansion, the original file must expand all keywords so the diff sidebar support will not report any differences in keywords.

Parameters:
workingCopy - a File in the working copy
originalFile - placeholder File for the original (unmodified) copy of the working file

getCollocationQueryImplementation

public CollocationQueryImplementation2 getCollocationQueryImplementation()
Retrieves a CollocationQueryImplementation if this versioning system provides one.

Returns:
CollocationQueryImplementation a CollocationQueryImplementation instance or null if the system does not provide the service

getVisibilityQuery

public VCSVisibilityQuery getVisibilityQuery()
Retrieves a VCSVisibilityQuery implementation if this versioning system provides one.

Returns:
VCSVisibilityQuery a VCSVisibilityQuery instance or null if the system does not provide the service

addPropertyChangeListener

public final void addPropertyChangeListener(PropertyChangeListener listener)
Adds a listener for change events.

Parameters:
listener - a PropertyChangeListener

removePropertyChangeListener

public final void removePropertyChangeListener(PropertyChangeListener listener)
Removes a listener for change events.

Parameters:
listener - a PropertyChangeListener

fireAnnotationsChanged

protected final void fireAnnotationsChanged(Set<VCSFileProxy> files)
Helper method to signal that annotations of a set of files changed. Do NOT fire this event when changes in annotations are caused by changes of status. Status change event will refresh annotations automatically.

Parameters:
files - set of files whose annotations changed or null if the change affects all files

fireStatusChanged

protected final void fireStatusChanged(Set<VCSFileProxy> files)
Helper method to signal that status of a set of files changed. Status change event will refresh annotations automatically.

Parameters:
files - set of files whose status changed or null if all files changed status

fireVersionedFilesChanged

protected final void fireVersionedFilesChanged()
Helper method to signal that the versioning system started to manage some previously unversioned files (those files were imported into repository).


fireStatusChanged

protected final void fireStatusChanged(VCSFileProxy file)
Helper method that calls fireStatusChanged(Collections.singleton(file)).

Parameters:
file - a file whose status changed
See Also:
fireStatusChanged(java.util.Set)

org.netbeans.modules.versioning.core/1 1.5.0 1

Built on May 25 2012.  |  Portions Copyright 1997-2012 Oracle. All rights reserved.