public class LayerManager extends java.lang.Object
This manager handles a list of layers with the first layer being the front layer.
Modifier and Type | Class and Description |
---|---|
static class |
LayerManager.LayerAddEvent
The event that is fired whenever a layer was added.
|
static interface |
LayerManager.LayerChangeListener
Interface to notify listeners of a layer change.
|
protected static class |
LayerManager.LayerManagerEvent |
static class |
LayerManager.LayerOrderChangeEvent
An event that is fired whenever the order of layers changed.
|
static class |
LayerManager.LayerRemoveEvent
The event that is fired before removing a layer.
|
Modifier and Type | Field and Description |
---|---|
private java.util.List<LayerManager.LayerChangeListener> |
layerChangeListeners |
private java.util.List<Layer> |
layers
This is the list of layers we manage.
|
Constructor and Description |
---|
LayerManager() |
Modifier and Type | Method and Description |
---|---|
void |
addLayer(Layer layer)
Add a layer.
|
void |
addLayerChangeListener(LayerManager.LayerChangeListener listener)
Adds a layer change listener
|
void |
addLayerChangeListener(LayerManager.LayerChangeListener listener,
boolean fireAdd)
Adds a layer change listener
|
protected void |
checkContainsLayer(Layer layer) |
private void |
checkPosition(int position)
Check if the (new) position is valid
|
boolean |
containsLayer(Layer layer)
replies true if the list of layers managed by this map view contain layer
|
private void |
fireLayerAdded(Layer layer) |
private void |
fireLayerOrderChanged() |
private void |
fireLayerRemoving(Layer layer) |
java.util.List<Layer> |
getLayers()
Gets an unmodifiable list of all layers that are currently in this manager.
|
<T extends Layer> |
getLayersOfType(java.lang.Class<T> ofType)
Replies an unmodifiable list of layers of a certain type.
|
private void |
insertLayerAt(Layer layer,
int position)
Insert a layer at a given position.
|
void |
moveLayer(Layer layer,
int position)
Move a layer to a new position.
|
protected void |
realAddLayer(Layer layer) |
protected void |
realMoveLayer(Layer layer,
int position) |
protected void |
realRemoveLayer(Layer layer) |
void |
removeLayer(Layer layer)
Remove the layer from the mapview.
|
void |
removeLayerChangeListener(LayerManager.LayerChangeListener listener)
Removes a layer change listener
|
void |
removeLayerChangeListener(LayerManager.LayerChangeListener listener,
boolean fireRemove)
Removes a layer change listener
|
private final java.util.List<LayerManager.LayerChangeListener> layerChangeListeners
public LayerManager()
public void addLayer(Layer layer)
layer
- The layer to addprotected void realAddLayer(Layer layer)
public void removeLayer(Layer layer)
layer
- The layer to removeprotected void realRemoveLayer(Layer layer)
public void moveLayer(Layer layer, int position)
layer
- The layer to move.position
- The position.java.lang.IndexOutOfBoundsException
- if the position is out of bounds.protected void realMoveLayer(Layer layer, int position)
private void insertLayerAt(Layer layer, int position)
layer
- The layer to add.position
- The position on which we should add it.private void checkPosition(int position)
position
- The position indexjava.lang.IndexOutOfBoundsException
- if it is not.public java.util.List<Layer> getLayers()
public <T extends Layer> java.util.List<T> getLayersOfType(java.lang.Class<T> ofType)
List<WMSLayer> wmsLayers = getLayersOfType(WMSLayer.class);
T
- The layer typeofType
- The layer type.public boolean containsLayer(Layer layer)
layer
- the layerprotected void checkContainsLayer(Layer layer)
public void addLayerChangeListener(LayerManager.LayerChangeListener listener)
listener
- the listener.java.lang.IllegalArgumentException
- If the listener was added twice.public void addLayerChangeListener(LayerManager.LayerChangeListener listener, boolean fireAdd)
listener
- the listener.fireAdd
- if we should fire an add event for every layer in this manager.java.lang.IllegalArgumentException
- If the listener was added twice.public void removeLayerChangeListener(LayerManager.LayerChangeListener listener)
listener
- the listener. Ignored if null or already registered.public void removeLayerChangeListener(LayerManager.LayerChangeListener listener, boolean fireRemove)
listener
- the listener.fireRemove
- if we should fire a remove event for every layer in this manager.private void fireLayerAdded(Layer layer)
private void fireLayerRemoving(Layer layer)
private void fireLayerOrderChanged()