[AAF-21] Updated Copyright Headers for AAF
[aaf/authz.git] / authz-certman / src / main / java / com / att / authz / cm / facade / Facade.java
1 /*******************************************************************************\r
2  * ============LICENSE_START====================================================\r
3  * * org.onap.aaf\r
4  * * ===========================================================================\r
5  * * Copyright © 2017 AT&T Intellectual Property. All rights reserved.\r
6  * * ===========================================================================\r
7  * * Licensed under the Apache License, Version 2.0 (the "License");\r
8  * * you may not use this file except in compliance with the License.\r
9  * * You may obtain a copy of the License at\r
10  * * \r
11  *  *      http://www.apache.org/licenses/LICENSE-2.0\r
12  * * \r
13  *  * Unless required by applicable law or agreed to in writing, software\r
14  * * distributed under the License is distributed on an "AS IS" BASIS,\r
15  * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
16  * * See the License for the specific language governing permissions and\r
17  * * limitations under the License.\r
18  * * ============LICENSE_END====================================================\r
19  * *\r
20  * * ECOMP is a trademark and service mark of AT&T Intellectual Property.\r
21  * *\r
22  ******************************************************************************/\r
23 package com.att.authz.cm.facade;\r
24 \r
25 import java.io.IOException;\r
26 \r
27 import javax.servlet.http.HttpServletRequest;\r
28 import javax.servlet.http.HttpServletResponse;\r
29 \r
30 import com.att.authz.cm.mapper.Mapper;\r
31 import com.att.authz.env.AuthzTrans;\r
32 import com.att.authz.layer.Result;\r
33 \r
34 \r
35 /**\r
36  *   \r
37  *\r
38  */\r
39 public interface Facade<REQ,CERT,ARTIFACTS,ERROR> {\r
40 \r
41 /////////////////////  STANDARD ELEMENTS //////////////////\r
42         /** \r
43          * @param trans\r
44          * @param response\r
45          * @param result\r
46          */\r
47         void error(AuthzTrans trans, HttpServletResponse response, Result<?> result);\r
48 \r
49         /**\r
50          * \r
51          * @param trans\r
52          * @param response\r
53          * @param status\r
54          */\r
55         void error(AuthzTrans trans, HttpServletResponse response, int status,  String msg, String ... detail);\r
56 \r
57         /**\r
58          * Permission checker\r
59          *\r
60          * @param trans\r
61          * @param resp\r
62          * @param perm\r
63          * @return\r
64          * @throws IOException \r
65          */\r
66         Result<Void> check(AuthzTrans trans, HttpServletResponse resp, String perm) throws IOException;\r
67 \r
68         /**\r
69          * \r
70          * @return\r
71          */\r
72         public Mapper<REQ,CERT,ARTIFACTS,ERROR> mapper();\r
73 \r
74 /////////////////////  STANDARD ELEMENTS //////////////////\r
75         \r
76         /**\r
77          * \r
78          * @param trans\r
79          * @param resp\r
80          * @param rservlet\r
81          * @return\r
82          */\r
83         public abstract Result<Void> requestCert(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp, boolean withTrust);\r
84 \r
85         /**\r
86          * \r
87          * @param trans\r
88          * @param req\r
89          * @param resp\r
90          * @return\r
91          */\r
92         public abstract Result<Void> renewCert(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp, boolean withTrust);\r
93 \r
94         /**\r
95          * \r
96          * @param trans\r
97          * @param req\r
98          * @param resp\r
99          * @return\r
100          */\r
101         public abstract Result<Void> dropCert(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp);\r
102 \r
103         /**\r
104          * \r
105          * @param trans\r
106          * @param req\r
107          * @param resp\r
108          * @return\r
109          */\r
110         Result<Void> createArtifacts(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp);\r
111         \r
112         /**\r
113          * \r
114          * @param trans\r
115          * @param req\r
116          * @param resp\r
117          * @return\r
118          */\r
119         Result<Void> readArtifacts(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp);\r
120 \r
121         /**\r
122          * \r
123          * @param trans\r
124          * @param resp\r
125          * @param mechid\r
126          * @param machine\r
127          * @return\r
128          */\r
129         Result<Void> readArtifacts(AuthzTrans trans, HttpServletResponse resp, String mechid, String machine);\r
130 \r
131         /**\r
132          * \r
133          * @param trans\r
134          * @param req\r
135          * @param resp\r
136          * @return\r
137          */\r
138         Result<Void> updateArtifacts(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp);\r
139         \r
140         /**\r
141          * \r
142          * @param trans\r
143          * @param req\r
144          * @param resp\r
145          * @return\r
146          */\r
147         Result<Void> deleteArtifacts(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp);\r
148 \r
149         /**\r
150          * \r
151          * @param trans\r
152          * @param resp\r
153          * @param mechid\r
154          * @param machine\r
155          * @return\r
156          */\r
157         Result<Void> deleteArtifacts(AuthzTrans trans, HttpServletResponse resp, String mechid, String machine);\r
158 \r
159 \r
160 \r
161 }\r