/* $Id: $ ***************************************************************************** * Copyright (c) 2009 Contributors - see below * All rights reserved. This program and the accompanying materials * are 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: * Bob Tarling ***************************************************************************** */ package org.argouml.core.propertypanels.model; import java.util.Collection; import java.util.Collections; import java.util.LinkedList; import java.util.List; public class PanelData { private final Class<?> clazz; private final List<ControlData> properties; private final String name; private final Collection<Class<?>> newChildElements; private final Collection<Class<?>> newSiblingElements; private final boolean siblingNavigation; public PanelData( final Class<?> clazz, final String name, final Collection<Class<?>> newChildElements, final Collection<Class<?>> newSiblingElements, final boolean siblingNavigation) { this.clazz = clazz; this.name = name; properties = new LinkedList<ControlData>(); this.newChildElements = newChildElements; this.newSiblingElements = newSiblingElements; this.siblingNavigation = siblingNavigation; } public boolean isSiblingNavigation() { return siblingNavigation; } public void addControlData(ControlData record) { properties.add(record); } public Class<?> getClazz() { return clazz; } public String getName() { return name; } public List<ControlData> getProperties () { return Collections.unmodifiableList(properties); } public Collection<Class<?>> getNewChildElements() { return newChildElements; } public Collection<Class<?>> getNewSiblingElements() { return newSiblingElements; } }