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

Last change on this file since 46 was 46, checked in by bart, 3 years ago

refactor to help reusing partiesserver

File size: 1.1 KB
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),
21 @JsonSubTypes.Type(value = VoteWithValue.class),
22 @JsonSubTypes.Type(value = VotesWithValue.class),
23 @JsonSubTypes.Type(value = LearningDone.class) })
24public interface Action {
25 /**
26 *
27 * @return the {@link Id} of the actor of this action.
28 */
29 PartyId getActor();
30
31}
Note: See TracBrowser for help on using the repository browser.