Package org.fife.ui.rsyntaxtextarea.templates

## Class AbstractCodeTemplate

- java.lang.Object
- - org.fife.ui.rsyntaxtextarea.templates.AbstractCodeTemplate

- All Implemented Interfaces:
    `Serializable`, `Cloneable`, `Comparable<CodeTemplate>`, `CodeTemplate`
  Direct Known Subclasses:
    `StaticCodeTemplate`

      public abstract class AbstractCodeTemplate
      extends Object
      implements CodeTemplate

  A base class to build code templates on top of.
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `AbstractCodeTemplate()` | This no-arg constructor is required for serialization purposes.
    `AbstractCodeTemplate​(String id)` | Creates a new template.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Object` | `clone()` | Creates a deep copy of this template.
    `int` | `compareTo​(CodeTemplate o)` | Compares the `StaticCodeTemplate` to another.
    `boolean` | `equals​(Object obj)` | Overridden to return "`true`" iff `compareTo(CodeTemplate)` returns `0`.
    `String` | `getID()` | Returns the ID of this code template.
    `int` | `hashCode()` | Returns the hash code for this template.
    `void` | `setID​(String id)` | Sets the ID for this template.

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

      `finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.fife.ui.rsyntaxtextarea.templates.CodeTemplate

      `invoke`

- - ### Constructor Detail

    - #### AbstractCodeTemplate

          public AbstractCodeTemplate()

      This no-arg constructor is required for serialization purposes.

    - #### AbstractCodeTemplate

          public AbstractCodeTemplate​(String id)

      Creates a new template.
      Parameters:
        `id` - The ID for this template.
      Throws:
        `IllegalArgumentException` - If `id` is `null`.

  - ### Method Detail

    - #### clone

          public Object clone()

      Creates a deep copy of this template.
      Specified by:
        `clone` in interface `CodeTemplate`
      Overrides:
        `clone` in class `Object`
      Returns:
        A deep copy of this template.

    - #### compareTo

          public int compareTo​(CodeTemplate o)

      Compares the `StaticCodeTemplate` to another.
      Specified by:
        `compareTo` in interface `Comparable<CodeTemplate>`
      Parameters:
        `o` - Another `StaticCodeTemplate` object.
      Returns:
        A negative integer, zero, or a positive integer as this object is less than, equal-to, or greater than the passed-in object.
      Throws:
        `ClassCastException` - If `o` is not an instance of `CodeTemplate`.

    - #### equals

          public boolean equals​(Object obj)

      Overridden to return "`true`" iff `compareTo(CodeTemplate)` returns `0`.
      Overrides:
        `equals` in class `Object`
      Returns:
        Whether this code template is equal to another.

    - #### getID

          public String getID()

      Returns the ID of this code template.
      Specified by:
        `getID` in interface `CodeTemplate`
      Returns:
        The template's ID.
      See Also:
        `setID(String)`

    - #### hashCode

          public int hashCode()

      Returns the hash code for this template.
      Overrides:
        `hashCode` in class `Object`
      Returns:
        The hash code for this template.

    - #### setID

          public void setID​(String id)

      Sets the ID for this template.
      Parameters:
        `id` - The ID for this template.
      Throws:
        `IllegalArgumentException` - If `id` is `null`.
      See Also:
        `getID()`