BaseTree.java 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. package com.genersoft.iot.vmp.vmanager.bean;
  2. import org.jetbrains.annotations.NotNull;
  3. import java.text.Collator;
  4. import java.util.Comparator;
  5. /**
  6. * @author lin
  7. */
  8. public class BaseTree<T> implements Comparable<BaseTree>{
  9. private String id;
  10. private String deviceId;
  11. private String pid;
  12. private String name;
  13. private boolean parent;
  14. private T basicData;
  15. public String getId() {
  16. return id;
  17. }
  18. public void setId(String id) {
  19. this.id = id;
  20. }
  21. public String getDeviceId() {
  22. return deviceId;
  23. }
  24. public void setDeviceId(String deviceId) {
  25. this.deviceId = deviceId;
  26. }
  27. public String getPid() {
  28. return pid;
  29. }
  30. public void setPid(String pid) {
  31. this.pid = pid;
  32. }
  33. public String getName() {
  34. return name;
  35. }
  36. public void setName(String name) {
  37. this.name = name;
  38. }
  39. public T getBasicData() {
  40. return basicData;
  41. }
  42. public void setBasicData(T basicData) {
  43. this.basicData = basicData;
  44. }
  45. public boolean isParent() {
  46. return parent;
  47. }
  48. public void setParent(boolean parent) {
  49. this.parent = parent;
  50. }
  51. @Override
  52. public int compareTo(@NotNull BaseTree treeNode) {
  53. if (this.parent || treeNode.isParent()) {
  54. if (!this.parent && !treeNode.isParent()) {
  55. Comparator cmp = Collator.getInstance(java.util.Locale.CHINA);
  56. return cmp.compare(treeNode.getName(), this.getName());
  57. }else {
  58. if (this.isParent()) {
  59. return 1;
  60. }else {
  61. return -1;
  62. }
  63. }
  64. }else{
  65. Comparator cmp = Collator.getInstance(java.util.Locale.CHINA);
  66. return cmp.compare(treeNode.getName(), this.getName());
  67. }
  68. }
  69. }