Package org.apache.cayenne.access.dbsync

## Class BaseSchemaUpdateStrategy

- java.lang.Object
- - org.apache.cayenne.access.dbsync.BaseSchemaUpdateStrategy

- All Implemented Interfaces:
    `SchemaUpdateStrategy`
  Direct Known Subclasses:
    `CreateIfNoSchemaStrategy`, `ThrowOnPartialSchemaStrategy`

      public abstract class BaseSchemaUpdateStrategy
      extends Object
      implements SchemaUpdateStrategy

  Since:
    3.0

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected boolean` | `run` |
    `protected ThreadLocal<Boolean>` | `threadRunInProgress` |

  - ### Constructor Summary

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

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected abstract void` | `processSchemaUpdate​(DataNode dataNode)` |
    `void` | `updateSchema​(DataNode dataNode)` |

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

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

- - ### Field Detail

    - #### run

          protected volatile boolean run

    - #### threadRunInProgress

          protected final ThreadLocal<Boolean> threadRunInProgress

  - ### Constructor Detail

    - #### BaseSchemaUpdateStrategy

          public BaseSchemaUpdateStrategy()

  - ### Method Detail

    - #### updateSchema

          public void updateSchema​(DataNode dataNode)
                            throws SQLException

      Specified by:
        `updateSchema` in interface `SchemaUpdateStrategy`
      Throws:
        `SQLException`

    - #### processSchemaUpdate

          protected abstract void processSchemaUpdate​(DataNode dataNode)
                                               throws SQLException

      Throws:
        `SQLException`
      Since:
        3.0