Getting started Community Training Tutorials Documentation APIs, AI & Tools
public class OutputEntityResolver
implements OutputTypeResolver<String>, AttributesTypeResolver<String> {
@Override
public String getCategoryName() {
return "Records";
}
@Override
public String getResolverName() {
return "OutputEntityResolver";
}
@Override
public MetadataType getOutputType(MetadataContext context, String key)
throws MetadataResolvingException, ConnectionException {
switch (key) {
case "Author_id":
return context.getTypeLoader().load(AuthorResult.class);
case "BookList_id":
return context.getTypeLoader().load(BookListResult.class);
case "Book_id":
return context.getTypeLoader().load(BookResult.class);
default:
throw new MetadataResolvingException("Unknown key:" + key, INVALID_METADATA_KEY);
}
}
@Override
public MetadataType getAttributesType(MetadataContext context, String key)
throws MetadataResolvingException, ConnectionException {
if ("Book_id".equals(key)){
return context.getTypeLoader().load(BookAttributes.class);
}
// Only Books have Attributes information
return context.getTypeBuilder().nullType().build();
}
}



