package er.snapshotexplorer.components; import com.webobjects.appserver.WOContext; import com.webobjects.eoaccess.EOAttribute; import com.webobjects.eoaccess.EOEntity; import com.webobjects.foundation.NSArray; import com.webobjects.foundation.NSKeyValueCoding; import er.extensions.appserver.ERXDisplayGroup; import er.extensions.components.ERXComponent; import er.snapshotexplorer.model.SESnapshotStats; public class SESnapshotsList extends ERXComponent { private ERXDisplayGroup<SESnapshotStats> _snapshotStatsDisplayGroup; public EOAttribute _attribute; public SESnapshotStats _snapshotStat; public SESnapshotsList(WOContext context) { super(context); _snapshotStatsDisplayGroup = new ERXDisplayGroup<>(); _snapshotStatsDisplayGroup.setNumberOfObjectsPerBatch(25); } @Override public boolean synchronizesVariablesWithBindings() { return false; } public EOEntity entity() { return (EOEntity) valueForBinding("entity"); } @SuppressWarnings("unchecked") public ERXDisplayGroup<SESnapshotStats> snapshotStatsDisplayGroup() { NSArray<SESnapshotStats> snapshotStats = (NSArray<SESnapshotStats>) valueForBinding("snapshotStats"); _snapshotStatsDisplayGroup.setObjectArray(snapshotStats); return _snapshotStatsDisplayGroup; } public Object value() { Object value = _snapshotStat.snapshot().objectForKey(_attribute.name()); if (value instanceof NSKeyValueCoding.Null) { value = null; } return value; } }