source: events/src/main/java/geniusweb/actions/Action.java@ 28

Last change on this file since 28 was 28, checked in by bart, 4 years ago

minor fixes to improve extendability

File size: 997 bytes
Line 
1package geniusweb.actions;
2
3import com.fasterxml.jackson.annotation.JsonSubTypes;
4import com.fasterxml.jackson.annotation.JsonTypeInfo;
5import com.fasterxml.jackson.annotation.JsonTypeInfo.As;
6import com.fasterxml.jackson.annotation.JsonTypeInfo.Id;
7
8/**
9 * An action represents a "promise" made by a participant in the negotiation. It
10 * can not be retracted and is immutable. But it can be followed by other
11 * actions that override it or make it outdated.
12 */
13@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = As.WRAPPER_OBJECT)
14@JsonSubTypes({ @JsonSubTypes.Type(value = EndNegotiation.class),
15 @JsonSubTypes.Type(value = Offer.class),
16 @JsonSubTypes.Type(value = Accept.class),
17 @JsonSubTypes.Type(value = Comparison.class),
18 @JsonSubTypes.Type(value = ElicitComparison.class),
19 @JsonSubTypes.Type(value = Vote.class),
20 @JsonSubTypes.Type(value = Votes.class) })
21public interface Action {
22 /**
23 *
24 * @return the {@link Id} of the actor of this action.
25 */
26 PartyId getActor();
27
28}
Note: See TracBrowser for help on using the repository browser.