package org.orienteer.core.method.filters;
import org.orienteer.core.method.IMethodEnvironmentData;
import com.orientechnologies.orient.core.metadata.schema.OClass;
import com.orientechnologies.orient.core.record.impl.ODocument;
/**
*
* OFilter by OClass of current ODocument or OClass
*
*/
public class OEntityFilter extends AbstractStringFilter {
@Override
public boolean isSupportedMethod(IMethodEnvironmentData dataObject) {
OClass oclass = getOClass(dataObject);
if (oclass!=null){
return oclass.isSubClassOf(this.filterData);
}
return false;
}
private OClass getOClass(IMethodEnvironmentData dataObject){
if (dataObject.getDisplayObjectModel()!=null){
Object obj = dataObject.getDisplayObjectModel().getObject();
if (obj instanceof OClass){
return (OClass) obj;
}else if (obj instanceof ODocument){
return ((ODocument)obj).getSchemaClass();
}
}
return null;
}
}