假设我有课程Project
,Employee
和ProjectAssignement
。我有一个 enum Role
,有两个值,LEADER
和FOLLOWER
. s通过对象Employee
分配给s,该对象具有类型的成员字段。Project
ProjectAssignment
role
Role
我有一个商业规则,每个项目只能有一个领导者,但可以有很多追随者。为了实现这一点,我给出Role
了一个成员字段singular
,即true
forLEADER
和false
for FOLLOWER
。(我将来可能会添加更多角色。)我的服务器端 Java 会检查您是否尝试将多个领导者分配给一个项目并且不允许您这样做。
到目前为止,我认为我没有描述任何特别不寻常的事情。
这是尴尬的一点:我有一些(手写的)客户端 JavaScript 验证,以确保您不会将多个具有相同角色的人分配给一个项目。它对追随者有一个硬编码的例外。是否有任何干净的方法可以让 JavaScript 代码了解Role
枚举,以便它可以访问该isSingular
方法?
(显然,任何类型的事情实际上都必须Role
在某个时候将枚举转录成 JavaScript;我想避免手动甚至半自动地这样做,因为这很快就会变得比我在更多情况下这样做更值得付出努力。 )
我没有使用 Spring 或任何类似的框架,只是简单的 .jsps。重写整个应用程序以使用类似的东西可能是一个好主意,但远远超出了问题的范围。