// Path: traction/src/main/java/traction/mvc/interfaces/IObservableCursor.java
// public interface IObservableCursor
//     extends LoaderManager.LoaderCallbacks<Cursor>,IProxyObservableObject, ITemplateAdapter
// {
//     void setLoader(Loader<Cursor> loader);
// }
// 
// Path: traction/src/main/java/traction/mvc/interfaces/IPOJO.java
// public interface IPOJO
// {
//     /**
//      * Access property from property store.
//      * @param name
//      * @return if property exists, return property object, or null if not found
//      */
//     Property<Object,Object> getProperty(String name);
// }
// 
// Path: traction/src/main/java/traction/mvc/interfaces/IPropertyStore.java
// public interface IPropertyStore
// {
//     Property<?,?> getProperty(String name);
// }


import android.content.Loader;
import android.database.Cursor;
import android.database.CursorWrapper;
import android.database.DataSetObserver;
import android.os.Bundle;
import android.util.Property;
import android.util.SparseArray;
import android.view.View;
import android.view.ViewGroup;
import java.util.ArrayList;
import traction.mvc.interfaces.IObservableCursor;
import traction.mvc.interfaces.IPOJO;
import traction.mvc.interfaces.IPropertyStore;
            Cursor internalCursor = (Cursor)obj;

            if (index == -1)
            {
                //if (cursorExtension == null)
                //    return null;
                //return cursorExtension.getCursorExtendedProperty(internalCursor, getName());
            }

            Class<Object> c = cursorPropAccessor.this.getType();
            if (c.equals(float.class))
                return internalCursor.getFloat(index);
            else if (c.equals(double.class))
                return internalCursor.getDouble(index);
            else if (c.equals(int.class))
                return internalCursor.getInt(index);
            else if (c.equals(long.class))
                return internalCursor.getLong(index);
            else if (c.equals(short.class))
                return internalCursor.getShort(index);
            else if (c.equals(String.class))
                return internalCursor.getString(index);
            else if (c.equals(Void.class))
                return null;
            else
                return internalCursor.getBlob(index);
        }
    };

    class internalCursorWrapper extends CursorWrapper
// Path: traction/src/main/java/traction/mvc/interfaces/IObservableCursor.java
// public interface IObservableCursor
//     extends LoaderManager.LoaderCallbacks<Cursor>,IProxyObservableObject, ITemplateAdapter
// {
//     void setLoader(Loader<Cursor> loader);
// }
// 
// Path: traction/src/main/java/traction/mvc/interfaces/IPOJO.java
// public interface IPOJO
// {
//     /**
//      * Access property from property store.
//      * @param name
//      * @return if property exists, return property object, or null if not found
//      */
//     Property<Object,Object> getProperty(String name);
// }
// 
// Path: traction/src/main/java/traction/mvc/interfaces/IPropertyStore.java
// public interface IPropertyStore
// {
//     Property<?,?> getProperty(String name);
// }


// Path: traction/src/main/java/traction/mvc/observables/ObservableCursor.java
import android.content.Loader;
import android.database.Cursor;
import android.database.CursorWrapper;
import android.database.DataSetObserver;
import android.os.Bundle;
import android.util.Property;
import android.util.SparseArray;
import android.view.View;
import android.view.ViewGroup;
import java.util.ArrayList;
import traction.mvc.interfaces.IObservableCursor;
import traction.mvc.interfaces.IPOJO;
import traction.mvc.interfaces.IPropertyStore;

            Cursor internalCursor = (Cursor)obj;

            if (index == -1)
            {
                //if (cursorExtension == null)
                //    return null;
                //return cursorExtension.getCursorExtendedProperty(internalCursor, getName());
            }

            Class<Object> c = cursorPropAccessor.this.getType();
            if (c.equals(float.class))
                return internalCursor.getFloat(index);
            else if (c.equals(double.class))
                return internalCursor.getDouble(index);
            else if (c.equals(int.class))
                return internalCursor.getInt(index);
            else if (c.equals(long.class))
                return internalCursor.getLong(index);
            else if (c.equals(short.class))
                return internalCursor.getShort(index);
            else if (c.equals(String.class))
                return internalCursor.getString(index);
            else if (c.equals(Void.class))
                return null;
            else
                return internalCursor.getBlob(index);
        }
    };

    class internalCursorWrapper extends CursorWrapper
        implements IPOJO, IPropertyStore