class Source extends HiveEndpoint {

  public SourceLocationManager getLocationManager(Table table, String eventId) throws IOException {
    if (MetaStoreUtils.isView(table)) {
      return new ViewLocationManager();
    }
    return new HdfsSnapshotLocationManager(getHiveConf(), eventId, table, snapshotsDisabled, sourceTableLocation,
        sourceCatalogListener);
  }

    Source(
      SourceCatalog sourceCatalog,
      HiveConf sourceHiveConf,
      Supplier<CloseableMetaStoreClient> sourceMetaStoreClientSupplier,
      SourceCatalogListener sourceCatalogListener,
      boolean snapshotsDisabled,
      String sourceTableLocation);

}