Change nexus values to properties
[appc.git] / appc-common / src / main / java / org / openecomp / appc / pool / Allocator.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  * This interface is used to supply an object that will be called by the pool manager whenever a new widget must be
30  * allocated.
31  * @param <T>
32  *            The generic type that we are caching.
33  */
34
35 public interface Allocator<T extends Closeable> {
36
37     /**
38      * Allocate an object of type <T> and return it to the pool
39      *
40      * @param pool
41      *            The pool that the object is to be allocated to
42      * @return An object of type T
43      */
44     T allocate(Pool<T> pool);
45 }