SimpleEditLayout extends BaseServiceCustomComponent<ID, T> implements Reloadable, CanAssignEntity<ID, T> { public SimpleEditLayout(T entity, BaseService<ID, T> service, EntityModel<T> entityModel, FormOptions formOptions, FetchJoinInformation... joins) { super(service, entityModel, formOptions); setMargin(false); setClassName(DynamoConstants.CSS_SIMPLE_EDIT_LAYOUT); this.entity = entity; this.joins = joins; } SimpleEditLayout(T entity, BaseService<ID, T> service, EntityModel<T> entityModel, FormOptions formOptions,
			FetchJoinInformation... joins); void afterEntitySet(T entity); @Override void assignEntity(T t); @Override void build(); void doSave(); Consumer<T> getCustomSaveConsumer(); ModelBasedEditForm<ID, T> getEditForm(); T getEntity(); Map<String, SerializablePredicate<?>> getFieldFilters(); FetchJoinInformation[] getJoins(); boolean isViewMode(); @Override void reload(); void resetTab(); void selectTab(int index); void setCustomSaveConsumer(Consumer<T> customSaveConsumer); void setEntity(T entity); void setFieldFilters(Map<String, SerializablePredicate<?>> fieldFilters); void setJoins(FetchJoinInformation[] joins); void setLabelValue(String path, String value);  }
@Test public void testSimpleEditLayout() { SimpleEditLayout<Integer, TestEntity> layout = createLayout(e1, "TestEntity", new FormOptions()); Map<String, SerializablePredicate<?>> ff = new HashMap<>(); ff.put("testEntities", new EqualsPredicate<TestEntity>("name", "Harry")); layout.setFieldFilters(ff); layout.build(); assertNotNull(layout.getEditForm()); assertEquals(1, layout.getFieldFilters().size()); assertEquals("Bob", ((HasValue<?, ?>) layout.getEditForm().getField("name")).getValue()); assertFalse(layout.isViewMode()); assertTrue(layout.getEditForm().getSaveButtons().get(0).isVisible()); layout.setEntity(e2); assertEquals("Harry", ((HasValue<?, ?>) layout.getEditForm().getField("name")).getValue()); }