BuyCommand.java

package com.tdmconsult.ete.evaluation.commands;

import com.tdmconsult.ete.evaluation.EvaluableTransaction;
import com.tdmconsult.ete.evaluation.EvaluationPosition;
import com.tdmconsult.ete.evaluation.EvaluationState;
import lombok.Data;
import lombok.RequiredArgsConstructor;
import lombok.experimental.Accessors;

@Data
@Accessors(chain = true)
@RequiredArgsConstructor
public class BuyCommand implements Command {

    private final EvaluableTransaction trx;

    @Override
    public void execute(final EvaluationState state) {
        state.getPositions().add(new EvaluationPosition(trx));
    }
}