01: /*
02: * ====================================================================
03: * Copyright (c) 2004-2008 TMate Software Ltd. All rights reserved.
04: *
05: * This software is licensed as described in the file COPYING, which
06: * you should have received as part of this distribution. The terms
07: * are also available at http://svnkit.com/license.html
08: * If newer versions of this license are posted there, you may use a
09: * newer version instead, at your option.
10: * ====================================================================
11: */
12: package org.tmatesoft.svn.core.wc;
13:
14: import org.tmatesoft.svn.core.SVNException;
15:
16: /**
17: * The <b>ISVNCommitHandler</b> should be implemented to
18: * provide an ability to manage commit log messages for items to be committed in
19: * a common transaction.
20: *
21: * <p>
22: * The interface defines the only one method which takes the initial log message
23: * and an array of items that are intended for a commit. For example, an implementor's
24: * code can process those items and add some generated additional comment to that one
25: * passed into the method. There could be plenty of scenarioes.
26: *
27: * @version 1.1.1
28: * @author TMate Software Ltd.
29: * @see DefaultSVNCommitHandler
30: */
31: public interface ISVNCommitHandler {
32:
33: /**
34: * Handles the in-come initial log message and items intended for a commit and
35: * returns a new commit log message.
36: *
37: * @param message an initial log message
38: * @param commitables an array of items to be committed
39: * @return a new log message string
40: * @throws SVNException
41: */
42: public String getCommitMessage(String message,
43: SVNCommitItem[] commitables) throws SVNException;
44: }
|