Android Open Source - Jello Jello






From Project

Back to project page Jello.

License

The source code is released under:

Apache License

If you think the Android project Jello listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.atteo.jello;
// www . ja  va 2 s.c om
import java.io.File;
import java.io.IOException;

import android.content.Context;

import com.google.inject.Guice;
import com.google.inject.Injector;

public class Jello {
  public static final int OPEN_FAILED = 0;
  public static final int OPEN_READONLY = 1;
  public static final int OPEN_SUCCESS = 2;

  private static DatabaseFile dbFile;
  private static String fullpath;

  private static boolean isOpened = false;
  
  static Injector injector;

  public static void close() {
    dbFile.close();
    isOpened = false;
  }

  public static String getFullpath() {
    return fullpath;
  }

  public static int open(final Context context, final String filename) {
    final File file = context.getDatabasePath(filename);
    fullpath = file.getAbsolutePath();

    boolean isNew = false;

    if (!file.exists())
      isNew = true;

    if (isNew)
      try {
        file.getParentFile().mkdirs();
        file.createNewFile();
      } catch (final IOException e) {
        e.printStackTrace();
        return Jello.OPEN_FAILED;
      }

    loadEnvironment();

    dbFile = injector.getInstance(DatabaseFile.class);

    dbFile.open();

    if (isNew)
      if (dbFile.createStructure())
        return Jello.OPEN_SUCCESS;
      else
        return Jello.OPEN_FAILED;

    if (!dbFile.loadHeader())
      return Jello.OPEN_FAILED;

    injector = Guice.createInjector(new JelloModule(fullpath, dbFile.getReadProperties()));

    // recreate dbFile in case pageSize or other basic settings
    // read from the file have values different that the defaults
    dbFile = injector.getInstance(DatabaseFile.class);
    if (!dbFile.loadHeader())
      return Jello.OPEN_FAILED;

    if (!dbFile.loadStructure())
      return Jello.OPEN_FAILED;

    isOpened = true;
    return Jello.OPEN_SUCCESS;
  }
  
  public static boolean isOpened() {
    return isOpened;
  }

  public static void setInjector(final Injector injector) {
    Jello.injector = injector;
  }

  public static Injector getInjector() {
    return injector;
  }
  
  private static Injector createGuiceInjector() {
    return Guice.createInjector(new JelloModule(fullpath, null));
  }

  private static void loadEnvironment() {
    injector = createGuiceInjector();
  }
}




Java Source Code List

android.util.FinitePool.java
android.util.Pool.java
android.util.PoolableManager.java
android.util.Poolable.java
android.util.Pools.java
android.util.SynchronizedPool.java
com.atteo.jello.DatabaseFile.java
com.atteo.jello.Expression.java
com.atteo.jello.JelloModule.java
com.atteo.jello.Jello.java
com.atteo.jello.PageUsage.java
com.atteo.jello.RecordPoolableManager.java
com.atteo.jello.Record.java
com.atteo.jello.StorableCollection.java
com.atteo.jello.StorableFactory.java
com.atteo.jello.StorableInfo.java
com.atteo.jello.Storable.java
com.atteo.jello.associations.BelongsTo.java
com.atteo.jello.associations.DatabaseField.java
com.atteo.jello.associations.HasMany.java
com.atteo.jello.index.BTree.java
com.atteo.jello.index.IndexFactory.java
com.atteo.jello.index.IndexModule.java
com.atteo.jello.index.Index.java
com.atteo.jello.index.PagePoolProxy.java
com.atteo.jello.klass.KlassManager.java
com.atteo.jello.klass.SimpleKlassManager.java
com.atteo.jello.schema.SchemaManagerFactory.java
com.atteo.jello.schema.SchemaManager.java
com.atteo.jello.schema.SchemaModule.java
com.atteo.jello.schema.Schema.java
com.atteo.jello.schema.SimpleSchemaManager.java
com.atteo.jello.schema.StorableWriter.java
com.atteo.jello.schema.VanillaStorableWriter.java
com.atteo.jello.space.AppendOnlyCacheNative.java
com.atteo.jello.space.AppendOnlyCache.java
com.atteo.jello.space.AppendOnly.java
com.atteo.jello.space.Hybrid.java
com.atteo.jello.space.NextFitHistogramNative.java
com.atteo.jello.space.NextFitHistogram.java
com.atteo.jello.space.NextFit.java
com.atteo.jello.space.SpaceManagerNative.java
com.atteo.jello.space.SpaceManagerPolicy.java
com.atteo.jello.space.SpaceManager.java
com.atteo.jello.space.SpaceModule.java
com.atteo.jello.space.VanillaHistogram.java
com.atteo.jello.store.HeaderPage.java
com.atteo.jello.store.ListPage.java
com.atteo.jello.store.PagePoolableManager.java
com.atteo.jello.store.PageSizeProvider.java
com.atteo.jello.store.Page.java
com.atteo.jello.store.PagedFileNative.java
com.atteo.jello.store.PagedFileRAF.java
com.atteo.jello.store.PagedFile.java
com.atteo.jello.store.StoreModule.java
com.atteo.jello.transaction.LockManager.java
com.atteo.jello.transaction.SimpleLockManager.java
com.atteo.jello.transaction.SimpleTransactionManager.java
com.atteo.jello.transaction.TransactionManager.java
com.atteo.jello.transaction.TransactionModule.java