package demo;

import org.springframework.stereotype.Component;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

@Component
public class LogikaKalkulatoraImpl implements LogikaKalkulatora {
    private List<String> historiaDzialan = Collections.synchronizedList(new ArrayList<>());

    @Override
    public int oblicz(int liczba1, int liczba2, String operacja) {
        historiaDzialan.add(String.format("%d %s %d", liczba1, operacja, liczba2));

        switch(operacja) {
            case "+": return liczba1 + liczba2;
            case "-": return liczba1 - liczba2;
            case "*": return liczba1 * liczba2;
            case "/": return liczba1 / liczba2;
            default: return 0;
        }
    }

    @Override
    public List<String> getHistoriaDzialan() {
        return Collections.unmodifiableList(historiaDzialan);
    }
}
