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

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.core.resources.team
Class TeamHook

java.lang.Object
  extended by org.eclipse.core.internal.resources.InternalTeamHook
      extended by 
org.eclipse.core.resources.team.TeamHook

public abstract class TeamHook
extends org.eclipse.core.internal.resources.InternalTeamHook

A general hook class for operations that team providers may be interested in participating in. Implementors of the hook should provide a concrete subclass, and override any methods they are interested in.

This class is intended to be subclassed by the team component in conjunction with the org.eclipse.core.resources.teamHook standard extension point. Individual team providers may also subclass this class. It is not intended to be subclassed by other clients. The methods defined on this class are called from within the implementations of workspace API methods and must not be invoked directly by clients.

Since:
2.1

Field Summary
protected   IResourceRuleFactory defaultFactory
          The default resource scheduling rule factory.
 
Constructor Summary
protected TeamHook ()
          Creates a new team hook.
 
Method Summary
  IResourceRuleFactory getRuleFactory ( IProject project)
          Returns the resource scheduling rule factory that should be used when workspace operations are invoked on resources in that project.
protected  void setRuleFactory ( IProject project, IResourceRuleFactory factory)
          Sets the resource scheduling rule factory to use for resource modifications in the given project.
  IStatus validateCreateLink ( IFile file, int updateFlags, IPath location)
          Validates whether a particular attempt at link creation is allowed.
  IStatus validateCreateLink ( IFile file, int updateFlags, URI location)
          Validates whether a particular attempt at link creation is allowed.
  IStatus validateCreateLink ( IFolder folder, int updateFlags, IPath location)
          Validates whether a particular attempt at link creation is allowed.
  IStatus validateCreateLink ( IFolder folder, int updateFlags, URI location)
          Validates whether a particular attempt at link creation is allowed.
 
Methods inherited from class java.lang. Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

defaultFactory

protected final 
IResourceRuleFactory defaultFactory
The default resource scheduling rule factory. This factory can be used for projects that the team hook methods do not participate in.

Since:
3.0
See Also:
getRuleFactory(IProject), setRuleFactory(IProject, IResourceRuleFactory)
Constructor Detail

TeamHook

protected TeamHook()
Creates a new team hook. Default constructor for use by subclasses and the resources plug-in only.

Method Detail

getRuleFactory

public 
IResourceRuleFactory getRuleFactory(
IProject project)
Returns the resource scheduling rule factory that should be used when workspace operations are invoked on resources in that project. The workspace will ask the team hook this question only once per project, per session. The workspace will assume the returned result is valid for the rest of that session, unless the rule is changed by calling setRuleFactory.

This method must not return null. If no special rules are required by the team hook for the given project, the value of the defaultFactory field should be returned.

This default implementation always returns the value of the defaultFactory field. Subclasses may override and provide a subclass of ResourceRuleFactory.

Parameters:
project - the project to return scheduling rules for
Returns:
the resource scheduling rules for a project
Since:
3.0
See Also:
setRuleFactory(IProject, IResourceRuleFactory), ResourceRuleFactory

setRuleFactory

protected final void setRuleFactory(
IProject project,
                                    
IResourceRuleFactory factory)
Sets the resource scheduling rule factory to use for resource modifications in the given project. This method only needs to be called if the factory has changed since the initial call to getRuleFactory for the given project

The supplied factory must not be null. If no special rules are required by the team hook for the given project, the value of the defaultFactory field should be used.

Note that the new rule factory will only take effect for resource changing operations that begin after this method completes. Care should be taken to avoid calling this method during the invocation of any resource changing operation (in any thread). The best time to change rule factories is during resource change notification when the workspace is locked for modification.

Overrides:
setRuleFactory in class org.eclipse.core.internal.resources.InternalTeamHook
Parameters:
project - the project to change the resource rule factory for
factory - the new resource rule factory
Since:
3.0
See Also:
getRuleFactory(IProject), IResourceRuleFactory

validateCreateLink

