# Class AbstractLayer

java.lang.Object
com.codename1.maps.layers.AbstractLayer

All Implemented Interfaces:
  `Layer`

Direct Known Subclasses:
  `LinesLayer, PointsLayer`

public abstract class AbstractLayer extends Object implements Layer
This class represents an abstract layer on the map.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected final String`
  `name`
  `protected Projection`
  `projection`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `AbstractLayer(Projection p, String name)`
  Creates an abstract layer.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `abstract BoundingBox`
  `boundingBox()`
  The bounding box of this Layer
  `String`
  `getName()`
  Gets the name of this Layer
  `Projection`
  `getProjection()`
  The projection of this Layer

  ### Methods inherited from class Object

  `clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `final Class`
  `getClass()`
  Returns the runtime class of an object.
  `int`
  `hashCode()`
  Returns a hash code value for the object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `String`
  `toString()`
  Returns a string representation of the object.
  `final void`
  `wait()`
  Causes current thread to wait until another thread invokes the method or the method for this object.
  `final void`
  `wait(long timeout)`
  Causes current thread to wait until either another thread invokes the method or the method for this object, or a specified amount of time has elapsed.
  `final void`
  `wait(long timeout, int nanos)`
  Causes current thread to wait until another thread invokes the method or the method for this object, or some other thread interrupts the current thread, or a certain amount of real time has elapsed.

  ### Methods inherited from interface Layer

  `paint`
  Modifier and Type
  Method
  Description
  `void`
  `paint(Graphics g, Tile screenTile)`
  Paints the Layer on the given Graphics

- ## Field Details

  - ### name

    protected final String name

  - ### projection

    protected Projection projection

- ## Constructor Details

  - ### AbstractLayer

    public AbstractLayer(Projection p, String name)

    Creates an abstract layer.

    ###### Parameters

    - `p`: the projection system of this Layer

    - `name`: the name of this Layer

- ## Method Details

  - ### getName

    public String getName()

    Gets the name of this Layer

    ###### Returns

    the name of this Layer

    Specified by:
      `getName` in interface `Layer`

  - ### getProjection

    public Projection getProjection()

    The projection of this Layer

    ###### Returns

    the projection of this Layer

  - ### boundingBox

    public abstract BoundingBox boundingBox()

    The bounding box of this Layer

    ###### Returns

    the Layer bounding box

    Specified by:
      `boundingBox` in interface `Layer`