package org.jbehave.examples.core.model; import static java.util.Arrays.asList; import java.util.ArrayList; import java.util.List; import org.apache.commons.lang3.builder.CompareToBuilder; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; public class Trader implements Comparable<Trader>{ private final String name; private String rank = ""; private List<Stock> stocks = new ArrayList<Stock>(); public Trader(String name, String rank) { this.name = name; this.rank = rank; } public Trader(String name, List<Stock> stocks) { this.name = name; this.stocks = stocks; } public String getName() { return name; } public String getRank() { return rank; } public List<Stock> getStocks() { return stocks; } public void addStocks(List<Stock> stocks) { this.stocks.addAll(stocks); } public void sellAllStocks(){ this.stocks = asList(new Stock[]{}); } @Override public String toString() { return ToStringBuilder.reflectionToString(this, ToStringStyle.SHORT_PREFIX_STYLE); } public int compareTo(Trader o) { return CompareToBuilder.reflectionCompare(this, o); } }