org.eclipse.xtext.builder
Class BuilderParticipant

java.lang.Object
  extended by org.eclipse.xtext.builder.BuilderParticipant
All Implemented Interfaces:
IXtextBuilderParticipant
Direct Known Subclasses:
XtendBuilderParticipant

public class BuilderParticipant
extends java.lang.Object
implements IXtextBuilderParticipant

Since:
2.1
Author:
Sven Efftinge - Initial contribution and API, Michael Clay

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.eclipse.xtext.builder.IXtextBuilderParticipant
IXtextBuilderParticipant.BuildType, IXtextBuilderParticipant.IBuildContext
 
Constructor Summary
BuilderParticipant()
           
 
Method Summary
 void build(IXtextBuilderParticipant.IBuildContext context, org.eclipse.core.runtime.IProgressMonitor monitor)
          Allows clients to perform additional steps in the build process such as code generation.
protected  void cleanOutput(IXtextBuilderParticipant.IBuildContext ctx, OutputConfiguration config, org.eclipse.core.runtime.IProgressMonitor monitor)
           
 BuilderPreferenceAccess getBuilderPreferenceAccess()
           
 IGenerator getGenerator()
           
 EclipseOutputConfigurationProvider getOutputConfigurationProvider()
           
protected  java.util.Map<java.lang.String,OutputConfiguration> getOutputConfigurations(IXtextBuilderParticipant.IBuildContext context)
           
protected  java.util.List<IResourceDescription.Delta> getRelevantDeltas(IXtextBuilderParticipant.IBuildContext context)
           
 IResourceServiceProvider getResourceServiceProvider()
           
protected  void handleChangedContents(IResourceDescription.Delta delta, IXtextBuilderParticipant.IBuildContext context, EclipseResourceFileSystemAccess2 fileSystemAccess)
           
protected  boolean isEnabled(IXtextBuilderParticipant.IBuildContext context)
           
protected  void refreshOutputFolders(IXtextBuilderParticipant.IBuildContext ctx, java.util.Map<java.lang.String,OutputConfiguration> outputConfigurations, org.eclipse.core.runtime.IProgressMonitor monitor)
           
 void setBuilderPreferenceAccess(BuilderPreferenceAccess builderPreferenceAccess)
           
 void setOutputConfigurationProvider(EclipseOutputConfigurationProvider outputConfigurationProvider)
           
protected  boolean shouldGenerate(org.eclipse.emf.ecore.resource.Resource resource, IXtextBuilderParticipant.IBuildContext context)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BuilderParticipant

public BuilderParticipant()
Method Detail

getBuilderPreferenceAccess

public BuilderPreferenceAccess getBuilderPreferenceAccess()

setBuilderPreferenceAccess

@Inject
public void setBuilderPreferenceAccess(BuilderPreferenceAccess builderPreferenceAccess)

getOutputConfigurationProvider

public EclipseOutputConfigurationProvider getOutputConfigurationProvider()

getGenerator

public IGenerator getGenerator()
Since:
2.2

getResourceServiceProvider

public IResourceServiceProvider getResourceServiceProvider()
Since:
2.2

setOutputConfigurationProvider

@Inject
public void setOutputConfigurationProvider(EclipseOutputConfigurationProvider outputConfigurationProvider)

build

public void build(IXtextBuilderParticipant.IBuildContext context,
                  org.eclipse.core.runtime.IProgressMonitor monitor)
           throws org.eclipse.core.runtime.CoreException
Description copied from interface: IXtextBuilderParticipant
Allows clients to perform additional steps in the build process such as code generation. It is not expected that any object in the resource set will be modified by a builder participant. However, resources may be dynamically loaded or unloaded.

Specified by:
build in interface IXtextBuilderParticipant
monitor - the progress monitor to use for reporting progress to the user. It is the caller's responsibility to call done() on the given monitor. Accepts null, indicating that no progress should be reported and that the operation cannot be cancelled.
Throws:
org.eclipse.core.runtime.CoreException

isEnabled

protected boolean isEnabled(IXtextBuilderParticipant.IBuildContext context)

getRelevantDeltas

protected java.util.List<IResourceDescription.Delta> getRelevantDeltas(IXtextBuilderParticipant.IBuildContext context)
Since:
2.3

refreshOutputFolders

protected void refreshOutputFolders(IXtextBuilderParticipant.IBuildContext ctx,
                                    java.util.Map<java.lang.String,OutputConfiguration> outputConfigurations,
                                    org.eclipse.core.runtime.IProgressMonitor monitor)
                             throws org.eclipse.core.runtime.CoreException
Throws:
org.eclipse.core.runtime.CoreException

cleanOutput

protected void cleanOutput(IXtextBuilderParticipant.IBuildContext ctx,
                           OutputConfiguration config,
                           org.eclipse.core.runtime.IProgressMonitor monitor)
                    throws org.eclipse.core.runtime.CoreException
Throws:
org.eclipse.core.runtime.CoreException

handleChangedContents

protected void handleChangedContents(IResourceDescription.Delta delta,
                                     IXtextBuilderParticipant.IBuildContext context,
                                     EclipseResourceFileSystemAccess2 fileSystemAccess)
                              throws org.eclipse.core.runtime.CoreException
Throws:
org.eclipse.core.runtime.CoreException

shouldGenerate

protected boolean shouldGenerate(org.eclipse.emf.ecore.resource.Resource resource,
                                 IXtextBuilderParticipant.IBuildContext context)

getOutputConfigurations

protected java.util.Map<java.lang.String,OutputConfiguration> getOutputConfigurations(IXtextBuilderParticipant.IBuildContext context)