/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package org.pepsoft.worldpainter.layers;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.pepsoft.worldpainter.plugins.LayerProvider;
import org.pepsoft.worldpainter.plugins.WPPluginManager;
/**
*
* @author pepijn
*/
public final class LayerManager {
private LayerManager() {
layers = new ArrayList<>();
List<LayerProvider> layerProviders = WPPluginManager.getInstance().getPlugins(LayerProvider.class);
for (LayerProvider layerProvider: layerProviders) {
layers.addAll(layerProvider.getLayers());
}
for (Layer layer: layers) {
layersByName.put(layer.getName(), layer);
}
}
public List<Layer> getLayers() {
return Collections.unmodifiableList(layers);
}
public Layer getLayer(String name) {
return layersByName.get(name);
}
public static LayerManager getInstance() {
return INSTANCE;
}
private final List<Layer> layers;
private final Map<String, Layer> layersByName = new HashMap<>();
private static final LayerManager INSTANCE = new LayerManager();
}