blob: d8d0fbb1a5b5027adfcc5542c9a96f263b6f6040 [file] [log] [blame]
Stuart McCulloch26e7a5a2011-10-17 10:31:43 +00001package aQute.lib.deployer.obr;
2
3public class Require {
4
5 private final String name;
6 private final String filter;
7 private final boolean optional;
8
9 public Require(String name, String filter, boolean optional) {
10 this.name = name;
11 this.filter = filter;
12 this.optional = optional;
13 }
14
15 public String getName() {
16 return name;
17 }
18
19 public String getFilter() {
20 return filter;
21 }
22
23 public boolean isOptional() {
24 return optional;
25 }
26
27 @Override
28 public String toString() {
29 StringBuilder builder = new StringBuilder();
30 builder.append("Require [");
31 if (name != null)
32 builder.append("name=").append(name).append(", ");
33 if (filter != null)
34 builder.append("filter=").append(filter).append(", ");
35 builder.append("optional=").append(optional).append("]");
36 return builder.toString();
37 }
38
39 @Override
40 public int hashCode() {
41 final int prime = 31;
42 int result = 1;
43 result = prime * result + ((filter == null) ? 0 : filter.hashCode());
44 result = prime * result + ((name == null) ? 0 : name.hashCode());
45 result = prime * result + (optional ? 1231 : 1237);
46 return result;
47 }
48
49 @Override
50 public boolean equals(Object obj) {
51 if (this == obj)
52 return true;
53 if (obj == null)
54 return false;
55 if (getClass() != obj.getClass())
56 return false;
57 Require other = (Require) obj;
58 if (filter == null) {
59 if (other.filter != null)
60 return false;
61 } else if (!filter.equals(other.filter))
62 return false;
63 if (name == null) {
64 if (other.name != null)
65 return false;
66 } else if (!name.equals(other.name))
67 return false;
68 if (optional != other.optional)
69 return false;
70 return true;
71 }
72
73}