/** * Load the GameCharacter from the database. * * @param name The (unique) name of the game character. * @return A GameCharacter object holding all information. * @exception UnknownUserException If no entry with the given name could be found in the database. */ public static GameCharacter load(String name) throws UnknownUserException { // Load user state from database. This method throws a // UserNotFoundException if the user is not in the database. Log.info("CharacterState", "load", "Load data of character: " + name); try { GameCharacter character = JdbcUtil.loadCharacter(name); character.setStateful(true); Log.info("CharacterState", "load", "Character data loaded."); return character; } catch (NoRecordFoundException e) { throw new UnknownUserException("Character name: " + name); } }
/** * Save the GameCharacter into the database. * * @param character The game character that should be saved. * @exception LabySQLException thrown in case of database problems. */ public static void save(GameCharacter character) throws LabySQLException { // Save user state into database. try { Log.info("CharacterState", "save", "Save state in DB..."); JdbcUtil.saveCharacter(character); } catch (NoRecordUpdatedException e) { throw new LabySQLException("User data not stored: " + character); } }