Initial OpenECOMP APPC commit
[appc.git] / app-c / appc / appc-common / src / main / java / org / openecomp / appc / pool / Destructor.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * openECOMP : APP-C
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights
6  *                                              reserved.
7  * ================================================================================
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  * 
12  *      http://www.apache.org/licenses/LICENSE-2.0
13  * 
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  * ============LICENSE_END=========================================================
20  */
21
22
23
24 package org.openecomp.appc.pool;
25
26 import java.io.Closeable;
27
28 /**
29  * @param <T>
30  *            The generic type we are caching
31  */
32
33 public interface Destructor<T extends Closeable> {
34
35     /**
36      * Called to destroy the object when it is no longer being used by the pool
37      *
38      * @param obj
39      *            The object to be destroyed
40      * @param pool
41      *            The pool that the object is being removed from
42      */
43     void destroy(T obj, Pool<T> pool);
44 }