提交 14873e96 编写于 作者: S serge-rider

Properties with parameters support


Former-commit-id: 8cba0cc9
上级 5fc9967d
......@@ -71,7 +71,7 @@ public abstract class ObjectAttributeDescriptor {
}
declaringClass = parent == null ? getter.getDeclaringClass() : parent.getDeclaringClass();
if (this.getter.getParameterTypes().length == 1 && getter.getParameterTypes()[0] == DBRProgressMonitor.class) {
if (this.getter.getParameterTypes().length > 0 && getter.getParameterTypes()[0] == DBRProgressMonitor.class) {
this.isLazy = true;
}
......
......@@ -220,15 +220,20 @@ public class ObjectPropertyDescriptor extends ObjectAttributeDescriptor implemen
return null;
}
}
if (isLazy()) {
Method getter = getGetter();
Object[] params = null;
if (getter.getParameterCount() > 0) {
params = new Object[getter.getParameterCount()];
}
if (isLazy() && params != null) {
// Lazy (probably cached)
if (isLazy(object, true) && progressMonitor == null && !supportsPreview()) {
throw new IllegalAccessException("Lazy property can't be read with null progress monitor");
}
value = getGetter().invoke(object, progressMonitor);
} else {
value = getGetter().invoke(object);
params[0] = progressMonitor;
}
value = getter.invoke(object, params);
if (valueRenderer != null) {
value = valueRenderer.transform(object, value);
}
......
......@@ -154,7 +154,7 @@ meta.org.jkiss.dbeaver.ext.mysql.model.MySQLView$AdditionalInfo.checkOption.name
meta.org.jkiss.dbeaver.ext.mysql.model.MySQLView$AdditionalInfo.updatable.name=Updatable
meta.org.jkiss.dbeaver.ext.mysql.model.MySQLView$AdditionalInfo.definer.name=Definer
meta.org.jkiss.dbeaver.ext.mysql.model.MySQLView.name.name=View Name
meta.org.jkiss.dbeaver.ext.mysql.model.MySQLView.definition.name=Definition
meta.org.jkiss.dbeaver.ext.mysql.model.MySQLView.objectDefinitionText.name=Definition
meta.org.jkiss.dbeaver.ext.mysql.model.plan.MySQLPlanNode.id.name=ID
meta.org.jkiss.dbeaver.ext.mysql.model.plan.MySQLPlanNode.id.description=The SELECT identifier. This is the sequential number of the SELECT within the query
meta.org.jkiss.dbeaver.ext.mysql.model.plan.MySQLPlanNode.selectType.name=Select Type
......
......@@ -91,7 +91,7 @@ meta.org.jkiss.dbeaver.ext.mysql.model.MySQLProcedure.resultType.name=\u0422\u04
meta.org.jkiss.dbeaver.ext.mysql.model.MySQLProcedure.bodyType.name=\u0422\u0438\u043F \u0442\u0435\u043B\u0430
meta.org.jkiss.dbeaver.ext.mysql.model.MySQLProcedure.body.name=\u0422\u0435\u043B\u043E
meta.org.jkiss.dbeaver.ext.mysql.model.MySQLProcedure.deterministic.description=\u041E\u043F\u0435\u0440\u0430\u0446\u0438\u044F \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044F 'deterministic' \u0435\u0441\u043B\u0438 \u043E\u043D\u0430 \u0432\u0441\u0435\u0433\u0434\u0430 \u043F\u0440\u0438\u0432\u043E\u0434\u0438\u0442 \u043A \u043E\u0434\u0438\u043D\u0430\u043A\u043E\u0432\u043E\u043C\u0443 \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u0443 \u043F\u0440\u0438 \u043E\u0434\u0438\u043D\u0430\u043A\u043E\u0432\u044B\u0445 \u0438\u0441\u0445\u043E\u0434\u043D\u044B\u0445 \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0430\u0445 \u0438 'not deterministic' \u0432 \u043F\u0440\u043E\u0442\u0438\u0432\u043D\u043E\u043C \u0441\u043B\u0443\u0447\u0430\u0435.
meta.org.jkiss.dbeaver.ext.mysql.model.MySQLProcedure.definition.name=\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u0435
meta.org.jkiss.dbeaver.ext.mysql.model.MySQLProcedure.objectDefinitionText.name=\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u0438\u0435
meta.org.jkiss.dbeaver.ext.mysql.model.MySQLProcedureParameter.parameterKind.name=\u0422\u0438\u043F \u043A\u043E\u043B\u043E\u043D\u043A\u0438
meta.org.jkiss.dbeaver.ext.mysql.model.MySQLTable$AdditionalInfo.engine.name=\u0414\u0432\u0438\u0436\u043E\u043A
meta.org.jkiss.dbeaver.ext.mysql.model.MySQLTable$AdditionalInfo.autoIncrement.name=\u0410\u0432\u0442\u043E-\u0443\u0432\u0435\u043B\u0438\u0447\u0435\u043D\u0438\u0435
......
......@@ -76,7 +76,8 @@ public class MySQLView extends MySQLTableBase
public boolean isLoaded() { return loaded; }
@Property(hidden = true, editable = true, updatable = true, order = -1) public String getDefinition() { return definition; }
//@Property(hidden = true, editable = true, updatable = true, order = -1)
public String getDefinition() { return definition; }
public void setDefinition(String definition) { this.definition = definition; }
@Property(viewable = true, editable = true, updatable = true, order = 4) public CheckOption getCheckOption() { return checkOption; }
......
......@@ -55,7 +55,7 @@ public class OracleView extends OracleTableBase implements OracleSourceObject
private String typeName;
private OracleView superView;
@Property(hidden = true, editable = true, updatable = true, order = -1)
//@Property(hidden = true, editable = true, updatable = true, order = -1)
public String getText() { return text; }
public void setText(String text) { this.text = text; }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册