public class DataSource
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
java.lang.Enum<?> |
ALGORITHM |
Modifier and Type | Method and Description |
---|---|
void |
addNews(java.lang.String title,
java.lang.String message) |
java.lang.String |
anyMessages() |
void |
badQuery() |
void |
broadcastMessage(java.lang.String message) |
void |
callNonExistentMethod()
To cause a client crash.
|
boolean |
changePassword(java.lang.String password,
int userID) |
int |
checkStopTheRock() |
int |
checkTimeTraveler() |
static DataSource |
createDS(boolean isAlpha) |
boolean |
deleteGraph(int graphId) |
boolean |
deletePuzzle(int puzzleID) |
boolean |
deleteSolution(int solutionID) |
boolean |
deleteTutorialForPuzzle(int puzzle_id) |
boolean |
deleteUser(User user) |
java.util.ArrayList<Achievement> |
getAllAchievements() |
java.util.ArrayList<GlobalScore> |
getAllGlobalHighScores() |
java.util.ArrayList<GraphWithUsage> |
getAllGraphs() |
java.util.ArrayList<PlayablePuzzle> |
getAllPuzzlesForGame(java.lang.String problemName) |
java.util.ArrayList<PlayablePuzzle> |
getAllPuzzlesForSubclassOf(java.lang.Class<? extends PuzzleInstance> piClass) |
java.util.ArrayList<UserAchievement> |
getAllUserAchievements() |
java.util.ArrayList<UserAlgorithm> |
getAllUserAlgs() |
java.util.ArrayList<java.lang.String> |
getAllUserNames() |
java.util.ArrayList<User> |
getAllUsers() |
java.lang.String[] |
getCountryNames() |
static DataSource |
getDS() |
java.util.ArrayList<Achievement> |
getFamilyAchievements(int probFamilyID) |
java.util.ArrayList<Achievement> |
getGeneralAchievements() |
int |
getGlobalHighScore() |
Graph |
getGraph(int graphID) |
Graph |
getGraph(java.lang.String name) |
Graph |
getGraphForPuzzle(int gameID)
This method is used for Replays since they do not store a graph_id.
|
java.util.ArrayList<HighScore> |
getHighScores(int gameID,
boolean lowerBetter) |
java.lang.String |
getIP() |
java.lang.String |
getMessage() |
java.util.ArrayList<PostGameAchievement> |
getNewAchievements() |
java.util.ArrayList<News> |
getNews(int n) |
int |
getNumberOfSolutions(int gameID) |
java.util.ArrayList<UserAlgorithm> |
getPersonalAndPublicUserAlgs() |
java.util.ArrayList<PlayablePuzzle> |
getPlayablePuzzles(java.lang.String problemName,
java.lang.String gameType)
This method does NOT use the puzzle cache since it needs to append scores and whatnot to the entry based on the
player, and if we cached this instead of getting it from the DB, it would mean we would need to do all the
filtering in Java instead of in an SQL query.
|
Problem |
getProblem(java.lang.String gameName) |
java.util.ArrayList<Achievement> |
getProblemAchievements(int probID) |
java.util.ArrayList<ProblemFamily> |
getProblemFamilies() |
ProblemFamily |
getProblemFamily(java.lang.String familyName) |
ProblemFamily |
getProblemFamilyForPuzzle(java.lang.String puzzleName) |
java.util.ArrayList<java.lang.String> |
getProblemFamilyNames() |
Problems |
getProblems() |
PlayablePuzzle |
getPuzzle(int puzzle_id)
This method assumes the puzzle is in the cache.
|
java.util.ArrayList<Puzzle> |
getPuzzlesForGraph(int graphID) |
java.util.ArrayList<Replay> |
getRecentReplays(int hours) |
java.util.ArrayList<Replay> |
getReplays(java.lang.String problemName,
java.lang.String puzzleName,
java.lang.String userName,
java.lang.String mode,
java.lang.String algorithm) |
java.util.ArrayList<Replay> |
getReplaysWithinTimePeriod(java.lang.String problemName,
java.lang.String puzzleName,
java.lang.String userName,
java.lang.String mode,
java.lang.String algorithm,
int minutes) |
java.util.ArrayList<Solution> |
getSolutionsForAllAlgorithms(int gameID) |
java.util.ArrayList<Solution> |
getSolutionsForThisAlgorithm(java.lang.String algorithmName,
int gameID) |
User |
getUser() |
UserAlgorithm |
getUserAlgorithm(java.lang.String algName,
int userID) |
byte[] |
getUserAlgorithmJarfile(java.lang.String name,
int userID) |
java.util.ArrayList<Solution> |
getUserSolutions(int userID,
int gameID) |
int |
insertGraph(Graph graph) |
int |
insertPuzzle(Puzzle puzzle)
returns the puzzle ID assigned in the DB.
|
int |
insertSolution(Solution solution) |
boolean |
insertTutorial(Tutorial tut) |
boolean |
insertUser(User user,
java.lang.String password) |
void |
insertUserAlgorithm(UserAlgorithm userAlg) |
boolean |
isRecentClientVersion(double version) |
boolean |
isUniqueGraphName(java.lang.String name) |
boolean |
isUniquePuzzleName(java.lang.String name,
int problemID) |
boolean |
isUniqueSolutionName(java.lang.String name,
int gameID) |
boolean |
isUniqueUserName(java.lang.String name) |
void |
logError(java.lang.Throwable error,
boolean isCaught) |
User |
logInUser(java.lang.String userName,
java.lang.String password) |
boolean |
logOutUser() |
void |
logStuff(java.lang.String error) |
void |
lookupIP() |
boolean |
markAchievementsViewed(int[] achievementIDs) |
void |
preloadStuff() |
java.lang.String |
resetPassword(java.lang.String name,
java.lang.String answer) |
void |
sendMessage(java.lang.String email,
java.lang.String subject,
java.lang.String message) |
void |
sendReport(java.lang.String subject,
java.lang.String message) |
boolean |
updateGraph(Graph graph) |
boolean |
updateGraph(Graph graph) |
boolean |
updatePuzzle(Puzzle puzzle) |
boolean |
updatePuzzleData(int gameID,
java.lang.String puzzleData) |
boolean |
updateSolution(int solutionId,
java.lang.String name,
int userVisible) |
boolean |
updateSolution(Solution solution) |
boolean |
updateTutorialForPuzzle(Tutorial tut) |
boolean |
updateUser(User user) |
void |
updateUserAlgorithm(UserAlgorithm userAlg) |
public static DataSource createDS(boolean isAlpha)
public static DataSource getDS()
public void preloadStuff()
public void lookupIP()
public void badQuery()
public User getUser()
public java.lang.String getIP()
public boolean isRecentClientVersion(double version)
public void callNonExistentMethod()
public User logInUser(java.lang.String userName, java.lang.String password)
public void addNews(java.lang.String title, java.lang.String message)
public void insertUserAlgorithm(UserAlgorithm userAlg)
public java.util.ArrayList<UserAlgorithm> getAllUserAlgs()
public java.util.ArrayList<UserAlgorithm> getPersonalAndPublicUserAlgs()
public UserAlgorithm getUserAlgorithm(java.lang.String algName, int userID)
public byte[] getUserAlgorithmJarfile(java.lang.String name, int userID)
public void updateUserAlgorithm(UserAlgorithm userAlg)
public java.util.ArrayList<News> getNews(int n)
public java.lang.String anyMessages()
public void broadcastMessage(java.lang.String message)
public boolean changePassword(java.lang.String password, int userID)
public boolean deletePuzzle(int puzzleID)
public boolean deleteGraph(int graphId)
public boolean deleteSolution(int solutionID)
public boolean deleteUser(User user)
public PlayablePuzzle getPuzzle(int puzzle_id)
public java.util.ArrayList<PlayablePuzzle> getAllPuzzlesForGame(java.lang.String problemName)
public java.util.ArrayList<PlayablePuzzle> getAllPuzzlesForSubclassOf(java.lang.Class<? extends PuzzleInstance> piClass)
public java.util.ArrayList<Achievement> getGeneralAchievements()
public boolean insertTutorial(Tutorial tut)
public boolean updateTutorialForPuzzle(Tutorial tut)
public boolean deleteTutorialForPuzzle(int puzzle_id)
public java.util.ArrayList<Achievement> getFamilyAchievements(int probFamilyID)
public java.util.ArrayList<Achievement> getProblemAchievements(int probID)
public java.util.ArrayList<Achievement> getAllAchievements()
public java.util.ArrayList<UserAchievement> getAllUserAchievements()
public java.util.ArrayList<PostGameAchievement> getNewAchievements()
public boolean markAchievementsViewed(int[] achievementIDs)
public int checkTimeTraveler()
public int checkStopTheRock()
public java.util.ArrayList<GraphWithUsage> getAllGraphs()
public java.util.ArrayList<java.lang.String> getAllUserNames()
public java.util.ArrayList<User> getAllUsers()
public java.lang.String[] getCountryNames()
public java.util.ArrayList<Puzzle> getPuzzlesForGraph(int graphID)
public Graph getGraph(int graphID)
public Graph getGraph(java.lang.String name)
public Graph getGraphForPuzzle(int gameID)
gameID
- public java.util.ArrayList<HighScore> getHighScores(int gameID, boolean lowerBetter)
public java.util.ArrayList<GlobalScore> getAllGlobalHighScores()
public int getGlobalHighScore()
public java.lang.String getMessage()
public java.util.ArrayList<PlayablePuzzle> getPlayablePuzzles(java.lang.String problemName, java.lang.String gameType)
problemName
- gameType
- public java.util.ArrayList<ProblemFamily> getProblemFamilies()
public Problem getProblem(java.lang.String gameName)
public ProblemFamily getProblemFamilyForPuzzle(java.lang.String puzzleName)
public ProblemFamily getProblemFamily(java.lang.String familyName)
public Problems getProblems()
public java.util.ArrayList<java.lang.String> getProblemFamilyNames()
public java.util.ArrayList<Replay> getRecentReplays(int hours)
public java.util.ArrayList<Replay> getReplaysWithinTimePeriod(java.lang.String problemName, java.lang.String puzzleName, java.lang.String userName, java.lang.String mode, java.lang.String algorithm, int minutes)
problemName
- puzzleName
- userName
- mode
- algorithm
- minutes
- get all solutions within the last minutes minutes, or all if minutes==0.public java.util.ArrayList<Replay> getReplays(java.lang.String problemName, java.lang.String puzzleName, java.lang.String userName, java.lang.String mode, java.lang.String algorithm)
public java.util.ArrayList<Solution> getUserSolutions(int userID, int gameID)
public int getNumberOfSolutions(int gameID)
public java.util.ArrayList<Solution> getSolutionsForThisAlgorithm(java.lang.String algorithmName, int gameID)
public java.util.ArrayList<Solution> getSolutionsForAllAlgorithms(int gameID)
public int insertPuzzle(Puzzle puzzle)
puzzle
- public int insertGraph(Graph graph)
public int insertSolution(Solution solution)
public boolean insertUser(User user, java.lang.String password)
public boolean isUniquePuzzleName(java.lang.String name, int problemID)
public boolean isUniqueGraphName(java.lang.String name)
public boolean isUniqueSolutionName(java.lang.String name, int gameID)
public boolean isUniqueUserName(java.lang.String name)
public void logError(java.lang.Throwable error, boolean isCaught)
public boolean logOutUser()
public void logStuff(java.lang.String error)
public java.lang.String resetPassword(java.lang.String name, java.lang.String answer)
public void sendMessage(java.lang.String email, java.lang.String subject, java.lang.String message)
public void sendReport(java.lang.String subject, java.lang.String message)
public boolean updatePuzzle(Puzzle puzzle)
public boolean updatePuzzleData(int gameID, java.lang.String puzzleData)
public boolean updateGraph(Graph graph)
public boolean updateGraph(Graph graph)
public boolean updateSolution(Solution solution)
public boolean updateSolution(int solutionId, java.lang.String name, int userVisible)
public boolean updateUser(User user)