mirror of
https://github.com/Multiverse/Multiverse-Core.git
synced 2024-11-25 12:05:14 +01:00
Add paginated commands, Closes #203, Add folder suggestions when your import fails
This commit is contained in:
parent
792d2ce5e6
commit
939a2e8b1f
@ -18,8 +18,7 @@ import org.bukkit.permissions.PermissionDefault;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class HelpCommand extends MultiverseCommand {
|
public class HelpCommand extends PaginatedCommand<Command> {
|
||||||
private static final int CMDS_PER_PAGE = 7;
|
|
||||||
|
|
||||||
public HelpCommand(MultiverseCore plugin) {
|
public HelpCommand(MultiverseCore plugin) {
|
||||||
super(plugin);
|
super(plugin);
|
||||||
@ -34,69 +33,14 @@ public class HelpCommand extends MultiverseCommand {
|
|||||||
this.addKey("mv search");
|
this.addKey("mv search");
|
||||||
this.addCommandExample("/mv help ?");
|
this.addCommandExample("/mv help ?");
|
||||||
this.setPermission("multiverse.help", "Displays a nice help menu.", PermissionDefault.TRUE);
|
this.setPermission("multiverse.help", "Displays a nice help menu.", PermissionDefault.TRUE);
|
||||||
|
this.setItemsPerPage(7);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void runCommand(CommandSender sender, List<String> args) {
|
protected List<Command> getFilteredItems(List<Command> availableItems, String filter) {
|
||||||
sender.sendMessage(ChatColor.AQUA + "====[ Multiverse Help ]====");
|
|
||||||
|
|
||||||
int page = 1;
|
|
||||||
|
|
||||||
String filter = "";
|
|
||||||
|
|
||||||
if (args.size() == 0) {
|
|
||||||
filter = "";
|
|
||||||
page = 1;
|
|
||||||
} else if (args.size() == 1) {
|
|
||||||
try {
|
|
||||||
page = Integer.parseInt(args.get(0));
|
|
||||||
} catch (NumberFormatException ex) {
|
|
||||||
filter = args.get(0);
|
|
||||||
page = 1;
|
|
||||||
}
|
|
||||||
} else if (args.size() == 2) {
|
|
||||||
filter = args.get(0);
|
|
||||||
try {
|
|
||||||
page = Integer.parseInt(args.get(1));
|
|
||||||
} catch (NumberFormatException ex) {
|
|
||||||
page = 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
List<Command> availableCommands = new ArrayList<Command>(this.plugin.getCommandHandler().getCommands(sender));
|
|
||||||
if (filter.length() > 0) {
|
|
||||||
availableCommands = this.getFilteredCommands(availableCommands, filter);
|
|
||||||
if (availableCommands.size() == 0) {
|
|
||||||
sender.sendMessage(ChatColor.RED + "Sorry... " + ChatColor.WHITE + "No commands matched your filter: " + ChatColor.AQUA + filter);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!(sender instanceof Player)) {
|
|
||||||
sender.sendMessage(ChatColor.AQUA + " Add a '" + ChatColor.DARK_PURPLE + "?" + ChatColor.AQUA + "' after a command to see more about it.");
|
|
||||||
for (Command c : availableCommands) {
|
|
||||||
sender.sendMessage(ChatColor.AQUA + c.getCommandUsage());
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
int totalPages = (int) Math.ceil(availableCommands.size() / (CMDS_PER_PAGE + 0.0));
|
|
||||||
|
|
||||||
if (page > totalPages) {
|
|
||||||
page = totalPages;
|
|
||||||
}
|
|
||||||
|
|
||||||
sender.sendMessage(ChatColor.AQUA + " Page " + page + " of " + totalPages);
|
|
||||||
sender.sendMessage(ChatColor.AQUA + " Add a '" + ChatColor.DARK_PURPLE + "?" + ChatColor.AQUA + "' after a command to see more about it.");
|
|
||||||
|
|
||||||
this.showPage(page, sender, availableCommands);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private List<Command> getFilteredCommands(List<Command> availableCommands, String filter) {
|
|
||||||
List<Command> filtered = new ArrayList<Command>();
|
List<Command> filtered = new ArrayList<Command>();
|
||||||
|
|
||||||
for (Command c : availableCommands) {
|
for (Command c : availableItems) {
|
||||||
if (stitchThisString(c.getKeyStrings()).matches("(?i).*" + filter + ".*")) {
|
if (stitchThisString(c.getKeyStrings()).matches("(?i).*" + filter + ".*")) {
|
||||||
filtered.add(c);
|
filtered.add(c);
|
||||||
} else if (c.getCommandName().matches("(?i).*" + filter + ".*")) {
|
} else if (c.getCommandName().matches("(?i).*" + filter + ".*")) {
|
||||||
@ -110,25 +54,43 @@ public class HelpCommand extends MultiverseCommand {
|
|||||||
return filtered;
|
return filtered;
|
||||||
}
|
}
|
||||||
|
|
||||||
private String stitchThisString(List<String> list) {
|
@Override
|
||||||
String returnstr = "";
|
protected String getItemText(Command item) {
|
||||||
for (String s : list) {
|
return ChatColor.AQUA + item.getCommandUsage();
|
||||||
returnstr += s + " ";
|
|
||||||
}
|
|
||||||
return returnstr;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void showPage(int page, CommandSender sender, List<Command> cmds) {
|
@Override
|
||||||
int start = (page - 1) * CMDS_PER_PAGE;
|
public void runCommand(CommandSender sender, List<String> args) {
|
||||||
int end = start + CMDS_PER_PAGE;
|
sender.sendMessage(ChatColor.AQUA + "====[ Multiverse Help ]====");
|
||||||
for (int i = start; i < end; i++) {
|
|
||||||
// For consistancy, print some extra lines if it's a player:
|
FilterObject filterObject = this.getPageAndFilter(args);
|
||||||
if (i < cmds.size()) {
|
|
||||||
sender.sendMessage(ChatColor.AQUA + cmds.get(i).getCommandUsage());
|
List<Command> availableCommands = new ArrayList<Command>(this.plugin.getCommandHandler().getCommands(sender));
|
||||||
} else if (sender instanceof Player) {
|
if (filterObject.getFilter().length() > 0) {
|
||||||
sender.sendMessage(" ");
|
availableCommands = this.getFilteredItems(availableCommands, filterObject.getFilter());
|
||||||
}
|
if (availableCommands.size() == 0) {
|
||||||
|
sender.sendMessage(ChatColor.RED + "Sorry... " + ChatColor.WHITE + "No commands matched your filter: " + ChatColor.AQUA + filterObject.getFilter());
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!(sender instanceof Player)) {
|
||||||
|
sender.sendMessage(ChatColor.AQUA + " Add a '" + ChatColor.DARK_PURPLE + "?" + ChatColor.AQUA + "' after a command to see more about it.");
|
||||||
|
for (Command c : availableCommands) {
|
||||||
|
sender.sendMessage(ChatColor.AQUA + c.getCommandUsage());
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
int totalPages = (int) Math.ceil(availableCommands.size() / (this.ITEMS_PER_PAGE + 0.0));
|
||||||
|
|
||||||
|
if (filterObject.getPage() > totalPages) {
|
||||||
|
filterObject.setPage(totalPages);
|
||||||
|
}
|
||||||
|
|
||||||
|
sender.sendMessage(ChatColor.AQUA + " Page " + filterObject.getPage() + " of " + totalPages);
|
||||||
|
sender.sendMessage(ChatColor.AQUA + " Add a '" + ChatColor.DARK_PURPLE + "?" + ChatColor.AQUA + "' after a command to see more about it.");
|
||||||
|
|
||||||
|
this.showPage(filterObject.getPage(), sender, availableCommands);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -9,6 +9,7 @@ package com.onarandombox.MultiverseCore.commands;
|
|||||||
|
|
||||||
import com.onarandombox.MultiverseCore.MultiverseCore;
|
import com.onarandombox.MultiverseCore.MultiverseCore;
|
||||||
import com.onarandombox.MultiverseCore.api.MVWorldManager;
|
import com.onarandombox.MultiverseCore.api.MVWorldManager;
|
||||||
|
import com.onarandombox.MultiverseCore.api.MultiverseWorld;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.World.Environment;
|
import org.bukkit.World.Environment;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
@ -17,6 +18,8 @@ import org.bukkit.permissions.PermissionDefault;
|
|||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FilenameFilter;
|
import java.io.FilenameFilter;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class ImportCommand extends MultiverseCommand {
|
public class ImportCommand extends MultiverseCommand {
|
||||||
@ -63,9 +66,17 @@ public class ImportCommand extends MultiverseCommand {
|
|||||||
File worldFolder = this.plugin.getServer().getWorldContainer();
|
File worldFolder = this.plugin.getServer().getWorldContainer();
|
||||||
File[] files = worldFolder.listFiles();
|
File[] files = worldFolder.listFiles();
|
||||||
String worldList = "";
|
String worldList = "";
|
||||||
|
Collection<MultiverseWorld> worlds = this.worldManager.getMVWorlds();
|
||||||
|
List<String> worldStrings = new ArrayList<String>();
|
||||||
|
for (MultiverseWorld world : worlds) {
|
||||||
|
worldStrings.add(world.getName());
|
||||||
|
}
|
||||||
|
for (String world : this.worldManager.getUnloadedWorlds()) {
|
||||||
|
worldStrings.add(world);
|
||||||
|
}
|
||||||
ChatColor currColor = ChatColor.WHITE;
|
ChatColor currColor = ChatColor.WHITE;
|
||||||
for (File file : files) {
|
for (File file : files) {
|
||||||
if (file.isDirectory() && checkIfIsWorld(file)) {
|
if (file.isDirectory() && checkIfIsWorld(file) && !worldStrings.contains(file.getName())) {
|
||||||
worldList += currColor + file.getName() + " ";
|
worldList += currColor + file.getName() + " ";
|
||||||
if (currColor == ChatColor.WHITE) {
|
if (currColor == ChatColor.WHITE) {
|
||||||
currColor = ChatColor.YELLOW;
|
currColor = ChatColor.YELLOW;
|
||||||
@ -83,6 +94,7 @@ public class ImportCommand extends MultiverseCommand {
|
|||||||
|
|
||||||
if (worldName.toLowerCase().equals("--list") || worldName.toLowerCase().equals("-l")) {
|
if (worldName.toLowerCase().equals("--list") || worldName.toLowerCase().equals("-l")) {
|
||||||
String worldList = this.getPotentialWorlds();
|
String worldList = this.getPotentialWorlds();
|
||||||
|
sender.sendMessage(ChatColor.AQUA + "====[ These look like worlds ]====");
|
||||||
sender.sendMessage(worldList);
|
sender.sendMessage(worldList);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -116,11 +128,13 @@ public class ImportCommand extends MultiverseCommand {
|
|||||||
Command.broadcastCommandMessage(sender, "Complete!");
|
Command.broadcastCommandMessage(sender, "Complete!");
|
||||||
} else if (env == null) {
|
} else if (env == null) {
|
||||||
sender.sendMessage(ChatColor.RED + "FAILED.");
|
sender.sendMessage(ChatColor.RED + "FAILED.");
|
||||||
sender.sendMessage("That world type did not exist.");
|
sender.sendMessage("That world environment did not exist.");
|
||||||
sender.sendMessage("For a list of available world types, type: /mvenv");
|
sender.sendMessage("For a list of available world types, type: " + ChatColor.AQUA + "/mvenv");
|
||||||
} else {
|
} else {
|
||||||
sender.sendMessage(ChatColor.RED + "FAILED.");
|
sender.sendMessage(ChatColor.RED + "FAILED.");
|
||||||
sender.sendMessage("That world folder does not exist...");
|
String worldList = this.getPotentialWorlds();
|
||||||
|
sender.sendMessage("That world folder does not exist. These look like worlds to me:");
|
||||||
|
sender.sendMessage(worldList);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -9,35 +9,32 @@ package com.onarandombox.MultiverseCore.commands;
|
|||||||
|
|
||||||
import com.onarandombox.MultiverseCore.MultiverseCore;
|
import com.onarandombox.MultiverseCore.MultiverseCore;
|
||||||
import com.onarandombox.MultiverseCore.api.MultiverseWorld;
|
import com.onarandombox.MultiverseCore.api.MultiverseWorld;
|
||||||
|
import com.pneumaticraft.commandhandler.Command;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.World.Environment;
|
import org.bukkit.World.Environment;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.permissions.PermissionDefault;
|
import org.bukkit.permissions.PermissionDefault;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class ListCommand extends MultiverseCommand {
|
public class ListCommand extends PaginatedCommand<String> {
|
||||||
|
|
||||||
public ListCommand(MultiverseCore plugin) {
|
public ListCommand(MultiverseCore plugin) {
|
||||||
super(plugin);
|
super(plugin);
|
||||||
this.setName("World Listing");
|
this.setName("World Listing");
|
||||||
this.setCommandUsage("/mv list");
|
this.setCommandUsage("/mv list");
|
||||||
this.setArgRange(0, 0);
|
this.setArgRange(0, 2);
|
||||||
this.addKey("mvlist");
|
this.addKey("mvlist");
|
||||||
this.addKey("mvl");
|
this.addKey("mvl");
|
||||||
this.addKey("mv list");
|
this.addKey("mv list");
|
||||||
this.setPermission("multiverse.core.list.worlds", "Displays a listing of all worlds that you can enter.", PermissionDefault.OP);
|
this.setPermission("multiverse.core.list.worlds", "Displays a listing of all worlds that you can enter.", PermissionDefault.OP);
|
||||||
|
this.setItemsPerPage(8);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
private List<String> getFancyWorldList(Player p) {
|
||||||
public void runCommand(CommandSender sender, List<String> args) {
|
List<String> worldList = new ArrayList<String>();
|
||||||
Player p = null;
|
|
||||||
if (sender instanceof Player) {
|
|
||||||
p = (Player) sender;
|
|
||||||
}
|
|
||||||
|
|
||||||
String output = ChatColor.LIGHT_PURPLE + "Worlds which you can view:\n";
|
|
||||||
for (MultiverseWorld world : this.plugin.getMVWorldManager().getMVWorlds()) {
|
for (MultiverseWorld world : this.plugin.getMVWorldManager().getMVWorlds()) {
|
||||||
|
|
||||||
if (p != null && (!this.plugin.getMVPerms().canEnterWorld(p, world))) {
|
if (p != null && (!this.plugin.getMVPerms().canEnterWorld(p, world))) {
|
||||||
@ -53,26 +50,76 @@ public class ListCommand extends MultiverseCommand {
|
|||||||
} else if (env == Environment.THE_END) {
|
} else if (env == Environment.THE_END) {
|
||||||
color = ChatColor.AQUA;
|
color = ChatColor.AQUA;
|
||||||
}
|
}
|
||||||
String outputCache = world.getColoredWorldString() + ChatColor.WHITE + " - " + color + world.getEnvironment() + " \n";
|
String outputCache = world.getColoredWorldString() + ChatColor.WHITE + " - " + color + world.getEnvironment();
|
||||||
if (world.isHidden()) {
|
if (world.isHidden()) {
|
||||||
// TODO: Add an actual permission for this.
|
if (p == null || p.hasPermission("multiverse.core.modify")) {
|
||||||
if (p == null || p.isOp()) {
|
|
||||||
// Prefix hidden worlds with an "[H]"
|
// Prefix hidden worlds with an "[H]"
|
||||||
outputCache = ChatColor.GRAY + "[H]" + outputCache;
|
worldList.add(ChatColor.GRAY + "[H]" + outputCache);
|
||||||
output += outputCache;
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
output += outputCache;
|
worldList.add(outputCache);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (String name : this.plugin.getMVWorldManager().getUnloadedWorlds()) {
|
for (String name : this.plugin.getMVWorldManager().getUnloadedWorlds()) {
|
||||||
if (p == null || this.plugin.getMVPerms().hasPermission(p, "multiverse.access." + name, true)) {
|
if (p == null || this.plugin.getMVPerms().hasPermission(p, "multiverse.access." + name, true)) {
|
||||||
output += ChatColor.GRAY + name + " - UNLOADED\n";
|
worldList.add(ChatColor.GRAY + name + " - UNLOADED");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
String[] response = output.split("\n");
|
return worldList;
|
||||||
for (String msg : response) {
|
}
|
||||||
sender.sendMessage(msg);
|
|
||||||
|
@Override
|
||||||
|
protected List<String> getFilteredItems(List<String> availableItems, String filter) {
|
||||||
|
List<String> filtered = new ArrayList<String>();
|
||||||
|
|
||||||
|
for (String s : availableItems) {
|
||||||
|
if (s.matches("(?i).*" + filter + ".*")) {
|
||||||
|
filtered.add(s);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return filtered;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected String getItemText(String item) {
|
||||||
|
return item;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void runCommand(CommandSender sender, List<String> args) {
|
||||||
|
sender.sendMessage(ChatColor.LIGHT_PURPLE + "====[ Multiverse World List ]====");
|
||||||
|
Player p = null;
|
||||||
|
if (sender instanceof Player) {
|
||||||
|
p = (Player) sender;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
FilterObject filterObject = this.getPageAndFilter(args);
|
||||||
|
|
||||||
|
List<String> availableWorlds = new ArrayList<String>(this.getFancyWorldList(p));
|
||||||
|
if (filterObject.getFilter().length() > 0) {
|
||||||
|
availableWorlds = this.getFilteredItems(availableWorlds, filterObject.getFilter());
|
||||||
|
if (availableWorlds.size() == 0) {
|
||||||
|
sender.sendMessage(ChatColor.RED + "Sorry... " + ChatColor.WHITE + "No worlds matched your filter: " + ChatColor.AQUA + filterObject.getFilter());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!(sender instanceof Player)) {
|
||||||
|
for (String c : availableWorlds) {
|
||||||
|
sender.sendMessage(c);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
int totalPages = (int) Math.ceil(availableWorlds.size() / (this.ITEMS_PER_PAGE + 0.0));
|
||||||
|
|
||||||
|
if (filterObject.getPage() > totalPages) {
|
||||||
|
filterObject.setPage(totalPages);
|
||||||
|
}
|
||||||
|
|
||||||
|
sender.sendMessage(ChatColor.AQUA + " Page " + filterObject.getPage() + " of " + totalPages);
|
||||||
|
|
||||||
|
this.showPage(filterObject.getPage(), sender, availableWorlds);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,108 @@
|
|||||||
|
/******************************************************************************
|
||||||
|
* Multiverse 2 Copyright (c) the Multiverse Team 2011. *
|
||||||
|
* Multiverse 2 is licensed under the BSD License. *
|
||||||
|
* For more information please check the README.md file included *
|
||||||
|
* with this project. *
|
||||||
|
******************************************************************************/
|
||||||
|
|
||||||
|
package com.onarandombox.MultiverseCore.commands;
|
||||||
|
|
||||||
|
import com.onarandombox.MultiverseCore.MultiverseCore;
|
||||||
|
import com.pneumaticraft.commandhandler.Command;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Multiverse 2
|
||||||
|
*
|
||||||
|
* @author fernferret
|
||||||
|
*/
|
||||||
|
public abstract class PaginatedCommand<T> extends MultiverseCommand {
|
||||||
|
protected int ITEMS_PER_PAGE = 9;
|
||||||
|
|
||||||
|
|
||||||
|
public PaginatedCommand(MultiverseCore plugin) {
|
||||||
|
super(plugin);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void setItemsPerPage(int items) {
|
||||||
|
ITEMS_PER_PAGE = items;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected abstract List<T> getFilteredItems(List<T> availableItems, String filter);
|
||||||
|
|
||||||
|
protected String stitchThisString(List<String> list) {
|
||||||
|
String returnstr = "";
|
||||||
|
for (String s : list) {
|
||||||
|
returnstr += s + " ";
|
||||||
|
}
|
||||||
|
return returnstr;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void showPage(int page, CommandSender sender, List<T> cmds) {
|
||||||
|
int start = (page - 1) * ITEMS_PER_PAGE;
|
||||||
|
int end = start + ITEMS_PER_PAGE;
|
||||||
|
for (int i = start; i < end; i++) {
|
||||||
|
// For consistancy, print some extra lines if it's a player:
|
||||||
|
if (i < cmds.size()) {
|
||||||
|
sender.sendMessage(this.getItemText(cmds.get(i)));
|
||||||
|
} else if (sender instanceof Player) {
|
||||||
|
sender.sendMessage(" ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected abstract String getItemText(T item);
|
||||||
|
|
||||||
|
protected FilterObject getPageAndFilter(List<String> args) {
|
||||||
|
int page = 1;
|
||||||
|
|
||||||
|
String filter = "";
|
||||||
|
|
||||||
|
if (args.size() == 0) {
|
||||||
|
filter = "";
|
||||||
|
page = 1;
|
||||||
|
} else if (args.size() == 1) {
|
||||||
|
try {
|
||||||
|
page = Integer.parseInt(args.get(0));
|
||||||
|
} catch (NumberFormatException ex) {
|
||||||
|
filter = args.get(0);
|
||||||
|
page = 1;
|
||||||
|
}
|
||||||
|
} else if (args.size() == 2) {
|
||||||
|
filter = args.get(0);
|
||||||
|
try {
|
||||||
|
page = Integer.parseInt(args.get(1));
|
||||||
|
} catch (NumberFormatException ex) {
|
||||||
|
page = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return new FilterObject(page, filter);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected class FilterObject {
|
||||||
|
private Integer page;
|
||||||
|
private String filter;
|
||||||
|
|
||||||
|
public FilterObject(Integer page, String filter) {
|
||||||
|
this.page = page;
|
||||||
|
this.filter = filter;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getPage() {
|
||||||
|
return this.page;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPage(int page) {
|
||||||
|
this.page = page;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getFilter() {
|
||||||
|
return this.filter;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user