Sat, 17 Oct 2020 19:56:50 +0200
completes feature: project components
1 /*
2 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
3 *
4 * Copyright 2020 Mike Becker. All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions are met:
8 *
9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 *
12 * 2. Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
20 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26 * POSSIBILITY OF SUCH DAMAGE.
27 *
28 */
29 package de.uapcore.lightpit.entities;
31 import de.uapcore.lightpit.types.WebColor;
33 import java.util.Objects;
35 public final class Component {
37 private final int id;
39 private String name;
41 private String node;
43 private WebColor color = new WebColor("000000");
45 private int ordinal = 0;
47 private String description = null;
49 private User lead = null;
51 /**
52 * Sole constructor.
53 * @param id the ID of the component
54 */
55 public Component(int id) {
56 this.id = id;
57 }
59 public int getId() {
60 return id;
61 }
63 public String getName() {
64 return name;
65 }
67 public void setName(String name) {
68 this.name = name;
69 }
71 public String getNode() {
72 return node == null ? String.valueOf(id) : node;
73 }
75 public void setNode(String node) {
76 this.node = node;
77 }
79 public WebColor getColor() {
80 return color;
81 }
83 public void setColor(WebColor color) {
84 this.color = color;
85 }
87 public int getOrdinal() {
88 return ordinal;
89 }
91 public void setOrdinal(int ordinal) {
92 this.ordinal = ordinal;
93 }
95 public String getDescription() {
96 return description;
97 }
99 public void setDescription(String description) {
100 this.description = description;
101 }
103 public User getLead() {
104 return lead;
105 }
107 public void setLead(User lead) {
108 this.lead = lead;
109 }
111 @Override
112 public boolean equals(Object o) {
113 if (this == o) return true;
114 if (o == null || getClass() != o.getClass()) return false;
115 Component component = (Component) o;
116 return id == component.id;
117 }
119 @Override
120 public int hashCode() {
121 return Objects.hash(id);
122 }
123 }