/******************************************************************************* * Copyright (c) 2011 Red Hat, Inc. * Distributed under license by Red Hat, Inc. All rights reserved. * This program is made available under the terms of the * Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Red Hat, Inc. - initial API and implementation ******************************************************************************/ package org.jboss.tools.openshift.express.internal.ui.propertytable; import java.util.ArrayList; import java.util.List; public class ContainerElement implements IProperty { private final String property; private final List<Object> children; private final ContainerElement parent; public ContainerElement(String property) { this(property, null); } public ContainerElement(String property, ContainerElement parent) { this.property = property; this.children = new ArrayList<>(); this.parent = parent; } public final String getProperty() { return property; } public final void add(StringElement child) { children.add(child); } public final void add(ContainerElement child) { children.add(child); } @Override public final Object[] getChildren() { return children.toArray(); } @Override public boolean hasChildren() { return !children.isEmpty(); } @Override public final ContainerElement getParent() { return parent; } @Override public boolean isLink() { return false; } @Override public String getName() { return property; } @Override public String getValue() { return null; } }