ttomcat-1778514358873.zip-extract/apache-tomcat-11.0.18-src/java/org/apache/catalina/WebResourceLockSet.java

Path
ttomcat-1778514358873.zip-extract/apache-tomcat-11.0.18-src/java/org/apache/catalina/WebResourceLockSet.java
Status
scanned
Type
file
Name
WebResourceLockSet.java
Extension
.java
Programming language
Java
Mime type
text/plain
File type
ASCII text, with CRLF line terminators
Tag

      
    
Rootfs path

      
    
Size
4142 (4.0 KB)
MD5
0b64c0664ddaab224c11a7d2af7d48fe
SHA1
9b2ab75ca827116743acaf10f7f9cb3100ccc04f
SHA256
02ae254af3a5b4797ddb74369bceb8fbaafacb53f2379fec712ffa5660ce786c
SHA512

      
    
SHA1_git
c915d1f1995797c80ee5683af1ba71f1d795c54c
Is binary

      
    
Is text
True
Is archive

      
    
Is media

      
    
Is legal

      
    
Is manifest

      
    
Is readme

      
    
Is top level

      
    
Is key file

      
    
WebResourceLockSet.java | 4.0 KB |

/* * 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.catalina; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.locks.ReadWriteLock; import java.util.concurrent.locks.ReentrantReadWriteLock; /** * Interface implemented by {@link WebResourceSet} implementations that wish to provide locking functionality. */ public interface WebResourceLockSet { /** * Obtain a reentrant read/write lock for the resource at the provided path. The resource is not required to exist. * Multiple calls to this method with the same path will return the same lock provided that at least one instance of * the lock remains in use between the calls. * * @param path The path for which the lock should be obtained * * @return A reentrant read/write lock for the given resource. */ ReadWriteLock getLock(String path); /** * Lock the resource at the provided path for reading. The resource is not required to exist. Read locks are not * exclusive. * * @param path The path to the resource to be locked for reading * * @return The {@link ResourceLock} that must be passed to {@link #unlockForRead(ResourceLock)} to release the lock * * @deprecated Unused. Will be removed in Tomcat 12 onwards. Use {@code #getLock(String)} instead. */ @Deprecated ResourceLock lockForRead(String path); /** * Release a read lock from the resource associated with the given {@link ResourceLock}. * * @param resourceLock The {@link ResourceLock} associated with the resource for which a read lock should be * released * * @deprecated Unused. Will be removed in Tomcat 12 onwards. Use {@code #getLock(String)} instead. */ @Deprecated void unlockForRead(ResourceLock resourceLock); /** * Lock the resource at the provided path for writing. The resource is not required to exist. Write locks are * exclusive. * * @param path The path to the resource to be locked for writing * * @return The {@link ResourceLock} that must be passed to {@link #unlockForWrite(ResourceLock)} to release the lock * * @deprecated Unused. Will be removed in Tomcat 12 onwards. Use {@code #getLock(String)} instead. */ @Deprecated ResourceLock lockForWrite(String path); /** * Release the write lock from the resource associated with the given {@link ResourceLock}. * * @param resourceLock The {@link ResourceLock} associated with the resource for which the write lock should be * released * * @deprecated Unused. Will be removed in Tomcat 12 onwards. Use {@code #getLock(String)} instead. */ @Deprecated void unlockForWrite(ResourceLock resourceLock); /** * Represents a lock on a resource. * * @deprecated Unused. Will be removed in Tomcat 12 onwards. */ @Deprecated class ResourceLock { public final AtomicInteger count = new AtomicInteger(0); public final ReentrantReadWriteLock reentrantLock = new ReentrantReadWriteLock(); public final String key; public ResourceLock(String key) { this.key = key; } } }
Detected license expression
apache-2.0
Detected license expression (SPDX)
Apache-2.0
Percentage of license text
23.9
Copyrights

      
    
Holders

      
    
Authors

      
    
License detections License expression License expression SPDX
apache_2_0-4bde3f57-78aa-4201-96bf-531cba09e7de apache-2.0 Apache-2.0
URL Start line End line
http://www.apache.org/licenses/LICENSE-2.0 9 9