]>
git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.cms.ux/src/org/argeo/cms/ux/widgets/AbstractDataPart.java
1 package org
.argeo
.cms
.ux
.widgets
;
3 import java
.util
.IdentityHashMap
;
4 import java
.util
.function
.Consumer
;
6 public abstract class AbstractDataPart
<INPUT
, T
> implements DataPart
<INPUT
, T
> {
8 private Consumer
<T
> onSelected
;
9 private Consumer
<T
> onAction
;
11 private IdentityHashMap
<DataView
<INPUT
, T
>, Object
> views
= new IdentityHashMap
<>();
16 public void setInput(INPUT data
) {
22 public INPUT
getInput() {
27 public void onSelected(Consumer
<T
> onSelected
) {
28 this.onSelected
= onSelected
;
32 public void onAction(Consumer
<T
> onAction
) {
33 this.onAction
= onAction
;
36 public Consumer
<T
> getOnSelected() {
40 public Consumer
<T
> getOnAction() {
45 public void refresh() {
46 for (DataView
<INPUT
, T
> view
: views
.keySet()) {
51 protected void notifyItemCountChange() {
52 for (DataView
<INPUT
, T
> view
: views
.keySet()) {
53 view
.notifyItemCountChange();
58 public void addView(DataView
<INPUT
, T
> view
) {
59 views
.put(view
, new Object());
63 public void removeView(DataView
<INPUT
, T
> view
) {