Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

import java.util.ArrayList;
import java.util.List;
import java.util.function.Consumer;

public class Main {

    public static void main(String[] args) {
        List<Trade> trades = TradeUtil.createTrades();
        trades.stream().filter(t -> t.getIssuer().equals("IBM")).forEach(System.out::println);

        System.out.println();
        trades.stream().filter(t -> t.getIssuer().equals("IBM")).filter(t -> t.getQuantity() > 15)
                .forEach(x -> System.out.println("IBM trades, qty over 15 " + x));

        System.out.println();
        Consumer<Trade> printTrade = x -> System.out.println(x);
        trades.stream().filter(t -> t.getIssuer().equals("IBM")).filter(t -> t.getQuantity() > 15)
                .filter(t -> t.getStatus().equals("NEW")).forEach(printTrade);
    }

}

class TradeUtil {

    public static List<Trade> createTrades() {
        List<Trade> trades = new ArrayList<Trade>();

        Trade t = new Trade(1, "IBM", 10, "NEW");
        trades.add(t);
        t = new Trade(2, "APPL", 20, "PENDING");
        trades.add(t);
        t = new Trade(3, "IBM", 30, "NEW");
        trades.add(t);
        t = new Trade(4, "IBM", 40, "PENDING");
        trades.add(t);

        return trades;
    }

    public static List<Trade> createTrades(int size) {
        List<Trade> trades = new ArrayList<>();

        for (int i = 0; i < size; i++) {
            Trade t = new Trade(i, "ISUER " + i, i + 1000, "NEW");
            trades.add(t);
        }
        return trades;
    }
}

class Trade {

    private int tradeId = 0;
    private String issuer = null;
    private int quantity = 0;
    private String status = null;

    public Trade(int id, String issuer, int quantity, String status) {
        this.tradeId = id;
        this.issuer = issuer;
        this.quantity = quantity;
        this.status = status;
    }

    public int getTradeId() {
        return tradeId;
    }

    public void setTradeId(int tradeId) {
        this.tradeId = tradeId;
    }

    public String getIssuer() {
        return issuer;
    }

    public void setIssuer(String issuer) {
        this.issuer = issuer;
    }

    public int getQuantity() {
        return quantity;
    }

    public void setQuantity(int quantity) {
        this.quantity = quantity;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    @Override
    public String toString() {
        return "Trade{" + "tradeId=" + tradeId + ", issuer=" + issuer + ", quantity=" + quantity + ", status="
                + status + '}';
    }

}