blob: 2882b1ed0797d8e1a3a84b1e581d1806803325d7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
/*
@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.shared.communication;
import java.io.Serializable;
import com.vaadin.shared.Connector;
import com.vaadin.terminal.gwt.client.ServerConnector;
import com.vaadin.terminal.gwt.client.ui.AbstractComponentConnector;
/**
* Interface to be implemented by all shared state classes used to communicate
* basic information about a {@link Connector} from server to client.
*
* Shared state classes have to be declared in client side packages to be
* accessible both for server and client code. They can be static nested classes
* of a {@link ServerConnector}.
*
* Shared state objects are only sent from the server to the client, and any
* modifications from the client should be performed via an RPC call that
* modifies the authoritative state on the server.
*
* A shared state class should be a bean with getters and setters for each
* field. Supported data types are simple Java types, other beans and maps and
* arrays of these.
*
* On the client side the connector should override
* {@link AbstractComponentConnector#createState()} to create the correct state
* class and {@link AbstractComponentConnector#getState()} override the return
* type.
*
* Subclasses of a {@link Connector} using shared state should also provide a
* subclass of the shared state class of the parent class to extend the state. A
* single {@link Connector} can only have one shared state object.
*
* @since 7.0
*/
public class SharedState implements Serializable {
private boolean enabled = true;
/**
* Returns true if the component is enabled.
*
* @see com.vaadin.ui.Component#isEnabled()
*
* @return true if the component is enabled
*/
public boolean isEnabled() {
return enabled;
}
/**
* Enables or disables the component.
*
* @see com.vaadin.ui.Component#setEnabled(boolean)
*
* @param enabled
* new mode for the component
*/
public void setEnabled(boolean enabled) {
this.enabled = enabled;
}
}
|