001    package org.apache.maven.scm.command.status;
002    
003    /*
004     * Licensed to the Apache Software Foundation (ASF) under one
005     * or more contributor license agreements.  See the NOTICE file
006     * distributed with this work for additional information
007     * regarding copyright ownership.  The ASF licenses this file
008     * to you under the Apache License, Version 2.0 (the
009     * "License"); you may not use this file except in compliance
010     * with the License.  You may obtain a copy of the License at
011     *
012     * http://www.apache.org/licenses/LICENSE-2.0
013     *
014     * Unless required by applicable law or agreed to in writing,
015     * software distributed under the License is distributed on an
016     * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
017     * KIND, either express or implied.  See the License for the
018     * specific language governing permissions and limitations
019     * under the License.
020     */
021    
022    import org.apache.maven.scm.ScmFile;
023    import org.apache.maven.scm.ScmResult;
024    
025    import java.util.Collections;
026    import java.util.List;
027    
028    /**
029     * @author <a href="mailto:brett@apache.org">Brett Porter</a>
030     * @version $Id: StatusScmResult.java 1054126 2010-12-31 15:18:11Z olamy $
031     */
032    public class StatusScmResult
033        extends ScmResult
034    {
035        private static final long serialVersionUID = 7152442589455369403L;
036        
037        private List<ScmFile> changedFiles;
038    
039        public StatusScmResult( String commandLine, String providerMessage, String commandOutput, boolean success )
040        {
041            super( commandLine, providerMessage, commandOutput, success );
042    
043            this.changedFiles = Collections.emptyList();
044        }
045    
046        public StatusScmResult( String commandLine, List<ScmFile> changedFiles )
047        {
048            super( commandLine, null, null, true );
049    
050            if ( changedFiles == null )
051            {
052                throw new NullPointerException( "changedFiles can't be null." );
053            }
054    
055            this.changedFiles = changedFiles;
056        }
057    
058        public StatusScmResult( List<ScmFile> changedFiles, ScmResult result )
059        {
060            super( result );
061    
062            if ( changedFiles == null )
063            {
064                throw new NullPointerException( "changedFiles can't be null." );
065            }
066    
067            this.changedFiles = changedFiles;
068        }
069    
070        public List<ScmFile> getChangedFiles()
071        {
072            return changedFiles;
073        }
074    }