001    /*
002     * Copyright 2004-2005 Stephen J. McConnell.
003     *
004     * Licensed  under the  Apache License,  Version 2.0  (the "License");
005     * you may not use  this file  except in  compliance with the License.
006     * You may obtain a copy of the License at
007     *
008     *   http://www.apache.org/licenses/LICENSE-2.0
009     *
010     * Unless required by applicable law or agreed to in writing, software
011     * distributed  under the  License is distributed on an "AS IS" BASIS,
012     * WITHOUT  WARRANTIES OR CONDITIONS  OF ANY KIND, either  express  or
013     * implied.
014     *
015     * See the License for the specific language governing permissions and
016     * limitations under the License.
017     */
018    
019    package net.dpml.transit.artifact;
020    
021    import java.net.URI;
022    
023    /**
024     * Exception to indicate that an Artifact could not be located.
025     *
026     * @author <a href="http://www.dpml.net">Digital Product Meta Library</a>
027     * @version 1.1.0
028     */
029    public class ArtifactNotFoundException extends ArtifactException
030    {
031       /**
032        * Serial version identifier.
033        */
034        static final long serialVersionUID = 1L;
035    
036        // ------------------------------------------------------------------------
037        // state
038        // ------------------------------------------------------------------------
039    
040       /**
041        * The artifact that we not found.
042        */
043        private final URI m_artifact;
044    
045        // ------------------------------------------------------------------------
046        // constructor
047        // ------------------------------------------------------------------------
048    
049        /**
050         * Construct a new <code>ArtifactNotFoundException</code> instance.
051         *
052         * @param message The detail message for this exception.
053         * @param artifact the subject artifact
054         */
055        public ArtifactNotFoundException( final String message, final URI artifact )
056        {
057            super( message );
058            m_artifact = artifact;
059        }
060    
061        /**
062         * Returns the uri that could not be found.
063         * @return the subject uri
064         */
065        public URI getURI()
066        {
067            return m_artifact;
068        }
069    }
070