Class AbstractStringBasedModelInterpolator

  • All Implemented Interfaces:
    ModelInterpolator, org.codehaus.plexus.logging.LogEnabled, org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable
    Direct Known Subclasses:
    RegexBasedModelInterpolator, StringSearchModelInterpolator

    public abstract class AbstractStringBasedModelInterpolator
    extends org.codehaus.plexus.logging.AbstractLogEnabled
    implements ModelInterpolator, org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable
    Use a regular expression search to find and resolve expressions within the POM.
    Version:
    $Id: AbstractStringBasedModelInterpolator.java 767323 2009-04-21 22:53:31Z jdcasey $
    Author:
    jdcasey Created on Feb 3, 2005
    • Constructor Detail

      • AbstractStringBasedModelInterpolator

        protected AbstractStringBasedModelInterpolator​(PathTranslator pathTranslator)
      • AbstractStringBasedModelInterpolator

        protected AbstractStringBasedModelInterpolator()
        Throws:
        IOException - This exception is not thrown any more, and needs to be removed.
    • Method Detail

      • interpolate

        public String interpolate​(String src,
                                  Model model,
                                  File projectDir,
                                  ProjectBuilderConfiguration config,
                                  boolean debug)
                           throws ModelInterpolationException
        Interpolates all expressions in the src parameter.

        The algorithm used for each expression is:

        • If it starts with either "pom." or "project.", the expression is evaluated against the model.
        • If the value is null, get the value from the context.
        • If the value is null, but the context contains the expression, don't replace the expression string with the value, and continue to find other expressions.
        • If the value is null, get it from the model properties.
        Specified by:
        interpolate in interface ModelInterpolator
        Parameters:
        overrideContext -
        outputDebugMessages -
        Throws:
        ModelInterpolationException
      • getRecursionInterceptor

        protected org.codehaus.plexus.interpolation.RecursionInterceptor getRecursionInterceptor()
      • setRecursionInterceptor

        protected void setRecursionInterceptor​(org.codehaus.plexus.interpolation.RecursionInterceptor recursionInterceptor)
      • createInterpolator

        protected abstract org.codehaus.plexus.interpolation.Interpolator createInterpolator()
      • initialize

        public void initialize()
                        throws org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException
        Specified by:
        initialize in interface org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable
        Throws:
        org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException
      • getInterpolator

        protected final org.codehaus.plexus.interpolation.Interpolator getInterpolator()