package org.mongodb.meclipse.views.objects.properties;
import org.eclipse.ui.views.properties.IPropertyDescriptor;
import org.eclipse.ui.views.properties.IPropertySource;
import org.eclipse.ui.views.properties.PropertyDescriptor;
import com.mongodb.DBObject;
public class DBObjectPropertySource implements IPropertySource {
private DBObject dbObj;
DBObjectPropertySource(DBObject dbObj) {
this.dbObj = dbObj;
}
@Override
public Object getEditableValue() {
// TODO Auto-generated method stub
return null;
}
public IPropertyDescriptor[] getPropertyDescriptors() {
IPropertyDescriptor[] returnVal = new IPropertyDescriptor[dbObj
.keySet().size()];
int counter = 0;
for (String propKey : dbObj.keySet()) {
returnVal[counter] = new PropertyDescriptor(propKey, propKey);
counter++;
}
return returnVal;
}
@Override
public Object getPropertyValue(Object id) {
if (!(id instanceof String))
return null;
Object value = dbObj.get((String) id);
if (value instanceof DBObject)
return new DBObjectPropertySource((DBObject) value);
return value;
}
@Override
public boolean isPropertySet(Object id) {
// TODO Auto-generated method stub
return false;
}
@Override
public void resetPropertyValue(Object id) {
// TODO Auto-generated method stub
}
@Override
public void setPropertyValue(Object id, Object value) {
// TODO Auto-generated method stub
}
}