package org.rubypeople.rdt.internal.debug.ui;
import org.eclipse.core.runtime.IAdapterFactory;
import org.eclipse.ui.IActionFilter;
import org.rubypeople.rdt.debug.core.model.IRubyVariable;
class ActionFilterAdapterFactory implements IAdapterFactory, IActionFilter {
public Object getAdapter(Object obj, Class adapterType) {
if (adapterType.isInstance(obj)) {
return obj;
}
if (adapterType != IActionFilter.class) {
return null ;
}
if (obj instanceof IRubyVariable) {
return this;
}
return null;
}
public Class[] getAdapterList() {
return new Class[] {
IActionFilter.class
};
}
public boolean testAttribute(Object rubyVariable, String name, String value) {
if (name.equals("isHashValue")) {
return ((IRubyVariable) rubyVariable).isHashValue();
}
return false;
}
}