Layer extends ExtensibleObject { public LayerType getLayerType() { return layerType; } protected  Layer(LayerType layerType); protected  Layer(LayerType layerType, PropertySet configuration); LayerType getLayerType(); PropertySet getConfiguration(); Layer getParent(); boolean isCollectionLayer(); List<Layer> getChildren(); String getName(); void setName(String name); String getId(); void setId(String id); int getChildIndex(String id); boolean isVisible(); void setVisible(boolean visible); double getTransparency(); void setTransparency(double transparency); Composite getComposite(); void setComposite(Composite composite); final Rectangle2D getModelBounds(); final void render(Rendering rendering); final void render(Rendering rendering, LayerFilter filter); final void dispose(); void addListener(LayerListener listener); void removeListener(LayerListener listener); LayerListener[] getListeners(); @Override String toString(); void regenerate();  }
@Test public void testType() { Layer layer1 = new CollectionLayer(); Layer layer2 = new CollectionLayer(); assertNotNull(layer1.getLayerType()); assertSame(layer1.getLayerType(), layer2.getLayerType()); assertSame(layer1.getLayerType(), LayerTypeRegistry.getLayerType(CollectionLayer.Type.class)); }