Class GetExamQuestions

java.lang.Object
org.deltava.dao.DAO
org.deltava.dao.GetExamQuestions

public class GetExamQuestions extends DAO
A Data Access Object to retrieve Examination questions.
Since:
2.1
Version:
10.6
Author:
Luke
  • Constructor Details

    • GetExamQuestions

      public GetExamQuestions(Connection c)
      Initialize the Data Access Object.
      Parameters:
      c - the JDBC connection to use
  • Method Details

    • getQuestionProfile

      public QuestionProfile getQuestionProfile(int id) throws DAOException
      Loads a Question Profile.
      Parameters:
      id - the Question ID
      Returns:
      the Question profile
      Throws:
      DAOException - if a JDBC error occurs
    • getDiscreteStatistics

      public PassStatistics getDiscreteStatistics(int id, boolean isAcademy) throws DAOException
      Returns discrete pass / fail statistics for a particular Question.
      Parameters:
      id - the database ID
      isAcademy - TRUE if Flight Academy only, otherwise FALSE
      Returns:
      a PassStatistics bean
      Throws:
      DAOException - if a JDBC error occurs
    • search

      public List<QuestionProfile> search(String searchStr) throws DAOException
      Searches Examination questions for a particular phrase or substring.
      Parameters:
      searchStr - the substring
      Returns:
      a List of QuestionpProfile beans
      Throws:
      DAOException - if a JDBC error occurs
    • getQuestions

      public List<QuestionProfile> getQuestions(ExamProfile exam) throws DAOException
      Loads Questions for a particular Examination, or all Examinations.
      Parameters:
      exam - the ExaminationProfile or null if all
      Returns:
      a List of QuestionProfile beans
      Throws:
      DAOException - if a JDBC error occurs
    • getMostPopular

      public List<QuestionProfile> getMostPopular(boolean isAcademy) throws DAOException
      Retrieves the most commonly asked active examination Questions.
      Parameters:
      isAcademy - TRUE if Academy examinations only, otherwise FALSE
      Returns:
      a List of QuestionProfile beans
      Throws:
      DAOException - if a JDBC error occurs
    • getResults

      public List<QuestionProfile> getResults(boolean isDesc, boolean isAcademy, int minExams) throws DAOException
      Returns active examination Questions based on the frequency of being answered correctly.
      Parameters:
      isDesc - TRUE if in descening order of correct answers, otherwise FALSE
      isAcademy - TRUE if Academy examinations only, otherwise FALSE
      minExams - the minimum number of exams the Question must have been in
      Returns:
      a List of QuestionProfile beans
      Throws:
      DAOException - if a JDBC error occurs
    • getQuestionPool

      public List<QuestionProfile> getQuestionPool(ExamProfile exam, boolean isRandom) throws DAOException
      Loads all active Questions linked to a particular Pilot Examination.
      Parameters:
      exam - the ExamProfile bean
      isRandom - randomly order Questions
      Returns:
      a List of QuestionProfiles
      Throws:
      DAOException - if a JDBC error occurs
      NullPointerException - if exam is null
    • getQuestionPool

      public List<QuestionProfile> getQuestionPool(ExamProfile exam, boolean isRandom, int pilotID) throws DAOException
      Loads all active Questions linked to a particular Pilot Examination. If a Pilot ID is specified, questions will be selected in increasing order of frequency of visibility in prior examination written by this Pilot.
      Parameters:
      exam - the ExamProfile bean
      isRandom - randomly order Questions
      pilotID - the user's database ID, or zero if none
      Returns:
      a List of QuestionProfiles
      Throws:
      DAOException - if a JDBC error occurs
      NullPointerException - if exam is null