use of org.eclipse.scout.rt.ui.html.json.IJsonAdapter in project scout.rt by eclipse.
the class JsonStatusMenuMapping method initJsonProperties.
@Override
protected void initJsonProperties(T model) {
super.initJsonProperties(model);
putJsonProperty(new JsonProperty<T>(IStatusMenuMapping.PROP_CODES, model) {
@Override
protected List<Integer> modelValue() {
return getModel().getCodes();
}
@Override
@SuppressWarnings("unchecked")
public Object prepareValueForToJson(Object value) {
// Do NOT remove the cast! It is required to use the correct constructor.
return new JSONArray((List<Integer>) value);
}
});
putJsonProperty(new JsonProperty<T>(IStatusMenuMapping.PROP_SEVERITIES, model) {
@Override
protected List<Integer> modelValue() {
return getModel().getSeverities();
}
@Override
@SuppressWarnings("unchecked")
public Object prepareValueForToJson(Object value) {
// Do NOT remove the cast! It is required to use the correct constructor.
return new JSONArray((List<Integer>) value);
}
});
putJsonProperty(new JsonProperty<T>(IStatusMenuMapping.PROP_MENU, model) {
@Override
protected IMenu modelValue() {
return getModel().getMenu();
}
@Override
public Object prepareValueForToJson(Object value) {
// The menu is managed by the parent -> don't create a new adapter but use the one from the parent instead
IJsonAdapter adapter = getParent().getAdapter((IMenu) value, new DisplayableActionFilter<>());
if (adapter == null) {
return null;
}
return adapter.getId();
}
});
}
Aggregations