All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.nakedobjects.metamodel.config.ConfigurationBuilderFileSystem Maven / Gradle / Ivy

The newest version!
package org.nakedobjects.metamodel.config;

import org.apache.log4j.Logger;
import org.nakedobjects.metamodel.commons.resource.ResourceStreamSource;
import org.nakedobjects.metamodel.commons.resource.ResourceStreamSourceComposite;
import org.nakedobjects.metamodel.commons.resource.ResourceStreamSourceFileSystem;

/**
 * Convenience implementation of {@link ConfigurationBuilder} that
 * loads configuration resource from a specified directory (or directories) on the
 * filesystem.
 * 
 * @see ResourceStreamSourceFileSystem
 */
public class ConfigurationBuilderFileSystem extends ConfigurationBuilderAbstract {

	@SuppressWarnings("unused")
	private static final Logger LOG = Logger
			.getLogger(ConfigurationBuilderFileSystem.class);
	
	private static ResourceStreamSource createResourceStreamSource(
			String... directories) {
		ResourceStreamSourceComposite composite = new ResourceStreamSourceComposite();
		for(String directory: directories) {
			composite.addResourceStreamSource(
				new ResourceStreamSourceFileSystem(directory));
		}
		return composite;
	}

	public ConfigurationBuilderFileSystem(String... directories) {
		super(createResourceStreamSource(directories));
	}

	public ConfigurationBuilderFileSystem() {
		super(new ResourceStreamSourceFileSystem(ConfigurationConstants.DEFAULT_CONFIG_DIRECTORY));
	}

}
// Copyright (c) Naked Objects Group Ltd.




© 2015 - 2024 Weber Informatics LLC | Privacy Policy