# Class CircleStack<E>

java.lang.Object
com.codename1.gaming.physics.box2d.pooling.normal.CircleStack<E>

All Implemented Interfaces:
  `IOrderedStack<E>`

public abstract class CircleStack<E> extends Object implements IOrderedStack<E>

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `CircleStack(int argStackSize, int argContainerSize)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected abstract E`
  `newInstance()`
  Creates a new instance of the object contained by this stack.
  `final E`
  `pop()`
  Returns the next object in the pool
  `final E[]`
  `pop(int argNum)`
  Returns the next 'argNum' objects in the pool in an array
  `void`
  `push(int argNum)`
  Tells the stack to take back the last 'argNum' items

  ### Methods inherited from class Object

  `clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### CircleStack

    public CircleStack(int argStackSize, int argContainerSize)

- ## Method Details

  - ### pop

    public final E pop()
    Description copied from interface: `IOrderedStack`
    Returns the next object in the pool
    Specified by:
      `pop` in interface `IOrderedStack<E>`
    Returns:

  - ### pop

    public final E[] pop(int argNum)
    Description copied from interface: `IOrderedStack`
    Returns the next 'argNum' objects in the pool in an array
    Specified by:
      `pop` in interface `IOrderedStack<E>`
    Parameters:
      `argNum` -
    Returns:
      an array containing the next pool objects in items 0-argNum. Array length and uniqueness not guaranteed.

  - ### push

    public void push(int argNum)
    Description copied from interface: `IOrderedStack`
    Tells the stack to take back the last 'argNum' items
    Specified by:
      `push` in interface `IOrderedStack<E>`
    Parameters:
      `argNum` -

  - ### newInstance

    protected abstract E newInstance()
    Creates a new instance of the object contained by this stack.