Increase sonar coverage for LifecycleManagement
[appc.git] / appc-lifecycle-management / state-machine-lib / src / main / java / org / openecomp / appc / statemachine / objects / State.java
index 8dc8c3c..20d3c59 100644 (file)
@@ -27,42 +27,46 @@ package org.openecomp.appc.statemachine.objects;
 import java.util.ArrayList;
 import java.util.List;
 
-public class State{
-    private String stateName;
-    private List<Transition> transitions;
-
-    private State(){
-        // do nothing
-    }
+/**
+ * State Object
+ */
+public class State {
+    private final String stateName;
+    private final int hashCode;
+    private final List<Transition> transitions;
 
-    public State(String state){
-        this();
-        this.stateName = state;
+    /**
+     * Constructor
+     * @param stateName String of the state name
+     */
+    public State(String stateName) {
+        this.stateName = stateName;
+        this.hashCode = stateName.toLowerCase().hashCode();
         this.transitions = new ArrayList<>();
     }
 
     @Override
-    public int hashCode(){
-        return this.stateName.hashCode();
+    public int hashCode() {
+        return hashCode;
     }
 
     @Override
-    public boolean equals(Object obj){
-        if(obj == null){
+    public boolean equals(Object obj) {
+        if (obj == null) {
             return false;
         }
-        if(!(obj instanceof State)){
+        if (!(obj instanceof State)) {
             return false;
         }
         State state = (State)obj;
         return this.stateName.equalsIgnoreCase(state.getStateName());
     }
 
-    public String getStateName(){
+    public String getStateName() {
         return stateName;
     }
 
-    void addTransition(Transition transition){
+    void addTransition(Transition transition) {
         this.transitions.add(transition);
     }
 
@@ -71,7 +75,7 @@ public class State{
     }
 
     @Override
-    public String toString(){
+    public String toString() {
         return this.stateName;
     }
 }