@Data
public class StockModel {
private String symbol;
private String name;
private String description;
private BigDecimal currentPrice;
private BigDecimal prevClosePrice;
public StockModel(String symbol, String name, String description, BigDecimal currentPrice, BigDecimal prevClosePrice) {
this.symbol = symbol;
this.name = name;
this.description = description;
this.currentPrice = currentPrice;
this.prevClosePrice = prevClosePrice;
}
}
@Test
public void testMoreAttrStockModelCreation() {
Function<String, Function<String, Function<String, Function<BigDecimal, Function<BigDecimal, StockModelB>>>>>
curryingStockModelCreator =
symbol -> name -> desc -> currPrice -> prevPrice -> new StockModel(symbol, name, desc, currPrice, prevPrice);
StockModel demoStockModel = curryingStockModelCreator
.apply("SYMBOL")
.apply("NAME")
.apply("DESCRIPTION")
.apply(new BigDecimal("1.00"))
.apply(new BigDecimal("0.99"));
}