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
Interface IResourceRuleFactory

All Known Implementing Classes:
ResourceRuleFactory

public interface IResourceRuleFactory

A resource rule factory returns scheduling rules for API methods that modify the workspace. These rules can be used when creating jobs or other operations that perform a series of modifications on the workspace. This allows clients to implement two phase commit semantics, where all necessary rules are obtained prior to executing a long running operation.

Note that simple use of the workspace APIs does not require use of scheduling rules. All workspace API methods that modify the workspace will automatically obtain any scheduling rules needed to perform the modification. However, if you are aggregating a set of changes to the workspace using WorkspaceJob or IWorkspaceRunnable you can use scheduling rules to lock a portion of the workspace for the duration of the job or runnable. If you provide a non-null scheduling rule, a runtime exception will occur if you try to modify a portion of the workspace that is not covered by the rule for the runnable or job.

If more than one rule is needed, they can be aggregated using the MultiRule.combine method. Simplifying a group of rules does not change the set of resources that are covered, but can improve job scheduling performance.

Note that null is a valid scheduling rule (indicating that no resources need to be locked), and thus all methods in this class may return null.

Since:
3.0
See Also:
WorkspaceJob, IWorkspace.run(IWorkspaceRunnable, ISchedulingRule, int, org.eclipse.core.runtime.IProgressMonitor), MultiRule.combine(ISchedulingRule, ISchedulingRule)
Restriction:
This interface is not intended to be implemented by clients.
Restriction:
This interface is not intended to be extended by clients.

Method Summary
  ISchedulingRule buildRule ()
          Returns the scheduling rule that is required for building a project or the entire workspace.
  ISchedulingRule charsetRule ( IResource resource)
          Returns the scheduling rule that is required for changing the charset setting for a file or the default charset setting for a container.
  ISchedulingRule copyRule ( IResource source, IResource destination)
          Returns the scheduling rule that is required for copying a resource.
  ISchedulingRule createRule ( IResource resource)
          Returns the scheduling rule that is required for creating a project, folder, or file.
  ISchedulingRule deleteRule ( IResource resource)
          Returns the scheduling rule that is required for deleting a resource.
  ISchedulingRule markerRule ( IResource resource)
          Returns the scheduling rule that is required for creating, modifying, or deleting markers on a resource.
  ISchedulingRule modifyRule ( IResource resource)
          Returns the scheduling rule that is required for modifying a resource.
  ISchedulingRule moveRule ( IResource source, IResource destination)
          Returns the scheduling rule that is required for moving a resource.
  ISchedulingRule refreshRule ( IResource resource)
          Returns the scheduling rule that is required for performing refreshLocal on a resource.
  ISchedulingRule validateEditRule ( IResource[] resources)
          Returns the scheduling rule that is required for a validateEdit
 

Method Detail

createRule

ISchedulingRule createRule(
IResource resource)
Returns the scheduling rule that is required for creating a project, folder, or file.

Parameters:
resource - the resource being created
Returns:
a scheduling rule, or null

buildRule

ISchedulingRule buildRule()
Returns the scheduling rule that is required for building a project or the entire workspace.

Returns:
a scheduling rule, or null

charsetRule

ISchedulingRule charsetRule(
IResource resource)
Returns the scheduling rule that is required for changing the charset setting for a file or the default charset setting for a container.

Parameters:
resource - the resource the charset will be changed
Returns:
a scheduling rule, or null
Since:
3.1

copyRule

ISchedulingRule copyRule(
IResource source,
                         
IResource destination)
Returns the scheduling rule that is required for copying a resource.

Parameters:
source - the source of the copy
destination - the destination of the copy
Returns:
a scheduling rule, or null

deleteRule

ISchedulingRule deleteRule(
IResource resource)
Returns the scheduling rule that is required for deleting a resource.

Parameters:
resource - the resource to be deleted
Returns:
a scheduling rule, or null

markerRule

ISchedulingRule markerRule(
IResource resource)
Returns the scheduling rule that is required for creating, modifying, or deleting markers on a resource.

Parameters:
resource - the resource owning the marker to be modified
Returns:
a scheduling rule, or null

modifyRule

ISchedulingRule modifyRule(
IResource resource)
Returns the scheduling rule that is required for modifying a resource. For files, modification includes setting and appending contents. For projects, modification includes opening or closing the project, or setting the project description using the IResource.AVOID_NATURE_CONFIG flag. For all resources touch is considered to be a modification.

Parameters:
resource - the resource being modified
Returns:
a scheduling rule, or null

moveRule

ISchedulingRule moveRule(
IResource source,
                         
IResource destination)
Returns the scheduling rule that is required for moving a resource.

Parameters:
source - the source of the move
destination - the destination of the move
Returns:
a scheduling rule, or null

refreshRule

ISchedulingRule refreshRule(
IResource resource)
Returns the scheduling rule that is required for performing refreshLocal on a resource.

Parameters:
resource - the resource to refresh
Returns:
a scheduling rule, or null

validateEditRule

ISchedulingRule validateEditRule(
IResource[] resources)
Returns the scheduling rule that is required for a validateEdit

Parameters:
resources - the resources to be validated
Returns:
a scheduling rule, or null

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