AttributeManipulation.java
package access.manipulation;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import org.springframework.expression.Expression;
@Entity(name = "attribute_manipulations")
@NoArgsConstructor
@Getter
@Setter
public class AttributeManipulation {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column
@NotNull
private String script;
// not persisted
private transient Expression compiledExpression;
public AttributeManipulation(String script, Expression compiledExpression) {
this.script = script;
this.compiledExpression = compiledExpression;
}
}