/*
* ====================================================================
* Copyright (c) 2004-2012 TMate Software Ltd. All rights reserved.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
* are also available at http://svnkit.com/license.html
* If newer versions of this license are posted there, you may use a
* newer version instead, at your option.
* ====================================================================
*/
package org.tmatesoft.svn.core.wc;
import java.io.File;
/**
* The <b>ISVNAddParameters</b> is an interface for a callback which is invoked
* when there are inconsistent EOLs found in text files which are being scheduled for addition.
*
* <p>
* In other words, if a text file is scheduled for addition and an autoproperty
* {@link org.tmatesoft.svn.core.SVNProperty#EOL_STYLE} is set on a file that will cause an exception
* on files with inconsistent EOLs. In this case if the caller has provided his <code>ISVNAddParameters</code>
* its method <code>onInconsistentEOLs(File file)</code> will be called for that file. This method returns one of
* the three constants predefined in this interface. According to the return value the file may be added as-is, as
* binary or addition may be cancelled and an exception may be thrown indicating an error.
*
* @version 1.3
* @author TMate Software Ltd.
* @since 1.2
*/
public interface ISVNAddParameters {
/**
* Rules to add a file as binary.
*/
public static final Action ADD_AS_BINARY = new Action();
/**
* Rules to add a file ad is.
*/
public static final Action ADD_AS_IS = new Action();
/**
* Rules not to add file but to report an error, i.e. throw an exception
*/
public static final Action REPORT_ERROR = new Action();
/**
* Receives a file with inconsistent EOLs and returns an action which should be
* performed against this file. It should be one of the three constant values
* predefined in this interface.
*
* @param file file path
* @return action to perform on the given file
*
*/
public Action onInconsistentEOLs(File file);
/**
* This class is simply used to define an action add
* operation should undertake in case of a inconsistent EOLs.
*
* @version 1.3
* @author TMate Software Ltd.
* @since 1.2
*/
public static class Action {
private Action() {
}
}
}