package com.dozuki.ifixit.model.topic; import java.io.Serializable; import java.util.ArrayList; public class TopicNode implements Serializable { private static final long serialVersionUID = 1L; protected static final String ROOT_NAME = "ROOT"; private String mName; private String mDisplayName; private ArrayList<TopicNode> mChildren; public TopicNode() { this(ROOT_NAME); } public TopicNode(String name) { mName = name; mDisplayName = name; } public String getName() { return mName; } public String getDisplayName() { return mDisplayName; } public void setDisplayName(String displayName) { mDisplayName = displayName; } public ArrayList<TopicNode> getChildren() { return mChildren; } public void setChildren(ArrayList<TopicNode> children) { mChildren = children; } public boolean isLeaf() { return mChildren == null; } public boolean isRoot() { return mName.equals(ROOT_NAME); } public boolean equals(Object other) { return other instanceof TopicNode && ((TopicNode)other).getName().equals(mName); } public static boolean isRootName(String name) { return ROOT_NAME.equals(name); } }