package com.airlock.iam.plugin.configeditor.data;

import com.airlock.iam.plugin.configeditor.data.tree.TreeItem;
import java.util.Objects;
import org.apache.commons.lang3.builder.HashCodeBuilder;

public class TreeLabel {
   private final String text;
   private final TreeItem<?> parentIdentifier;

   public TreeLabel(String text, TreeItem<?> parentIdentifier) {
      this.text = text;
      this.parentIdentifier = parentIdentifier;
   }

   @Override
   public boolean equals(Object obj) {
      return !(obj instanceof TreeLabel lti)
         ? false
         : Objects.equals(this.text, lti.text) && Objects.equals(this.parentIdentifier.getTreeItemIdentifier(), lti.parentIdentifier.getTreeItemIdentifier());
   }

   @Override
   public int hashCode() {
      return new HashCodeBuilder().append(this.text).append(this.parentIdentifier).toHashCode();
   }

   @Override
   public String toString() {
      return this.text;
   }
}
