001 /*
002 * file CcFileAreaLockedCallback.java
003 *
004 * Licensed Materials - Property of IBM
005 * Restricted Materials of IBM
006 *
007 * com.ibm.rational.wvcm.stp.cc.CcFileAreaLockedCallback
008 *
009 * (C) Copyright IBM Corporation 2007, 2014. All Rights Reserved.
010 * Note to U.S. Government Users Restricted Rights: Use, duplication or
011 * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
012 */
013
014 package com.ibm.rational.wvcm.stp.cc;
015
016 import java.util.Date;
017
018 import javax.wvcm.WvcmException;
019
020 /**
021 * Interface to permit applications to deal gracefully with
022 * FileAreaLockedExceptions. Applies to web views only - not dynamic or
023 * snapshot views.
024 */
025 public interface CcFileAreaLockedCallback {
026
027 /**
028 * Information about a file area lock.
029 */
030 public interface CcFileAreaLockInfo {
031
032 /**
033 * Get the date object was locked.
034 * @return Date the lock was applied.
035 */
036 public Date getCreationDate();
037
038 /**
039 * Get the hostname of the user who set the lock.
040 * @return String the hostname
041 */
042 public String getHostName();
043
044 /**
045 * Get the locked view.
046 * @return the locked view
047 */
048 public CcView getView();
049 }
050
051 /**
052 * Notify the client about the occurrence of a
053 * CopyAreaLockedException. The client may decide
054 * to break the lock. If so it should break the lock
055 * using the {@link CcView#breakFileAreaLock} method.
056 *
057 * @param lockInfo Details about the lock.
058 * @return True if the lock was broken,
059 * otherwise false.
060 */
061 public boolean handleLockedFileArea(CcFileAreaLockInfo lockInfo)
062 throws WvcmException;
063 }