]> git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.api.cms/src/org/argeo/api/cms/CmsEditable.java
No-operation UUID factory, providing only default Java random UUIDs.
[lgpl/argeo-commons.git] / org.argeo.api.cms / src / org / argeo / api / cms / CmsEditable.java
1 package org.argeo.api.cms;
2
3 /** Abstraction of a simple edition life cycle. */
4 public interface CmsEditable {
5
6 /** Whether the calling thread can edit, the value is immutable */
7 public Boolean canEdit();
8
9 public Boolean isEditing();
10
11 public void startEditing();
12
13 public void stopEditing();
14
15 public static CmsEditable NON_EDITABLE = new CmsEditable() {
16
17 @Override
18 public void stopEditing() {
19 }
20
21 @Override
22 public void startEditing() {
23 }
24
25 @Override
26 public Boolean isEditing() {
27 return false;
28 }
29
30 @Override
31 public Boolean canEdit() {
32 return false;
33 }
34 };
35
36 public static CmsEditable ALWAYS_EDITING = new CmsEditable() {
37
38 @Override
39 public void stopEditing() {
40 }
41
42 @Override
43 public void startEditing() {
44 }
45
46 @Override
47 public Boolean isEditing() {
48 return true;
49 }
50
51 @Override
52 public Boolean canEdit() {
53 return true;
54 }
55 };
56
57 }