/** * This file is part of aion-emu <aion-emu.com>. * * aion-emu is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * aion-emu is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with aion-emu. If not, see <http://www.gnu.org/licenses/>. */ package com.aionemu.loginserver.model; import java.sql.Timestamp; /** * This class represents banned ip * * @author SoulKeeper */ public class BannedIP { /** * Returns id of ip ban */ private Integer id; /** * Returns ip mask */ private String mask; /** * Returns expiration time */ private Timestamp timeEnd; /** * Checks if ban is still active * * @return true if ban is still active */ public boolean isActive() { return timeEnd == null || timeEnd.getTime() > System.currentTimeMillis(); } /** * Returns ban id * * @return ban id */ public Integer getId() { return id; } /** * Sets ban id * * @param id * ban id */ public void setId(Integer id) { this.id = id; } /** * Retuns ip mask * * @return ip mask */ public String getMask() { return mask; } /** * Sets ip mask * * @param mask * ip mask */ public void setMask(String mask) { this.mask = mask; } /** * Returns expiration time of ban * * @return expiration time of ban */ public Timestamp getTimeEnd() { return timeEnd; } /** * Sets expiration time of ban * * @param timeEnd * expiration time of ban */ public void setTimeEnd(Timestamp timeEnd) { this.timeEnd = timeEnd; } /** * Returns true if this ip ban is equal to another. Based on {@link #mask} * * @param o * another ip ban * @return true if ban's are equals */ @Override public boolean equals(Object o) { if (this == o) return true; if (!(o instanceof BannedIP)) return false; BannedIP bannedIP = (BannedIP) o; return !(mask != null ? !mask.equals(bannedIP.mask) : bannedIP.mask != null); } /** * Returns ban's hashcode. Based on mask * * @return ban's hashcode */ @Override public int hashCode() { return mask != null ? mask.hashCode() : 0; } }