Package xyz.jpenilla.squaremap.api
Class SimpleLayerProvider
java.lang.Object
xyz.jpenilla.squaremap.api.SimpleLayerProvider
- All Implemented Interfaces:
LayerProvider
A simple
LayerProvider implementation, backed by a Map.-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionvoidAdd a new marker to this layerGet a newSimpleLayerProvider.BuilderinstanceGet a newSimpleLayerProvider.BuilderinstancevoidRemove all registered markersbooleanWhether this layer is hidden by default in the control boxgetLabel()Get the label of this LayerProvider, shown in the control boxGet the markers to displaybooleanCheck whether a marker is registered for a keyint0-indexed order for this layer in the control boxGet an unmodifiable view of the registered markersremoveMarker(@NonNull Key key) Remove an existing marker from this layer, returning either the removed marker, ornullif no marker was present for the provided key.booleanWhether to show this layer in the control boxintzIndex()0-indexed z-index for this layer.
-
Method Details
-
builder
Get a newSimpleLayerProvider.Builderinstance- Parameters:
label- label for the layer- Returns:
- new builder
-
builder
Get a newSimpleLayerProvider.Builderinstance- Parameters:
labelSupplier- label supplier for the layer- Returns:
- new builder
-
addMarker
Add a new marker to this layer- Parameters:
key- keymarker- marker
-
removeMarker
Remove an existing marker from this layer, returning either the removed marker, ornullif no marker was present for the provided key.- Parameters:
key- key- Returns:
- the existing marker or
null
-
clearMarkers
public void clearMarkers()Remove all registered markers -
registeredMarkers
Get an unmodifiable view of the registered markers- Returns:
- registered markers
-
hasMarker
Check whether a marker is registered for a key- Parameters:
key- key- Returns:
- whether a marker is registered
-
getLabel
Description copied from interface:LayerProviderGet the label of this LayerProvider, shown in the control box- Specified by:
getLabelin interfaceLayerProvider- Returns:
- label
-
showControls
public boolean showControls()Description copied from interface:LayerProviderWhether to show this layer in the control boxDefault implementation always returns
true- Specified by:
showControlsin interfaceLayerProvider- Returns:
- boolean
-
defaultHidden
public boolean defaultHidden()Description copied from interface:LayerProviderWhether this layer is hidden by default in the control boxDefault implementation always returns
false- Specified by:
defaultHiddenin interfaceLayerProvider- Returns:
- boolean
-
layerPriority
public int layerPriority()Description copied from interface:LayerProvider0-indexed order for this layer in the control boxFalls back to alpha-numeric ordering based on name if there are order conflicts
- Specified by:
layerPriorityin interfaceLayerProvider- Returns:
- arbitrary number
-
zIndex
public int zIndex()Description copied from interface:LayerProvider0-indexed z-index for this layer. Used in determining what layers are visually on top of other layers.Falls back to alpha-numeric ordering based on name if there are order conflicts
Default implementation returns
LayerProvider.layerPriority()- Specified by:
zIndexin interfaceLayerProvider- Returns:
- arbitrary number
-
getMarkers
Description copied from interface:LayerProviderGet the markers to display- Specified by:
getMarkersin interfaceLayerProvider- Returns:
- markers
-