package de.ivu.elect.presentation.gebietsbaum;

import de.ivu.elect.business.gebietsbaum.entity.GebietPK;
import org.primefaces.model.DefaultTreeNode;
import org.primefaces.model.TreeNode;

import java.util.List;

public class GebietSortierenTreeNode extends DefaultTreeNode {

  public GebietSortierenTreeNode() {
    setChildren(new GebietSortierenTreeNodeChildren(this));
  }

  public GebietSortierenTreeNode(GebietSortierenData data, TreeNode parent) {
    super(data, parent);
    setChildren(new GebietSortierenTreeNodeChildren(this));
  }

  @Override
  public GebietSortierenData getData() {
    Object result = super.getData();
    if (result == null) {
      return null;
    }
    return (GebietSortierenData) result;
  }

  public GebietPK getGebietPk() {
    if (getData() == null) {
      return null;
    }
    return getData().getGebietPK();
  }

  public boolean isPkPresent() {
    return getGebietPk() != null;
  }

  public List<GebietSortierenTreeNode> getChildrenNodes() {
    List result = super.getChildren();
    return result;
  }

  @Override
  public String toString() {
    return "" + getData();
  }
}
