# 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 final ThreadLocal<Boolean>`
  `threadRunInProgress`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `BaseSchemaUpdateStrategy()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected abstract void`
  `processSchemaUpdate(DataNode dataNode)`
  `void`
  `updateSchema(DataNode dataNode)`

  ### Methods inherited from class Object

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

- ## Field Details

  - ### run

    protected volatile boolean run

  - ### threadRunInProgress

    protected final ThreadLocal<Boolean> threadRunInProgress

- ## Constructor Details

  - ### BaseSchemaUpdateStrategy

    public BaseSchemaUpdateStrategy()

- ## Method Details

  - ### 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