ca4277e112652ff8a39e48558cf18bcf4c3d5bdd
[aaf/authz.git] / auth / auth-cass / src / main / java / org / onap / aaf / auth / dao / DAO_RO.java
1 /**
2  * ============LICENSE_START====================================================
3  * org.onap.aaf
4  * ===========================================================================
5  * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
6  * ===========================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END====================================================
19  *
20  */
21
22 package org.onap.aaf.auth.dao;
23
24 import java.util.List;
25
26 import org.onap.aaf.auth.layer.Result;
27 import org.onap.aaf.misc.env.Trans;
28
29 /**
30  * DataAccessObject - ReadOnly
31  * 
32  * It is useful to have a ReadOnly part of the interface for CachedDAO
33  * 
34  * Normal DAOs will implement full DAO
35  * 
36  * @author Jonathan
37  *
38  * @param <DATA>
39  */
40 public interface DAO_RO<TRANS extends Trans,DATA> {
41     /**
42      * Get a List of Data given Key of Object Array
43      * @param objs
44      * @return
45      * @throws DAOException
46      */
47     public Result<List<DATA>> read(TRANS trans, Object ... key);
48
49     /**
50      * Get a List of Data given Key of DATA Object
51      * @param trans
52      * @param key
53      * @return
54      * @throws DAOException
55      */
56     public Result<List<DATA>> read(TRANS trans, DATA key);
57
58     /**
59      * close DAO
60      */
61     public void close(TRANS trans);
62
63     /**
64      * Return name of referenced Data
65      * @return
66      */
67     public String table();
68
69
70 }