001package io.ebean.migration.runner;
002
003import io.ebean.migration.JdbcMigration;
004import io.ebean.migration.MigrationChecksumProvider;
005import io.ebean.migration.MigrationVersion;
006
007/**
008 * A DB migration resource (JdbcMigration with version).
009 *
010 * @author Roland Praml, FOCONIS AG
011 */
012public class LocalJdbcMigrationResource extends LocalMigrationResource {
013
014  private final JdbcMigration migration;
015
016  /**
017   * Construct with version and resource.
018   */
019  public LocalJdbcMigrationResource(MigrationVersion version, String location, JdbcMigration migration) {
020    super(version, location);
021    this.migration = migration;
022  }
023
024  /**
025   * Return the migration
026   */
027  public JdbcMigration getMigration() {
028    return migration;
029  }
030
031  /**
032   * Returns the checksum of the migration routine.
033   */
034  public int getChecksum() {
035    if (migration instanceof MigrationChecksumProvider) {
036      return ((MigrationChecksumProvider) migration).getChecksum();
037    } else {
038      return 0; // maybe we can build a checksum over the byte code, but this may change on different java versions.
039    }
040  }
041
042  @Override
043  public String getContent() {
044    return "location:" + location;
045  }
046}