private Package doSearch(int id, Category category) { for (Package aPackage : category.getPackages()) { if (aPackage.getId() == id) return aPackage; } for (Category sub : category.getSubcategories()) { Package p = doSearch(id, sub); if (p != null) return p; } return null; } }
public void order() { Collections.sort(categories); for (Category category : categories) { category.order(); } } }
public Node getChild(Category subcategory) { return new Node(subcategory.getSubcategories(), subcategory.getPackages(), subcategory.getName(), this); }
public List<String> format(RecentPayment p) { NumberFormat format = NumberFormat.getCurrencyInstance(Locale.US); format.setCurrency(Currency.getInstance(p.getCurrency().getIso4217())); List<String> formatted = new ArrayList<>(); for (String line : lines) { formatted.add(line.replace("%player%", p.getPlayer().getName()) .replace("%amount%", format.format(p.getAmount()))); } return formatted; } }
@Override public String replace(String command, QueuedPlayer player, QueuedCommand queuedCommand) { return REPLACE_NAME.matcher(command).replaceAll(player.getName()); } }
@Override public void run() { try { plugin.getApiClient().createCoupon(coupon); sender.sendMessage(TextFormat.GREEN + plugin.getI18n().get("coupon_creation_success", coupon.getCode())); } catch (ApiException | IOException e) { sender.sendMessage(TextFormat.RED + plugin.getI18n().get("generic_api_operation_error")); } } });
private static int calculatePages(Category category) { int pagesWithSubcats = (int) Math.ceil(category.getSubcategories().size() / 9D); int pagesWithPackages = (int) Math.ceil(category.getPackages().size() / 36D); return Math.max(pagesWithSubcats, pagesWithPackages); }
public GUIImpl(Integer parentId, int page, Category category) { this.inventory = Bukkit.createInventory(null, calculateSize(category, page), GUIUtil.trimName("Buycraft: " + category.getName())); this.parentId = parentId; this.page = page; update(category); }
public BigDecimal getEffectivePrice() { BigDecimal rounded = price.setScale(2, BigDecimal.ROUND_HALF_UP); if (sale == null) { return rounded; } return rounded.subtract(sale.getDiscount().setScale(2, BigDecimal.ROUND_HALF_UP)); }
private int calculateSize(Category category, int page) { // TODO: Calculate this amount based on no of packages int needed = 45; // bottom row if (!category.getSubcategories().isEmpty()) { int pagesWithSubcats = (int) Math.ceil(category.getSubcategories().size() / 9D); if (pagesWithSubcats >= page) { // more pages exist needed += 9; } } // if we show subcategories, we can't show as many pages return needed; }
public GUIImpl getFirstPage(Category category) { List<GUIImpl> guis = categoryMenus.get(category.getId()); if (guis == null) return null; return Iterables.getFirst(guis, null); }
@Override public int compareTo(Category o) { Objects.requireNonNull(o, "category"); return Integer.compare(order, o.getOrder()); }
@Override public int compareTo(Package o) { Objects.requireNonNull(o, "package"); return Integer.compare(order, o.getOrder()); }
public String doReplace(QueuedPlayer player, QueuedCommand command) { String c = command.getCommand(); for (Placeholder placeholder : placeholderList) { c = placeholder.replace(c, player, command); } return c; } }
private Player getPlayer(QueuedPlayer player) { return plugin.getServer().getPlayer(player.getName()); }
@Override public String replace(String command, QueuedPlayer player, QueuedCommand queuedCommand) { if (player.getUuid() == null) { return command; // can't replace UUID for offline mode } return REPLACE_UUID.matcher(command).replaceAll(UuidUtil.mojangUuidToJavaUuid(player.getUuid()).toString()); } }
@Override public void run() { categoryMenus.get(category.getId()).get(page - 1).open(player); } });
public void order() { Collections.sort(packages); if (subcategories != null) { Collections.sort(subcategories); for (Category category : subcategories) { category.order(); } } } }
@Override public void run() { categoryMenus.get(category.getId()).get(page + 1).open(player); } });