/******************************************************************************* * Copyright (c) 2008, 2010 Spring IDE Developers * 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: * Spring IDE Developers - initial API and implementation *******************************************************************************/ package org.springframework.ide.eclipse.beans.ui.model.metadata; import org.springframework.ide.eclipse.beans.core.metadata.model.IBeanMetadata; import org.springframework.ide.eclipse.beans.core.model.IBeansProject; /** * Extension interface to provide elements to the Spring and Project Explorer * based on {@link IBeanMetadata}. * @author Christian Dupuis * @since 2.0.5 */ public interface IBeanMetadataContentProvider { /** * Returns <code>true</code> if the <code>object</code> is supported by * this implementation. */ boolean supports(Object object); /** * Returns <code>true</code> if the <code>element</code> has children to * be displayed. */ boolean hasChildren(Object element); /** * Returns the children of the <code>element</code>. */ Object[] getChildren(Object element); /** * Returns the root node of the bean meta data extension. */ BeanMetadataReference getBeanMetadataReference(IBeanMetadata metadata, IBeansProject project); }