All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.brightify.torch.EntityMetadata Maven / Gradle / Ivy

There is a newer version: 1.0.0-alpha.3
Show newest version
package org.brightify.torch;

import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import org.brightify.torch.annotation.Entity;
import org.brightify.torch.filter.NumberColumn;
import org.brightify.torch.util.MigrationAssistant;

/**
 * @author Tadeas Kriz
 */
public interface EntityMetadata {
    NumberColumn getIdColumn();

    String[] getColumns();

    String getTableName();

    String getVersion();

    Entity.MigrationType getMigrationType();

    Long getEntityId(ENTITY entity);

    void setEntityId(ENTITY entity, Long id);

    Class getEntityClass();

    Key createKey(ENTITY entity);

    void createTable(SQLiteDatabase db);

    ENTITY createFromCursor(Cursor cursor) throws Exception;

    ContentValues toContentValues(ENTITY entity) throws Exception;

    void migrate(MigrationAssistant assistant, String sourceVersion, String targetVersion) throws Exception;
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy