/**
*
*/
package org.sana.android.content.core;
import org.sana.android.db.ModelWrapper;
import org.sana.android.provider.Concepts;
import org.sana.android.provider.Encounters;
import org.sana.api.IConcept;
import org.sana.api.IEncounter;
import org.sana.api.IProcedure;
import org.sana.api.ISubject;
import org.sana.core.Encounter;
import org.sana.core.Observer;
import org.sana.core.Procedure;
import org.sana.core.Subject;
import android.content.ContentResolver;
import android.database.Cursor;
/**
* @author ewinkler
*
*/
public class EncounterWrapper extends ModelWrapper<IEncounter> implements IEncounter {
public EncounterWrapper(Cursor cursor) {
super(cursor);
}
@Override
public ISubject getSubject() {
Subject s = new Subject();
s.setUuid(getString(getColumnIndex(Encounters.Contract.SUBJECT)));
return s;
}
@Override
public IProcedure getProcedure() {
return new Procedure(getString(getColumnIndex(Encounters.Contract.PROCEDURE)));
}
@Override
public Observer getObserver() {
return new Observer(getString(getColumnIndex(Encounters.Contract.PROCEDURE)));
}
@Override
public IEncounter getObject() {
Encounter e = new Encounter();
e.created = getCreated();
e.modified = getModified();
e.subject = (Subject) getSubject();
e.observer = getObserver();
e.procedure = (Procedure) getProcedure();
return e;
}
public static IEncounter getOneByUuid(ContentResolver resolver, String uuid){
EncounterWrapper wrapper = new EncounterWrapper(ModelWrapper.getOneByUuid(
Concepts.CONTENT_URI,resolver, uuid));
IEncounter object = null;
if(wrapper != null)
try{
object = wrapper.next();
} finally {
wrapper.close();
}
return object;
}
}