[POLICY-22] Reorganizing drools-apps
[policy/drools-applications.git] / controlloop / common / guard / src / main / java / org / onap / policy / guard / impl / PNFTargetLock.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * guard
4  * ================================================================================
5  * Copyright (C) 2017 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 package org.onap.policy.guard.impl;
22
23 import java.io.Serializable;
24 import java.util.UUID;
25
26 import org.onap.policy.controlloop.policy.TargetType;
27 import org.onap.policy.guard.LockCallback;
28 import org.onap.policy.guard.TargetLock;
29
30 public class PNFTargetLock implements TargetLock, Serializable {
31
32         /**
33          * 
34          */
35         private static final long serialVersionUID = 2335897394577202732L;
36         
37         private final UUID              lockID;
38         private final TargetType        targetType;
39         private final String    target;
40         private final UUID              requestID;
41         private final LockCallback callback;
42
43         public PNFTargetLock (TargetType type, String target, UUID requestID, LockCallback callback) {
44                 this.lockID = UUID.randomUUID();
45                 this.targetType = type;
46                 this.target = target;
47                 this.requestID = requestID;
48                 this.callback = callback;
49         }
50
51         @Override
52         public UUID             getLockID() {
53                 return this.lockID;
54         }
55         
56         
57         @Override
58         public TargetType getTargetType() {
59                 return targetType;
60         }
61
62         @Override
63         public String getTargetInstance() {
64                 return target;
65         }
66
67         @Override
68         public UUID getRequestID() {
69                 return this.requestID;
70         }
71
72         public LockCallback getCallback() {
73                 return this.callback;
74         }
75
76         @Override
77         public String toString() {
78                 return "PNFTargetLock [lockID=" + lockID + ", targetType=" + targetType + ", target=" + target + ", requestID="
79                                 + requestID + "]";
80         }
81
82         
83
84 }