/******************************************************************************* * Copyright (c) 2004, 2011 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.core.model; import java.util.Set; import org.eclipse.core.resources.IFile; import org.springframework.ide.eclipse.core.model.IResourceModelElement; /** * This interface provides information for a Spring beans config set (a list of * {@link IBeansConfig}s). * @author Torsten Juergeleit * @author Dave Watkins * @author Christian Dupuis */ public interface IBeansConfigSet extends IBeansModelElement, IResourceModelElement, IBeanClassAware { enum Type { MANUAL, AUTO_DETECTED } /** Name prefix of a config which belongs to a different project */ char EXTERNAL_CONFIG_NAME_PREFIX = '/'; boolean isAllowAliasOverriding(); boolean isAllowBeanDefinitionOverriding(); boolean isIncomplete(); boolean hasConfig(String configName); boolean hasConfig(IFile file); Set<IBeansConfig> getConfigs(); Set<String> getConfigNames(); public boolean hasAlias(String name); public IBeanAlias getAlias(String name); public Set<IBeanAlias> getAliases(); Set<IBeansComponent> getComponents(); boolean hasBean(String name); IBean getBean(String name); public Set<IBean> getBeans(); /** * Type of this configuration file. Could either be manual or automatic configured * @since 2.0.5 */ Type getType(); /** * Returns the list of configured profiles. * @since 2.8.0 */ Set<String> getProfiles(); /** * Checks if this config set has configured profiles. * @since 2.8.0 */ boolean hasProfiles(); }