]>
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
, TYPE
> implements DataPart
<INPUT
, TYPE
> {
7 private Consumer
<TYPE
> onSelected
;
8 private Consumer
<TYPE
> onAction
;
10 private IdentityHashMap
<DataView
<INPUT
, TYPE
>, Object
> views
= new IdentityHashMap
<>();
15 public void setInput(INPUT data
) {
21 public INPUT
getInput() {
26 public void onSelected(Consumer
<TYPE
> onSelected
) {
27 this.onSelected
= onSelected
;
31 public void onAction(Consumer
<TYPE
> onAction
) {
32 this.onAction
= onAction
;
35 public Consumer
<TYPE
> getOnSelected() {
39 public Consumer
<TYPE
> getOnAction() {
44 public void refresh() {
45 for (DataView
<INPUT
, TYPE
> view
: views
.keySet()) {
50 protected void notifyItemCountChange() {
51 for (DataView
<INPUT
, TYPE
> view
: views
.keySet()) {
52 view
.notifyItemCountChange();
57 public void addView(DataView
<INPUT
, TYPE
> view
) {
58 views
.put(view
, new Object());
62 public void removeView(DataView
<INPUT
, TYPE
> view
) {