org.apache.jackrabbit.webdav.lock.ActiveLock Maven / Gradle / Ivy
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You 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;
/**
* ActiveLock
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 number of milliseconds.
*/
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);
/**
* Returns the lockroot.
*
* @return lockroot
* @see RFC 4918
*/
public String getLockroot();
/**
* Set the lockroot.
*
* @param lockroot
* @see RFC 4918
*/
public void setLockroot(String lockroot);
/**
* Return the type of this lock.
*
* @return type
*/
public Type getType();
/**
* Return the scope of this lock.
*
* @return scope
*/
public Scope getScope();
}