1 // Copyright 2015-present 650 Industries. All rights reserved.
2 package host.exp.exponent.kernel
3 
4 private const val MAX_LENGTH = 600
5 
6 class ExponentErrorMessage(
7   private var userErrorMessage: String?,
8   private val developerErrorMessage: String?
9 ) {
userErrorMessagenull10   fun userErrorMessage(): String {
11     return userErrorMessage?.let { limit(it) } ?: ""
12   }
13 
developerErrorMessagenull14   fun developerErrorMessage(): String {
15     return developerErrorMessage?.let { limit(it) } ?: ""
16   }
17 
addUserErrorMessagenull18   fun addUserErrorMessage(errorMessage: String?): ExponentErrorMessage {
19     userErrorMessage = errorMessage
20     return this
21   }
22 
limitnull23   private fun limit(s: String): String {
24     return if (s.length < MAX_LENGTH) {
25       s
26     } else {
27       s.substring(0, MAX_LENGTH)
28     }
29   }
30 
31   companion object {
userErrorMessagenull32     @JvmStatic fun userErrorMessage(errorMessage: String?): ExponentErrorMessage {
33       return ExponentErrorMessage(errorMessage, errorMessage)
34     }
35 
developerErrorMessagenull36     @JvmStatic fun developerErrorMessage(errorMessage: String?): ExponentErrorMessage {
37       return ExponentErrorMessage(null, errorMessage)
38     }
39   }
40 }
41