package reco.frame.tv.db.sqlite;
import reco.frame.tv.TvDb;
import java.util.ArrayList;
import java.util.List;
/**
*
* �?对�??延�?????载类
* Created by pwy on 13-7-25.
* @param <O> 宿主�?�????class
* @param <M> �???��??�?class
*/
public class ManyToOneLazyLoader<M,O> {
M manyEntity;
Class<M> manyClazz;
Class<O> oneClazz;
TvDb db;
/**
* ??��??
*/
private Object fieldValue;
public ManyToOneLazyLoader(M manyEntity, Class<M> manyClazz, Class<O> oneClazz, TvDb db){
this.manyEntity = manyEntity;
this.manyClazz = manyClazz;
this.oneClazz = oneClazz;
this.db = db;
}
O oneEntity;
boolean hasLoaded = false;
/**
* �??????��????????载�?????�????loadManyToOne�??????��??
* @return
*/
public O get(){
if(oneEntity==null && !hasLoaded){
this.db.loadManyToOne(null,this.manyEntity,this.manyClazz,this.oneClazz);
hasLoaded = true;
}
return oneEntity;
}
public void set(O value){
oneEntity = value;
}
public Object getFieldValue() {
return fieldValue;
}
public void setFieldValue(Object fieldValue) {
this.fieldValue = fieldValue;
}
}