use of org.linkki.core.ui.section.annotations.BindingDefinition in project linkki by linkki-framework.
the class BindingContextTest method testBind_BoundComponentsAreMadeImmediate.
@Test
public void testBind_BoundComponentsAreMadeImmediate() {
setUpPmo();
TextField field = new TextField();
BindingDefinition fieldDefintion = mock(BindingDefinition.class);
when(fieldDefintion.required()).thenReturn(RequiredType.REQUIRED);
when(fieldDefintion.enabled()).thenReturn(EnabledType.ENABLED);
when(fieldDefintion.visible()).thenReturn(VisibleType.VISIBLE);
ElementDescriptor fieldDescriptor = new ElementDescriptor(fieldDefintion, "value", Void.class, new ArrayList<>());
// Precondition
assertThat(field.isImmediate(), is(false));
context.bind(pmo, fieldDescriptor, new LabelComponentWrapper(field));
assertThat(field.isImmediate(), is(true));
}
use of org.linkki.core.ui.section.annotations.BindingDefinition in project linkki by linkki-framework.
the class UIAnnotationReader method createAndAddDescriptor.
private void createAndAddDescriptor(Annotation annotation, Method method) {
List<LinkkiAspectDefinition> aspectDefs = AspectAnnotationReader.createAspectDefinitionsFrom(annotation);
String pmoPropertyName = getPmoPropertyName(method);
PropertyElementDescriptors elementDescriptors = descriptorsByProperty.computeIfAbsent(pmoPropertyName, PropertyElementDescriptors::new);
if (BindingDefinition.isLinkkiBindingDefinition(annotation)) {
BindingDefinition uiElement = BindingDefinition.from(annotation);
addDescriptor(elementDescriptors, uiElement, pmoPropertyName, annotation, aspectDefs);
} else {
elementDescriptors.addAspect(aspectDefs);
if (annotation instanceof UITableColumn) {
columnDescriptors.put(elementDescriptors, new TableColumnDescriptor(annotatedClass, method, (UITableColumn) annotation));
}
}
}
Aggregations