我知道在 stackoverflow 上已经有一个问题在这里进行了讨论,但是我仍然无法将正确的值发送到 Bag.newAttributeBag 并希望得到一些帮助。
final Collection<StringValue> subjectList = new ArrayList<>();
subjectList.add("123456");
subjectList.add("John Smith");
final AttributeFqn subjectIdAttributeId = AttributeFqns.newInstance(XACML_1_0_ACCESS_SUBJECT.value(), Optional.empty(), XacmlAttributeId.XACML_1_0_SUBJECT_ID.value());
final AttributeBag<?> subjectIdAttributeValues = Bags.newAttributeBag(StandardDatatypes.STRING, subjectList);
requestBuilder.putNamedAttributeIfAbsent(subjectIdAttributeId, subjectIdAttributeValues);
如果我使用 Collection StringValue,我会在 subjectList.add 上收到错误
Collection 类型中的方法 add(StringValue) 不适用于参数 (String)
如果我使用Collection<String>
我会在 newAttributeBag 上得到一个错误。如何向我的 Bag.newAttributeBag 添加多个值?
Bags 类型中的方法 newAttributeBag(Datatype, Collection) 不适用于参数 (AttributeDatatype, Collection)