isObjectでrequest,user,checkSetを使いたいです
isObjectはOverrideしているためこれ以上引数を増やすことができません。
このような場合はrequestを使うことはできないのでしょうか
*フィールド変数には設定できないものとします。
*抽象クラスをいじることもできないものとします。
*このクラスに新しくメソッドや変数を追加することは可能です。
*下記のものはあくまで例です。
*UserクラスとCheckSetクラスが存在するものとします。
java
1継承元の抽象クラス 2 3public abstract class answer extends HttpServlet { 4 5 private static final long serialVersionUID = 1L; 6 7 // サーブレットのコントロール 8 protected abstract void control(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException; 9 10 11 protected abstract boolean isObjectEnabled(Object user, Object inputValueCheckSet); 12 13} 14 15 16////////////////////////////////////////////////////////////////////////////////////////// 17servletクラス 18 19 20@WebServlet("/test") 21public class test extends answer{ 22private static final long serialVersionUID = 1L; 23 24 protected void doPost(HttpServletRequest request, HttpServletResponse response) 25 throws ServletException, IOException { 26 control(request, response); 27 } 28 29@Override 30 protected void control(HttpServletRequest request, HttpServletResponse response) 31 throws ServletException, IOException { 32 33HttpSession session = request.getSession(); 34User user = (User) session.getAttribute("user"); 35CheckSet checkSet = new CheckSet(request); 36 37 38if(isObject(user,checkSet)==false){//本当ならここでrequestも引数として渡したい 39//このような感じで帰ってきたboolean値によって処理を行うか決めています。 40} 41 42} 43 44 @Override 45 protected boolean isObject(Object object , Object value){ 46 47 User user = (User) object; 48 CheckSet checkSet = (CheckSet) value; 49 50//ここでrequestを使いたいのですが値を渡していないので使えないのが現状です。 51HttpSession session = request.getSession(); 52int action_Value = (int) session.getAttribute("action_Value"); 53 54return setUpdateValue(action_Value, user, checkSet); 55 56 } 57private boolean setUpdateValue(int action, User user, CheckSet checkSet) { 58 GetTime get_now_time = new GetTime(); 59 switch (action) { 60 61 case 0: 62 if (checkSet.validateInputValueLoginID()) { 63 64 user.setLogin_id(checkSet.getLogin_id()); 65 user.setModified_ymd(get_now_time.getNowTime()); 66 return true; 67 } else { 68 return false; 69 } 70 71 case 1: 72 if (checkSet.validateInputValueLoginID()) { 73 74 user.setPass(checkSet.getPass()); 75 user.setModified_ymd(get_now_time.getNowTime()); 76 return true; 77 } else { 78 return false; 79 } 80 81//これより下のswitch文に関しては長くなるので省きます 82}
回答5件
あなたの回答
tips
プレビュー