Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.rs2.util.mysql.accounts;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import com.rs2.server.game.node.animable.player.PlayerDefinition;
- import com.rs2.util.mysql.ReadDatabaseQuery;
- /**
- *
- * @author Brad
- *
- */
- public class CredentialValidation extends ReadDatabaseQuery {
- /* Represents the Requested Player Information to validate */
- private PlayerDefinition playerInformation;
- /* Represents Account Current State */
- private AccountStatus status;
- /* Represents Possibly Account States */
- public enum AccountStatus {
- SUCCESSFUL, INVALID_CREDENTIALS, BANNED
- }
- /**
- *
- * @param playerInformation
- */
- public CredentialValidation(PlayerDefinition playerInformation) {
- setPlayerInformation(playerInformation);
- super.fetchResult();
- }
- /*
- * (non-Javadoc)
- * @see com.rs2.util.mysql.ReadDatabaseQuery#createStatement()
- */
- @Override
- public String createStatement() {
- builder.append("SELECT * FROM characters WHERE username='" + getPlayerInformation().getUsername() + "' LIMIT 1");
- return builder.toString();
- }
- /*
- * (non-Javadoc)
- * @see com.rs2.util.mysql.ReadDatabaseQuery#returnedResult(java.sql.ResultSet)
- */
- @Override
- public void returnedResult(ResultSet result) {
- try {
- while (result.next()) {
- String password = result.getString("password");
- String banned = result.getString("bannedTill");
- if (!getPlayerInformation().getPassword().equals(password)) {
- setStatus(AccountStatus.INVALID_CREDENTIALS);
- return;
- }
- if (Long.parseLong(banned) > System.currentTimeMillis()) {
- setStatus(AccountStatus.BANNED);
- return;
- }
- setStatus(AccountStatus.SUCCESSFUL);
- }
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- /**
- * @return the playerInformation
- */
- public PlayerDefinition getPlayerInformation() {
- return playerInformation;
- }
- /**
- * @param playerInformation the playerInformation to set
- */
- public void setPlayerInformation(PlayerDefinition playerInformation) {
- this.playerInformation = playerInformation;
- }
- /**
- * @return the status
- */
- public AccountStatus getStatus() {
- return status;
- }
- /**
- * @param status the status to set
- */
- public void setStatus(AccountStatus status) {
- this.status = status;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement