|
 |
|
|
org.eclipse.core.resources.team
Class TeamHook
java.lang.Object
org.eclipse.core.internal.resources.InternalTeamHook
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
Constructor Summary
|
protected
|
TeamHook
()
Creates a new team hook. |
Methods inherited from class java.lang.
Object
|
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait
|
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)
TeamHook
protected TeamHook()
- Creates a new team hook. Default constructor for use by subclasses and the
resources plug-in only.
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
Guidelines for using Eclipse APIs.
Copyright (c) Eclipse contributors and others 2000, 2008. All rights reserved.
|
|
|