public 
IStatus validateCreateLink(
IFile file,
                                  int updateFlags,
                                  
IPath location)
Validates whether a particular attempt at link creation is allowed. This gives team providers an opportunity to hook into the beginning of the implementation of IFile.createLink.

The implementation of this method runs "below" the resources API and is therefore very restricted in what resource API method it can call. The list of useable methods includes most resource operations that read but do not update the resource tree; resource operations that modify resources and trigger deltas must not be called from within the dynamic scope of the invocation of this method.

This method should be overridden by subclasses that want to control what links are created. The default implementation of this method allows all links to be created.

Parameters:
file - the file to be linked
updateFlags - bit-wise or of update flag constants (only ALLOW_MISSING_LOCAL is relevant here)
location - a file system path where the file should be linked
Returns:
a status object with code IStatus.OK if linking is allowed, otherwise a status object with severity IStatus.ERROR indicating why the creation is not allowed.
See Also:
IResource.ALLOW_MISSING_LOCAL

validateCreateLink

public 
IStatus validateCreateLink(
IFile file,
                                  int updateFlags,
                                  
URI location)
Validates whether a particular attempt at link creation is allowed. This gives team providers an opportunity to hook into the beginning of the implementation of IFile.createLink(URI, int, IProgressMonitor)

The implementation of this method runs "below" the resources API and is therefore very restricted in what resource API method it can call. The list of useable methods includes most resource operations that read but do not update the resource tree; resource operations that modify resources and trigger deltas must not be called from within the dynamic scope of the invocation of this method.

This method should be overridden by subclasses that want to control what links are created. The default implementation of this method allows all links to be created.

Parameters:
file - the file to be linked
updateFlags - bit-wise or of update flag constants (only ALLOW_MISSING_LOCAL is relevant here)
location - a file system URI where the file should be linked
Returns:
a status object with code IStatus.OK if linking is allowed, otherwise a status object with severity IStatus.ERROR indicating why the creation is not allowed.
Since:
3.2
See Also:
IResource.ALLOW_MISSING_LOCAL

validateCreateLink

public 
IStatus validateCreateLink(
IFolder folder,
                                  int updateFlags,
                                  
IPath location)
Validates whether a particular attempt at link creation is allowed. This gives team providers an opportunity to hook into the beginning of the implementation of IFolder.createLink.

The implementation of this method runs "below" the resources API and is therefore very restricted in what resource API method it can call. The list of useable methods includes most resource operations that read but do not update the resource tree; resource operations that modify resources and trigger deltas must not be called from within the dynamic scope of the invocation of this method.

This method should be overridden by subclasses that want to control what links are created. The default implementation of this method allows all links to be created.

Parameters:
folder - the file to be linked
updateFlags - bit-wise or of update flag constants (only ALLOW_MISSING_LOCAL is relevant here)
location - a file system path where the folder should be linked
Returns:
a status object with code IStatus.OK if linking is allowed, otherwise a status object with severity IStatus.ERROR indicating why the creation is not allowed.
See Also:
IResource.ALLOW_MISSING_LOCAL

validateCreateLink

public 
IStatus validateCreateLink(
IFolder folder,
                                  int updateFlags,
                                  
URI location)
Validates whether a particular attempt at link creation is allowed. This gives team providers an opportunity to hook into the beginning of the implementation of IFolder.createLink(URI, int, IProgressMonitor)

The implementation of this method runs "below" the resources API and is therefore very restricted in what resource API method it can call. The list of useable methods includes most resource operations that read but do not update the resource tree; resource operations that modify resources and trigger deltas must not be called from within the dynamic scope of the invocation of this method.

This method should be overridden by subclasses that want to control what links are created. The default implementation of this method allows all links to be created.

Parameters:
folder - the file to be linked
updateFlags - bit-wise or of update flag constants (only ALLOW_MISSING_LOCAL is relevant here)
location - a file system path where the folder should be linked
Returns:
a status object with code IStatus.OK if linking is allowed, otherwise a status object with severity IStatus.ERROR indicating why the creation is not allowed.
Since:
3.2
See Also:
IResource.ALLOW_MISSING_LOCAL

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