Class Layer

  • All Implemented Interfaces:
    Layerable, LayerManagerProxy

    public class Layer
    extends AbstractLayerable
    implements LayerManagerProxy
    Adds colour, line-width, and other stylistic information to a Feature Collection.

    When adding or removing multiple features to this Layer's FeatureCollection, prefer #addAll and #removeAll to #add and #remove -- fewer events will be fired.

    • Field Detail

      • FIRING_APPEARANCE_CHANGED_ON_ATTRIBUTE_CHANGE

        public static final String FIRING_APPEARANCE_CHANGED_ON_ATTRIBUTE_CHANGE
    • Method Detail

      • defaultLineColor

        public static Color defaultLineColor​(Color fillColor)
        Returns:
        a darker version of the given fill colour, for use as the line colour
      • setDescription

        public void setDescription​(String description)
      • setDrawingLast

        public void setDrawingLast​(boolean drawingLast)
        Used for lightweight layers like the Vector layer.
        Parameters:
        drawingLast - true if the layer should be among those drawn last
      • setFeatureCollection

        public void setFeatureCollection​(FeatureCollection featureCollection)
      • setEditable

        public void setEditable​(boolean editable)
        Editability is not enforced; all parties are responsible for heeding this flag.
      • isEditable

        public boolean isEditable()
      • setSynchronizingLineColor

        public void setSynchronizingLineColor​(boolean synchronizingLineColor)
      • getBasicStyle

        public BasicStyle getBasicStyle()
      • getLabelStyle

        public LabelStyle getLabelStyle()
      • getDescription

        public String getDescription()
      • getFeatureCollectionWrapper

        public FeatureCollectionWrapper getFeatureCollectionWrapper()
        Returns a wrapper around the FeatureCollection which was added using #wrapFeatureCollection. The original FeatureCollection can be retrieved using FeatureCollectionWrapper#getWrappee. However, parties are encouraged to use the FeatureCollectionWrapper instead, so that feature additions and removals cause FeatureEvents to be fired (by the Layer).
      • setFeatureCollectionWrapper

        protected void setFeatureCollectionWrapper​(FeatureCollectionWrapper featureCollectionWrapper)
      • getStyle

        public Style getStyle​(Class c)
        Styles do not notify the Layer when their parameters change. Therefore, after you modify a Style's parameters (for example, the fill colour of BasicStyle), be sure to call #fireAppearanceChanged
        Parameters:
        c - Can even be the desired Style's superclass or interface
        Returns:
        The style value
      • getStyles

        public List getStyles()
      • hasReadableDataSource

        public boolean hasReadableDataSource()
      • isDrawingLast

        public boolean isDrawingLast()
      • isSynchronizingLineColor

        public boolean isSynchronizingLineColor()
      • addStyle

        public void addStyle​(Style style)
      • dispose

        public void dispose()
        Releases references to the data, to facilitate garbage collection. Important for MDI apps like the JUMP Workbench. Called when the last JInternalFrame viewing the LayerManager is closed (i.e. internal frame's responsibility). To conserve memory, if layers are frequently added and removed from the LayerManager, parties may want to call #dispose themselves rather than waiting for the internal frame to be closed.
      • removeStyle

        public void removeStyle​(Style p)
      • setStyles

        public void setStyles​(Collection newStyles)
      • tryToInvalidateEnvelope

        public static void tryToInvalidateEnvelope​(Layer layer)
        Does nothing if the underlying feature collection is not a FeatureDataset.
      • isFeatureCollectionModified

        public boolean isFeatureCollectionModified()
      • setFeatureCollectionModified

        public Layer setFeatureCollectionModified​(boolean featureCollectionModified)