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}