moved a few files to api folder
This commit is contained in:
parent
efc89bbbb6
commit
528e0f465b
3 changed files with 105 additions and 0 deletions
45
src/dark/api/AccessLevel.java
Normal file
45
src/dark/api/AccessLevel.java
Normal file
|
@ -0,0 +1,45 @@
|
|||
package dark.api;
|
||||
|
||||
public enum AccessLevel
|
||||
{
|
||||
NONE("None"),
|
||||
BASIC("Basic"),
|
||||
USER("Standard"),
|
||||
ADMIN("Admin"),
|
||||
OWNER("Owner");
|
||||
|
||||
public String displayName;
|
||||
|
||||
private AccessLevel(String name)
|
||||
{
|
||||
displayName = name;
|
||||
}
|
||||
|
||||
/** Gets the access level in varies ways
|
||||
*
|
||||
* @return AccessLevel NONE instead of null if correct level can't be found. */
|
||||
public static AccessLevel get(Object ob)
|
||||
{
|
||||
if (ob instanceof String)
|
||||
{
|
||||
for (AccessLevel access : AccessLevel.values())
|
||||
{
|
||||
if (access.displayName.equalsIgnoreCase((String) ob) || access.name().equalsIgnoreCase((String) ob))
|
||||
{
|
||||
return access;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (ob instanceof Integer)
|
||||
{
|
||||
int i = (Integer) ob;
|
||||
|
||||
if (i >= 0 && i < AccessLevel.values().length)
|
||||
{
|
||||
return AccessLevel.values()[i];
|
||||
}
|
||||
}
|
||||
|
||||
return NONE;
|
||||
}
|
||||
}
|
41
src/dark/api/ISpecialAccess.java
Normal file
41
src/dark/api/ISpecialAccess.java
Normal file
|
@ -0,0 +1,41 @@
|
|||
package dark.api;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import dark.core.prefab.access.UserAccess;
|
||||
|
||||
/** Used by any object that needs to restrict access to it by a set of usernames
|
||||
*
|
||||
* @author DarkGuardsman */
|
||||
public interface ISpecialAccess
|
||||
{
|
||||
/** Gets the player's access level on the machine he is using
|
||||
*
|
||||
* @return access level of the player, make sure to return no access if the player doesn't have
|
||||
* any */
|
||||
public AccessLevel getUserAccess(String username);
|
||||
|
||||
/** gets the access list for the machine
|
||||
*
|
||||
* @return hasMap of players and there access levels */
|
||||
public List<UserAccess> getUsers();
|
||||
|
||||
/** sets the players access level in the access map
|
||||
*
|
||||
* @param player
|
||||
* @return true if the level was set false if something went wrong */
|
||||
public boolean addUserAccess(String username, AccessLevel level, boolean save);
|
||||
|
||||
/** Removes the user from the access list
|
||||
*
|
||||
* @param username
|
||||
* @return */
|
||||
public boolean removeUserAccess(String username);
|
||||
|
||||
/** Gets a list of users with this specified access level.
|
||||
*
|
||||
* @param level
|
||||
* @return */
|
||||
List<UserAccess> getUsersWithAcess(AccessLevel level);
|
||||
|
||||
}
|
19
src/dark/api/ITerminal.java
Normal file
19
src/dark/api/ITerminal.java
Normal file
|
@ -0,0 +1,19 @@
|
|||
package dark.api;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import dark.core.interfaces.IScroll;
|
||||
|
||||
/** Basic methods to make it easier to construct or interact with a terminal based tile. Recommend to
|
||||
* be used by tiles that want to mimic computer command line like interfaces. As well to restrict
|
||||
* access to the tile in the same way a computer would
|
||||
*
|
||||
* @author DarkGuardsmsan */
|
||||
public interface ITerminal extends ISpecialAccess, IScroll
|
||||
{
|
||||
/** Gets an output of the string stored in the console. */
|
||||
public List<String> getTerminalOuput();
|
||||
|
||||
/** Adds a string to the console. Server side only. */
|
||||
public boolean addToConsole(String msg);
|
||||
}
|
Loading…
Reference in a new issue