@Override public Set<Resource.ResourceEntry> getChildren(String childType) { if (!hasChildren(childType)) { return Collections.emptySet(); } else { Set<Resource.ResourceEntry> result = new HashSet<Resource.ResourceEntry>(); for (String name : getChildrenNames()) { result.add(getChildEntry(name)); } return result; } }
@Override public boolean hasChildren(String childType) { return getChildTypes().contains(childType); }
@Override public Set<String> getChildrenNames(String childType) { if (hasChildren(childType)) { return getChildrenNames(); } else { return Collections.emptySet(); } }
@Override public Resource getChild(PathElement element) { if (hasChildren(element.getKey())) { return getChildEntry(element.getValue()); } return null; }
@Override public Resource navigate(PathAddress address) { if (address.size() == 0) { return this; } else { Resource child = requireChild(address.getElement(0)); return address.size() == 1 ? child : child.navigate(address.subAddress(1)); } }
@Override public Resource requireChild(PathElement address) { final Resource resource = getChild(address); if (resource == null) { throw new NoSuchResourceException(address); } return resource; }
@Override public boolean hasChild(PathElement element) { return getChildrenNames(element.getKey()).contains(element.getValue()); }
@Override public Set<String> getChildrenNames(String childType) { if (hasChildren(childType)) { return getChildrenNames(); } else { return Collections.emptySet(); } }
@Override public Resource getChild(PathElement element) { if (hasChildren(element.getKey())) { return getChildEntry(element.getValue()); } return null; }
@Override public Resource navigate(PathAddress address) { if (address.size() == 0) { return this; } else { Resource child = requireChild(address.getElement(0)); return address.size() == 1 ? child : child.navigate(address.subAddress(1)); } }
@Override public Resource requireChild(PathElement address) { final Resource resource = getChild(address); if (resource == null) { throw new NoSuchResourceException(address); } return resource; }
@Override public boolean hasChild(PathElement element) { return getChildrenNames(element.getKey()).contains(element.getValue()); }
@Override public Set<Resource.ResourceEntry> getChildren(String childType) { if (!hasChildren(childType)) { return Collections.emptySet(); } else { Set<Resource.ResourceEntry> result = new LinkedHashSet<ResourceEntry>(); for (String name : getChildrenNames()) { result.add(getChildEntry(name)); } return result; } }
@Override public Set<String> getChildrenNames(String childType) { if (hasChildren(childType)) { return getChildrenNames(); } else { return Collections.emptySet(); } }
@Override public Resource getChild(PathElement element) { if (hasChildren(element.getKey())) { return getChildEntry(element.getValue()); } return null; }
@Override public boolean hasChildren(String childType) { return getChildTypes().contains(childType); }
@Override public Resource navigate(PathAddress address) { if (address.size() == 0) { return this; } else { Resource child = requireChild(address.getElement(0)); return address.size() == 1 ? child : child.navigate(address.subAddress(1)); } }
@Override public Resource requireChild(PathElement address) { final Resource resource = getChild(address); if (resource == null) { throw new NoSuchResourceException(address); } return resource; }
@Override public boolean hasChild(PathElement element) { return getChildrenNames(element.getKey()).contains(element.getValue()); }
@Override public Set<Resource.ResourceEntry> getChildren(String childType) { if (!hasChildren(childType)) { return Collections.emptySet(); } else { Set<Resource.ResourceEntry> result = new LinkedHashSet<ResourceEntry>(); for (String name : getChildrenNames()) { result.add(getChildEntry(name)); } return result; } }