[POLICY-22] Reorganizing drools-apps
[policy/drools-applications.git] / controlloop / common / policy-yaml / src / main / java / org / onap / policy / controlloop / policy / Target.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * policy-yaml
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.controlloop.policy;
22
23 import java.io.Serializable;
24
25 public class Target implements Serializable {
26
27         /**
28          * 
29          */
30         private static final long serialVersionUID = 2180988443264988319L;
31          
32         public String resourceID;
33         public TargetType type;
34
35         public Target() {
36                 
37         }
38         
39         public Target(TargetType type) {
40                 this.type = type;
41         }
42         
43         public Target(String resourceID) {
44                 this.resourceID = resourceID;
45         }
46         
47         public Target(TargetType type, String resourceID) {
48                 this.type = type;
49                 this.resourceID = resourceID;
50         }
51         
52         public Target(Target target) {
53                 this.type = target.type;
54                 this.resourceID = target.resourceID;
55         }
56         
57         @Override
58         public String toString() {
59                 return "Target [type=" + type + ", resourceID=" + resourceID + "]";
60         }
61         
62         @Override
63         public int hashCode() {
64                 final int prime = 31;
65                 int result = 1;
66                 result = prime * result + ((type == null) ? 0 : type.hashCode());
67                 result = prime * result + ((resourceID == null) ? 0 : resourceID.hashCode());
68                 return result;
69         }
70         @Override
71         public boolean equals(Object obj) {
72                 if (this == obj)
73                         return true;
74                 if (obj == null)
75                         return false;
76                 if (getClass() != obj.getClass())
77                         return false;
78                 Target other = (Target) obj;
79                 if (type == null) {
80                         if (other.type != null)
81                                 return false;
82                 } else if (!type.equals(other.type))
83                         return false;
84                 if (resourceID == null) {
85                         if (other.resourceID != null)
86                                 return false;
87                 } else if (!resourceID.equals(other.resourceID))
88                         return false;
89                 return true;
90         }
91 }