Add a MassMail Batch Program
[aaf/authz.git] / auth / auth-oauth / src / main / java / org / onap / aaf / auth / oauth / mapper / Mapper.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.oauth.mapper;
23
24 import javax.servlet.http.HttpServletRequest;
25
26 import org.onap.aaf.auth.dao.cass.OAuthTokenDAO;
27 import org.onap.aaf.auth.layer.Result;
28 import org.onap.aaf.auth.oauth.service.OCreds;
29 import org.onap.aaf.auth.oauth.service.OAuthService.GRANT_TYPE;
30 import org.onap.aaf.cadi.util.Holder;
31 import org.onap.aaf.cadi.oauth.OAuth2Principal;
32
33 public interface Mapper<TOKEN_REQ,TOKEN,INTROSPECT,ERROR> extends MapperIntrospect<INTROSPECT>
34 {
35     public enum API{TOKEN_REQ, TOKEN,INTROSPECT, ERROR,VOID};
36
37     public Class<?> getClass(API api);
38     public<A> A newInstance(API api);
39
40     public ERROR errorFromMessage(StringBuilder holder, String msgID, String text, Object ... detail);
41     public TOKEN_REQ tokenReqFromParams(HttpServletRequest req);
42     public OCreds credsFromReq(TOKEN_REQ tokReq);
43
44     public OAuthTokenDAO.Data clientTokenReq(TOKEN_REQ tokReq, Holder<GRANT_TYPE> hgt);
45     public Result<TOKEN> tokenFromData(Result<OAuthTokenDAO.Data> rs);
46     public INTROSPECT fromPrincipal(OAuth2Principal p);
47 }