001package org.apache.maven.scm.command.blame;
002/*
003 * Licensed to the Apache Software Foundation (ASF) under one
004 * or more contributor license agreements.  See the NOTICE file
005 * distributed with this work for additional information
006 * regarding copyright ownership.  The ASF licenses this file
007 * to you under the Apache License, Version 2.0 (the
008 * "License"); you may not use this file except in compliance
009 * with the License.  You may obtain a copy of the License at
010 *
011 *   http://www.apache.org/licenses/LICENSE-2.0
012 *
013 * Unless required by applicable law or agreed to in writing,
014 * software distributed under the License is distributed on an
015 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
016 * KIND, either express or implied.  See the License for the
017 * specific language governing permissions and limitations
018 * under the License.
019 */
020
021import org.apache.maven.scm.CommandParameter;
022import org.apache.maven.scm.ScmException;
023import org.apache.maven.scm.ScmFileSet;
024import org.apache.maven.scm.ScmRequest;
025import org.apache.maven.scm.repository.ScmRepository;
026
027/**
028 * @author Olivier Lamy
029 * @since 1.8
030 */
031public class BlameScmRequest
032    extends ScmRequest
033{
034
035    /**
036     * -w option for git
037     */
038    private boolean ignoreWhitespace;
039
040
041    public BlameScmRequest( ScmRepository scmRepository, ScmFileSet scmFileSet )
042    {
043        super( scmRepository, scmFileSet );
044    }
045
046    public void setFilename( String filename )
047        throws ScmException
048    {
049        this.getCommandParameters().setString( CommandParameter.FILE, filename );
050    }
051
052    public String getFilename()
053        throws ScmException
054    {
055        return this.getCommandParameters().getString( CommandParameter.FILE );
056    }
057
058    public boolean isIgnoreWhitespace()
059    {
060        return ignoreWhitespace;
061    }
062
063    public void setIgnoreWhitespace( boolean ignoreWhitespace )
064        throws ScmException
065    {
066        this.ignoreWhitespace = ignoreWhitespace;
067
068        if ( ignoreWhitespace )
069        {
070            this.getCommandParameters().setString( CommandParameter.IGNORE_WHITESPACE, "TRUE" );
071        }
072        else
073        {
074            this.getCommandParameters().setString( CommandParameter.IGNORE_WHITESPACE, "FALSE" );
075        }
076    }
077}