Changed WANavigation to be modifiable

This commit is contained in:
Ziver Koc 2015-04-22 15:33:08 +00:00
parent ea9ed51910
commit 846ed78252
8 changed files with 124 additions and 14 deletions

View file

@ -30,19 +30,46 @@ import java.util.List;
* Created by Ziver on 2015-04-02.
*/
public class WANavigation {
private static WANavigation rootNav;
private String name;
private List<WANavigation> sub_nav;
private ArrayList<WANavigation> subNavs;
public WANavigation(String name) {
this.name = name;
this.subNavs = new ArrayList<>();
}
public WANavigation(String name, WANavigation[] sub_nav) {
this.name = name;
this.sub_nav = Arrays.asList(sub_nav);
this(name);
this.subNavs.addAll(Arrays.asList(sub_nav));
}
public Object getSubNav() {
return sub_nav;
public void addSubNav(WANavigation subNav) {
this.subNavs.add(subNav);
}
public List<WANavigation> getSubNav() {
return subNavs;
}
public Object getSubNav(String name) {
int index = subNavs.indexOf(name);
if(index >= 0)
return subNavs.get(index);
return null;
}
public boolean equals(Object o){
if(o instanceof String)
return this.name.equals(o);
return this == o ||
(o != null && this.name.equals(((WANavigation)o).name));
}
public static WANavigation getRootNav(){
if(rootNav == null)
rootNav = new WANavigation("root_nav");
return rootNav;
}
}