You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by be...@apache.org on 2009/06/02 21:10:40 UTC

svn commit: r781127 - /maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/ModelInterpolator.java

Author: bentmann
Date: Tue Jun  2 19:10:40 2009
New Revision: 781127

URL: http://svn.apache.org/viewvc?rev=781127&view=rev
Log:
o Added some API docs

Modified:
    maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/ModelInterpolator.java

Modified: maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/ModelInterpolator.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/ModelInterpolator.java?rev=781127&r1=781126&r2=781127&view=diff
==============================================================================
--- maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/ModelInterpolator.java (original)
+++ maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/ModelInterpolator.java Tue Jun  2 19:10:40 2009
@@ -25,6 +25,9 @@
 import java.io.File;
 
 /**
+ * Replaces expressions of the form <tt>${token}</tt> with their effective values. Effective values are basically
+ * calculated from the elements of the model itself and the execution properties from the building request.
+ * 
  * @author jdcasey
  *         <p/>
  *         Created on Feb 2, 2005
@@ -32,10 +35,30 @@
 public interface ModelInterpolator
 {
 
+    /**
+     * The default format used for build timestamps.
+     */
     String DEFAULT_BUILD_TIMESTAMP_FORMAT = "yyyyMMdd-HHmm";
 
+    /**
+     * The name of a property that if present in the model's {@code <properties>} section specifies a custom format for
+     * build timestamps. See {@link java.text.SimpleDateFormat} for details on the format.
+     */
     String BUILD_TIMESTAMP_FORMAT_PROPERTY = "maven.build.timestamp.format";
 
+    /**
+     * Interpolates expressions in the specified model. Note that implementations are free to either interpolate the
+     * provided model directly or to create a clone of the model and interpolate the clone. Callers should always use
+     * the returned model and must not rely on the input model being updated.
+     * 
+     * @param model The model to interpolate, must not be {@code null}.
+     * @param projectDir The project directory, may be {@code null} if the model does not belong to a local project but
+     *            to some artifact's metadata.
+     * @param request The model building request that holds further settings, must not be {@code null}.
+     * @return The interpolated model, never {@code null}.
+     * @throws ModelInterpolationException If the model could not be interpolated (e.g. due to expressions with cyclic
+     *             references).
+     */
     Model interpolateModel( Model model, File projectDir, ModelBuildingRequest request )
         throws ModelInterpolationException;