package me.corriekay.pokegoutil.data.models.operations; import com.pokegoapi.exceptions.InvalidCurrencyException; import com.pokegoapi.exceptions.LoginFailedException; import com.pokegoapi.exceptions.RemoteServerException; import me.corriekay.pokegoutil.data.enums.OperationError; import me.corriekay.pokegoutil.data.models.BpmOperationResult; import me.corriekay.pokegoutil.data.models.PokemonModel; import me.corriekay.pokegoutil.gui.enums.OperationId; import me.corriekay.pokegoutil.utils.ConfigKey; public class RenameOperation extends Operation { /** * Instantiate RenameOperation. Only used in mocking. */ protected RenameOperation() { // For mocking super(); } /** * Instantiate RenameOperation with a pokemon. * * @param pokemon pokemon to rename */ public RenameOperation(final PokemonModel pokemon) { super(pokemon); } @Override protected BpmOperationResult doOperation() { return new BpmOperationResult("Not implemented", OperationError.NOT_IMPLEMENTED); } @Override protected int getMaxDelay() { return config.getInt(ConfigKey.DELAY_RENAME_MAX); } @Override protected int getMinDelay() { return config.getInt(ConfigKey.DELAY_RENAME_MIN); } @Override public OperationId getOperationId() { return OperationId.RENAME; } @Override public BpmOperationResult validateOperation() throws InvalidCurrencyException, LoginFailedException, RemoteServerException { // I think we need to check if in gym? Wasn't checked in previous code. // if (pokemon.isInGym()) { // return new BPMResult("Pokemon is in gym"); // } return new BpmOperationResult(); } }