/******************************************************************************* * Copyright (c) 2010-present Sonatype, Inc. * 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: * Stuart McCulloch (Sonatype, Inc.) - initial API and implementation * * Minimal facade required to be binary-compatible with legacy Plexus API *******************************************************************************/ package org.codehaus.plexus; import java.net.URL; import java.util.Map; import org.codehaus.plexus.classworlds.ClassWorld; import org.codehaus.plexus.classworlds.realm.ClassRealm; import org.codehaus.plexus.context.Context; public final class DefaultContainerConfiguration implements ContainerConfiguration { // ---------------------------------------------------------------------- // Implementation fields // ---------------------------------------------------------------------- private String configurationPath; private URL configurationUrl; private ClassWorld classWorld; private ClassRealm classRealm; private Map<Object, Object> contextData; private String componentVisibility = PlexusConstants.REALM_VISIBILITY; private String classPathScanning = PlexusConstants.SCANNING_OFF; private boolean autoWiring; private Context contextComponent; private boolean jsr250Lifecycle; // ---------------------------------------------------------------------- // Public methods // ---------------------------------------------------------------------- public ContainerConfiguration setName( final String name ) { return this; } public ContainerConfiguration setContainerConfiguration( final String configurationPath ) { this.configurationPath = configurationPath; return this; } public String getContainerConfiguration() { return configurationPath; } public ContainerConfiguration setContainerConfigurationURL( final URL configurationUrl ) { this.configurationUrl = configurationUrl; return this; } public URL getContainerConfigurationURL() { return configurationUrl; } public ContainerConfiguration setClassWorld( final ClassWorld classWorld ) { this.classWorld = classWorld; return this; } public ClassWorld getClassWorld() { return classWorld; } public ContainerConfiguration setRealm( final ClassRealm classRealm ) { this.classRealm = classRealm; return this; } public ClassRealm getRealm() { return classRealm; } public ContainerConfiguration setContext( final Map<Object, Object> contextData ) { this.contextData = contextData; return this; } public Map<Object, Object> getContext() { return contextData; } public ContainerConfiguration setComponentVisibility( final String componentVisibility ) { this.componentVisibility = componentVisibility; return this; } public String getComponentVisibility() { return componentVisibility; } public ContainerConfiguration setClassPathScanning( final String classPathScanning ) { this.classPathScanning = classPathScanning; if ( !PlexusConstants.SCANNING_OFF.equalsIgnoreCase( classPathScanning ) ) { autoWiring = true; } return this; } public String getClassPathScanning() { return classPathScanning; } public ContainerConfiguration setAutoWiring( final boolean autoWiring ) { this.autoWiring = autoWiring; return this; } public boolean getAutoWiring() { return autoWiring; } public ContainerConfiguration setContextComponent( final Context contextComponent ) { this.contextComponent = contextComponent; return this; } public Context getContextComponent() { return contextComponent; } public ContainerConfiguration setJSR250Lifecycle( final boolean jsr250Lifecycle ) { this.jsr250Lifecycle = jsr250Lifecycle; return this; } public boolean getJSR250Lifecycle() { return jsr250Lifecycle; } }