001package com.studentgui.apphelpers.dto; 002 003/** 004 * Typed payload for Keyboarding page. 005 */ 006public class KeyboardingPayload implements SessionPayload { 007 /** Database session id. */ 008 public int sessionId; 009 /** Program or curriculum name. */ 010 public String program; 011 /** Topic or lesson name. */ 012 public String topic; 013 /** Speed in WPM. */ 014 public int speed; 015 /** Accuracy percentage. */ 016 public int accuracy; 017 018 /** No-arg constructor for Jackson. */ 019 public KeyboardingPayload() {} 020 021 /** 022 * Create keyboarding payload. 023 * 024 * @param sessionIdParam DB session id 025 * @param programParam program name 026 * @param topicParam topic name 027 * @param speedParam words per minute 028 * @param accuracyParam percent accuracy 029 */ 030 public KeyboardingPayload(final int sessionIdParam, final String programParam, final String topicParam, final int speedParam, final int accuracyParam) { 031 this.sessionId = sessionIdParam; 032 this.program = programParam; 033 this.topic = topicParam; 034 this.speed = speedParam; 035 this.accuracy = accuracyParam; 036 } 037 038 @Override 039 /** 040 * Return the database session id associated with this keyboarding payload. 041 * 042 * @return numeric session id for the recorded keyboarding session 043 */ 044 045 public int getSessionId() { return this.sessionId; } 046}