icbm/src/main/java/dan200/computercraft/api/turtle/TurtleCommandResult.java

62 lines
1.7 KiB
Java
Raw Normal View History

2022-11-09 22:15:45 +01:00
/**
* This file is part of the public ComputerCraft API - http://www.computercraft.info
2022-11-09 22:16:55 +01:00
* Copyright Daniel Ratcliffe, 2011-2015. This API may be redistributed unmodified and in
* full only. For help using the API, and posting your mods, visit the forums at
* computercraft.info.
2022-11-09 22:15:45 +01:00
*/
package dan200.computercraft.api.turtle;
2022-11-09 22:16:55 +01:00
public final class TurtleCommandResult {
private static final TurtleCommandResult s_success
= new TurtleCommandResult(true, null, null);
private static final TurtleCommandResult s_emptyFailure
= new TurtleCommandResult(false, null, null);
2022-11-09 22:15:45 +01:00
2022-11-09 22:16:55 +01:00
public static TurtleCommandResult success() {
return success(null);
2022-11-09 22:15:45 +01:00
}
2022-11-09 22:16:55 +01:00
public static TurtleCommandResult success(Object[] results) {
if (results == null || results.length == 0) {
2022-11-09 22:15:45 +01:00
return s_success;
2022-11-09 22:16:55 +01:00
} else {
return new TurtleCommandResult(true, null, results);
2022-11-09 22:15:45 +01:00
}
}
2022-11-09 22:16:55 +01:00
public static TurtleCommandResult failure() {
return failure(null);
2022-11-09 22:15:45 +01:00
}
2022-11-09 22:16:55 +01:00
public static TurtleCommandResult failure(String errorMessage) {
if (errorMessage == null) {
2022-11-09 22:15:45 +01:00
return s_emptyFailure;
2022-11-09 22:16:55 +01:00
} else {
return new TurtleCommandResult(false, errorMessage, null);
2022-11-09 22:15:45 +01:00
}
}
private final boolean m_success;
private final String m_errorMessage;
private final Object[] m_results;
2022-11-09 22:16:55 +01:00
private TurtleCommandResult(boolean success, String errorMessage, Object[] results) {
2022-11-09 22:15:45 +01:00
m_success = success;
m_errorMessage = errorMessage;
m_results = results;
}
2022-11-09 22:16:55 +01:00
public boolean isSuccess() {
2022-11-09 22:15:45 +01:00
return m_success;
}
2022-11-09 22:16:55 +01:00
public String getErrorMessage() {
2022-11-09 22:15:45 +01:00
return m_errorMessage;
}
2022-11-09 22:16:55 +01:00
public Object[] getResults() {
2022-11-09 22:15:45 +01:00
return m_results;
}
}