Package org.apache.tapestry5.internal.plastic

## Class Lockable

- java.lang.Object
- - org.apache.tapestry5.internal.plastic.Lockable

- Direct Known Subclasses:
    `InstructionBuilderImpl`, `PlasticClassImpl`, `PlasticManager.PlasticManagerBuilder`, `SwitchBlockImpl`, `TryCatchBlockImpl`

      public class Lockable
      extends java.lang.Object

  An object that can be locked, at which point most of its functionality is disabled. This conforms to general builder approach used throughout Plastic where objects have an active construction phase, but are then locked (to encourage user code to discard them after they are no longer of any use).

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `Lockable()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected void` | `check()` | Checks to see if the object has been locked.
    `protected void` | `lock()` | Invokes `check()`, then sets the locked flag.

    - ### Methods inherited from class java.lang.Object

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

- - ### Constructor Detail

    - #### Lockable

          public Lockable()

  - ### Method Detail

    - #### check

          protected void check()

      Checks to see if the object has been locked.
      Throws:
        `java.lang.IllegalStateException` - if `lock()` has been invoked.

    - #### lock

          protected void lock()

      Invokes `check()`, then sets the locked flag. Subsequent calls to `check()` will fail.