protected void addCell(Item<ICellPopulator<T>> item, String componentId, IModel<T> model) { final ListCell cell = new ListCell(componentId, model, renderer, attributeModifier, context); if (attributeModifier != null) { AttributeModifier[] columnModifiers = attributeModifier.getColumnAttributeModifiers(); if (columnModifiers != null) { for (final AttributeModifier columnModifier : columnModifiers) { if (columnModifier == null) { continue; } item.add(columnModifier); if (columnModifier instanceof IObservable && context != null) { IObserver observer = new IObserver<IObservable>() { public IObservable getObservable() { return (IObservable) columnModifier; } public void onEvent(Iterator<? extends IEvent<IObservable>> events) { AjaxRequestTarget target = RequestCycle.get().find(AjaxRequestTarget.class); if (target != null) { target.add(cell); } } }; context.registerService(observer, IObserver.class.getName()); observers.add(observer); } } } } item.add(cell); }
AttributeModifier[] cellModifiers; if (attributeModifier instanceof AbstractListAttributeModifier) { cellModifiers = ((AbstractListAttributeModifier) attributeModifier).getCellAttributeModifiers(model); } else { cellModifiers = ((IListAttributeModifier) attributeModifier).getCellAttributeModifiers(model);