是否可以声明一个Map,该Map从特定子类的键映射到特定子类的值,但确保两个类共享相同的Type参数?
对于背景:
ClassA和ClassB都实现了公共资源的行为
public abstract class ClassA<T> {
public abstract T getResource() ;
}
public abstract class classB<T> {
public abstract void consoumeResource(T resource);
}
Run Code Online (Sandbox Code Playgroud)
我想映射ClassA和ClassB的实现,并确保只有"兼容"对可以放在一个条目中.
我的页面中有以下简单的组合框.
<rich:comboBox value="#{groupConfig.group}"
styleClass="userCombo"
filterNewValues="false"
directInputSuggestions="true">
<f:selectItems value="#{
workflowConfigCtrl.groupsFor(groupConfig,appNode.approvalTier)
}" />
</rich:comboBox>
Run Code Online (Sandbox Code Playgroud)
它工作得非常好,但遗憾的是它允许输入不属于suggestionList的值(这是有意义的,因为我启用了直接文本输入.
我希望启用直接文本输入,以便用户可以使用建议列表快速过滤(从一个巨大的组列表,可以包含几个100组).
同时我不希望用户输入不在列表中的值.当前方法检查用户何时保存整个表单.有没有办法提前限制它?
我尝试使用javascript onblur = handler来完成它,但我找不到在dom中保存selectItem列表的位置.