package org.alien4cloud.tosca.editor.operations;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import com.fasterxml.jackson.annotation.JsonTypeInfo.As;
import com.fasterxml.jackson.annotation.JsonTypeInfo.Id;
import lombok.Getter;
import lombok.Setter;
/**
* A model operation is the operation that indeed affect the user.
*/
@Getter
@Setter
@JsonTypeInfo(use = Id.CLASS, include = As.PROPERTY, property = "type")
public abstract class AbstractEditorOperation {
/** The id of the operation (generated server side). */
private String id;
/** The author of the operation. */
private String author;
/** This is used for optimistic locking and validating that operations are done in the right order. */
private String previousOperationId;
public abstract String commitMessage();
}