public abstract class AbstractProjectConfigurator extends java.lang.Object implements org.eclipse.core.runtime.IExecutableExtension, IMavenProjectChangedListener
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
ATTR_CLASS |
static java.lang.String |
ATTR_ID |
static java.lang.String |
ATTR_NAME |
private java.lang.String |
id |
private static org.slf4j.Logger |
log |
protected IMavenMarkerManager |
markerManager |
protected IMaven |
maven |
protected IMavenConfiguration |
mavenConfiguration |
private java.lang.String |
name |
protected IMavenProjectRegistry |
projectManager |
| Constructor and Description |
|---|
AbstractProjectConfigurator() |
| Modifier and Type | Method and Description |
|---|---|
static void |
addNature(org.eclipse.core.resources.IProject project,
java.lang.String natureId,
int updateFlags,
org.eclipse.core.runtime.IProgressMonitor monitor) |
static void |
addNature(org.eclipse.core.resources.IProject project,
java.lang.String natureId,
org.eclipse.core.runtime.IProgressMonitor monitor) |
protected void |
assertHasNature(org.eclipse.core.resources.IProject project,
java.lang.String natureId) |
abstract void |
configure(ProjectConfigurationRequest request,
org.eclipse.core.runtime.IProgressMonitor monitor)
Configures Eclipse project passed in ProjectConfigurationRequest, using information from Maven project and other
configuration request parameters
|
boolean |
equals(java.lang.Object obj) |
AbstractBuildParticipant |
getBuildParticipant(IMavenProjectFacade projectFacade,
org.apache.maven.plugin.MojoExecution execution,
IPluginExecutionMetadata executionMetadata) |
static java.util.Map<java.lang.String,java.util.Set<MojoExecutionKey>> |
getConfiguratorExecutions(IMavenProjectFacade projectFacade) |
java.lang.String |
getId() |
protected java.util.List<org.apache.maven.plugin.MojoExecution> |
getMojoExecutions(ProjectConfigurationRequest request,
org.eclipse.core.runtime.IProgressMonitor monitor)
Returns list of MojoExecutions this configurator is enabled for.
|
java.lang.String |
getName() |
protected <T> T |
getParameterValue(org.apache.maven.project.MavenProject project,
java.lang.String parameter,
java.lang.Class<T> asType,
org.apache.maven.plugin.MojoExecution mojoExecution,
org.eclipse.core.runtime.IProgressMonitor monitor) |
protected <T> T |
getParameterValue(java.lang.String parameter,
java.lang.Class<T> asType,
org.apache.maven.execution.MavenSession session,
org.apache.maven.plugin.MojoExecution mojoExecution)
Deprecated.
this method does not properly join
IMavenExecutionContext, use
#getMojoParameterValue(String, Class, Plugin, ConfigurationContainer, String) instead. |
boolean |
hasConfigurationChanged(IMavenProjectFacade newFacade,
ILifecycleMappingConfiguration oldProjectConfiguration,
MojoExecutionKey key,
org.eclipse.core.runtime.IProgressMonitor monitor)
Returns true if project configuration has changed and running
configure(ProjectConfigurationRequest, IProgressMonitor) is required. |
int |
hashCode() |
void |
mavenProjectChanged(MavenProjectChangedEvent[] events,
org.eclipse.core.runtime.IProgressMonitor monitor)
This method is called while holding workspace lock.
|
void |
mavenProjectChanged(MavenProjectChangedEvent event,
org.eclipse.core.runtime.IProgressMonitor monitor)
Updates project configuration according project changes.
|
void |
setInitializationData(org.eclipse.core.runtime.IConfigurationElement config,
java.lang.String propertyName,
java.lang.Object data) |
void |
setMarkerManager(IMavenMarkerManager markerManager) |
void |
setMavenConfiguration(IMavenConfiguration mavenConfiguration) |
void |
setProjectManager(IMavenProjectRegistry projectManager) |
java.lang.String |
toString() |
void |
unconfigure(ProjectConfigurationRequest request,
org.eclipse.core.runtime.IProgressMonitor monitor)
Removes Maven specific configuration from the project passed in ProjectConfigurationRequest
|
private static final org.slf4j.Logger log
public static final java.lang.String ATTR_ID
public static final java.lang.String ATTR_NAME
public static final java.lang.String ATTR_CLASS
private java.lang.String id
private java.lang.String name
protected IMavenProjectRegistry projectManager
protected IMavenConfiguration mavenConfiguration
protected IMavenMarkerManager markerManager
protected IMaven maven
public void setProjectManager(IMavenProjectRegistry projectManager)
public void setMavenConfiguration(IMavenConfiguration mavenConfiguration)
public void setMarkerManager(IMavenMarkerManager markerManager)
public abstract void configure(ProjectConfigurationRequest request, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
Should be implemented by subclass
request - a project configuration requestmonitor - a progress monitororg.eclipse.core.runtime.CoreExceptionpublic void unconfigure(ProjectConfigurationRequest request, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
request - a project un-configuration requestmonitor - a progress monitororg.eclipse.core.runtime.CoreExceptionpublic void mavenProjectChanged(MavenProjectChangedEvent event, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
Can be overwritten by subclass
event - a project change eventmonitor - a progress monitororg.eclipse.core.runtime.CoreExceptionpublic final void mavenProjectChanged(MavenProjectChangedEvent[] events, org.eclipse.core.runtime.IProgressMonitor monitor)
IMavenProjectChangedListenermavenProjectChanged in interface IMavenProjectChangedListenerpublic java.lang.String getId()
public java.lang.String getName()
public void setInitializationData(org.eclipse.core.runtime.IConfigurationElement config,
java.lang.String propertyName,
java.lang.Object data)
setInitializationData in interface org.eclipse.core.runtime.IExecutableExtensionpublic static void addNature(org.eclipse.core.resources.IProject project,
java.lang.String natureId,
org.eclipse.core.runtime.IProgressMonitor monitor)
throws org.eclipse.core.runtime.CoreException
org.eclipse.core.runtime.CoreExceptionpublic static void addNature(org.eclipse.core.resources.IProject project,
java.lang.String natureId,
int updateFlags,
org.eclipse.core.runtime.IProgressMonitor monitor)
throws org.eclipse.core.runtime.CoreException
org.eclipse.core.runtime.CoreExceptionprotected <T> T getParameterValue(java.lang.String parameter,
java.lang.Class<T> asType,
org.apache.maven.execution.MavenSession session,
org.apache.maven.plugin.MojoExecution mojoExecution)
throws org.eclipse.core.runtime.CoreException
IMavenExecutionContext, use
#getMojoParameterValue(String, Class, Plugin, ConfigurationContainer, String) instead.org.eclipse.core.runtime.CoreExceptionprotected <T> T getParameterValue(org.apache.maven.project.MavenProject project,
java.lang.String parameter,
java.lang.Class<T> asType,
org.apache.maven.plugin.MojoExecution mojoExecution,
org.eclipse.core.runtime.IProgressMonitor monitor)
throws org.eclipse.core.runtime.CoreException
org.eclipse.core.runtime.CoreExceptionprotected void assertHasNature(org.eclipse.core.resources.IProject project,
java.lang.String natureId)
throws org.eclipse.core.runtime.CoreException
org.eclipse.core.runtime.CoreExceptionpublic java.lang.String toString()
toString in class java.lang.Objectpublic AbstractBuildParticipant getBuildParticipant(IMavenProjectFacade projectFacade, org.apache.maven.plugin.MojoExecution execution, IPluginExecutionMetadata executionMetadata)
public int hashCode()
hashCode in class java.lang.Objectpublic boolean equals(java.lang.Object obj)
equals in class java.lang.Objectprotected java.util.List<org.apache.maven.plugin.MojoExecution> getMojoExecutions(ProjectConfigurationRequest request, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
org.eclipse.core.runtime.CoreExceptionpublic static java.util.Map<java.lang.String,java.util.Set<MojoExecutionKey>> getConfiguratorExecutions(IMavenProjectFacade projectFacade)
public boolean hasConfigurationChanged(IMavenProjectFacade newFacade, ILifecycleMappingConfiguration oldProjectConfiguration, MojoExecutionKey key, org.eclipse.core.runtime.IProgressMonitor monitor)
configure(ProjectConfigurationRequest, IProgressMonitor) is required. Default implementation uses
Xpp3Dom.equals(Object) to compare before/after mojo configuration.