001package org.andromda.core.configuration;
002
003import java.io.Serializable;
004
005/**
006 * Stores the information about a transformation. Transformations are applied to
007 * model(s) before actual model processing occurs.
008 *
009 * @author Chad Brandon
010 */
011public class Transformation
012    implements Serializable
013{
014    private static final long serialVersionUID = 34L;
015
016    /**
017     * The URL location of the transformation.
018     */
019    private String uri;
020
021    /**
022     * Sets the URL of the transformation.
023     *
024     * @param uri the URL to the transformation.
025     */
026    public void setUri(final String uri)
027    {
028        this.uri = uri;
029    }
030
031    /**
032     * The URL of the model.
033     *
034     * @return Returns the uri.
035     */
036    public String getUri()
037    {
038        return uri;
039    }
040
041    /**
042     * Stores the optional output location.
043     */
044    private String outputLocation;
045
046    /**
047     * Sets the location to which the result of this transformation should be
048     * written. This is optional, if this is unspecified then the result is not
049     * written but just passed in memory to the processor.
050     *
051     * @param outputLocation the location of the output to be written.
052     */
053    public void setOutputLocation(final String outputLocation)
054    {
055        this.outputLocation = outputLocation;
056    }
057
058    /**
059     * Gets the location to which the output of the transformation result will
060     * be written.
061     *
062     * @return the output location.
063     */
064    public String getOutputLocation()
065    {
066        return this.outputLocation;
067    }
068}