# Class PopReason

java.lang.Object
com.codename1.router.PopReason

public final class PopReason extends Object
Why a back/pop attempt is happening. Passed to `PopGuard#canPop` so guards can make different decisions for different triggers (allow programmatic dismissal but warn on hardware back, for example).

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final PopReason`
  `BACK_COMMAND`
  The Form's back command was invoked (toolbar back button, etc.).
  `static final PopReason`
  `HARDWARE_BACK`
  The Android hardware back button, the iOS edge-swipe gesture, or the browser back button on the JavaScript port.
  `static final PopReason`
  `PROGRAMMATIC`
  Application code invoked a back/pop programmatically.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `name()`
  `String`
  `toString()`
  Returns a string representation of the object.

  ### Methods inherited from class Object

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

- ## Field Details

  - ### HARDWARE_BACK

    public static final PopReason HARDWARE_BACK
    The Android hardware back button, the iOS edge-swipe gesture, or the browser back button on the JavaScript port.

  - ### BACK_COMMAND

    public static final PopReason BACK_COMMAND
    The Form's back command was invoked (toolbar back button, etc.).

  - ### PROGRAMMATIC

    public static final PopReason PROGRAMMATIC
    Application code invoked a back/pop programmatically.

- ## Method Details

  - ### name

    public String name()

  - ### toString

    public String toString()
    Description copied from class: `Object`
    Returns a string representation of the object. In general, the toString method returns a string that "textually represents" this object. The result should be a concise but informative representation that is easy for a person to read. It is recommended that all subclasses override this method. The toString method for class Object returns a string consisting of the name of the class of which the object is an instance, the at-sign character `@', and the unsigned hexadecimal representation of the hash code of the object. In other words, this method returns a string equal to the value of: getClass().getName() + '@' + Integer.toHexString(hashCode())
    Overrides:
      `toString` in class `Object`