blob: 8d1e78d09ae7a45f421c2f68d25be7c09537e6dd [file] [log] [blame]
/*
* Copyright 2005 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.jackrabbit.webdav.lock;
import org.apache.jackrabbit.webdav.xml.XmlSerializable;
/**
* <code>ActiveLock</code> encapsulates the lock information for a
* {@link org.apache.jackrabbit.webdav.DavResource}.
*/
public interface ActiveLock extends XmlSerializable {
/**
* Return true, if the given token matches the lock token present in this
* lock thus indicating that any lock relevant operation should not fail
* due to a lock.
*
* @param lockToken to be checked
* @return true if the given lock token matches.
*/
public boolean isLockedByToken(String lockToken);
/**
* Returns true, if this lock is already expired.
*
* @return true if the lock is expired
*/
public boolean isExpired();
/**
* Return the lock token.
*
* @return token string representing the lock token.
*/
public String getToken();
/**
* Return the name (or id) of the lock owner.
*
* @return name (or id) of the lock owner.
*/
public String getOwner();
/**
* Set the name (or id) of the lock owner
*
* @param owner
*/
public void setOwner(String owner);
/**
* Return the number of milliseconds the lock will live until it is expired
* or -1 if the timeout is not available (or the client is not allowed
* to retrieve it).
*
* @return
*/
public long getTimeout();
/**
* Defines the number of milliseconds until the timeout is reached.
*
* @param timeout
*/
public void setTimeout(long timeout);
/**
* Return true if the lock is deep.
*
* @return true if the lock is deep.
*/
public boolean isDeep();
/**
* Set the lock deepness.
*
* @param isDeep
*/
public void setIsDeep(boolean isDeep);
/**
* Return the type of this lock.
*
* @return type
*/
public Type getType();
/**
* Return the scope of this lock.
*
* @return scope
*/
public Scope getScope();
}