}
@Override
- public Optional<IdentityRuntimeType> findIdentity(final QName qname) {
- return Optional.ofNullable(identities.get(requireNonNull(qname)));
+ public IdentityRuntimeType identityChild(final QName qname) {
+ return identities.get(requireNonNull(qname));
}
@Override
CacheBuilder.newBuilder().weakValues().build(new CacheLoader<>() {
@Override
public Class<? extends BaseIdentity> load(final QName key) {
- final var type = getTypes().findIdentity(key).orElseThrow(
- () -> new IllegalArgumentException("Supplied QName " + key + " is not a valid identity"));
+ final var type = getTypes().identityChild(key);
+ if (type == null) {
+ throw new IllegalArgumentException("Supplied QName " + key + " is not a valid identity");
+ }
try {
return loadClass(type.getIdentifier()).asSubclass(BaseIdentity.class);
} catch (ClassNotFoundException e) {
*/
@Beta
public interface BindingRuntimeTypes extends EffectiveModelContextProvider, RuntimeTypeContainer, Immutable {
-
- Optional<IdentityRuntimeType> findIdentity(QName qname);
+ /**
+ * Lookup {@link IdentityRuntimeType} by its QNamme.
+ *
+ * @param qname Identity name
+ * @return {@link IdentityRuntimeType} or {@code null}
+ * @throws NullPointerException if {@code qname} is {@code null}
+ */
+ @Nullable IdentityRuntimeType identityChild(@NonNull QName qname);
Optional<RuntimeType> findSchema(JavaTypeName typeName);