private static CompletionItem getInterfaceSnippet(ICompilationUnit cu, CompletionContext completionContext, boolean needsPublic, IProgressMonitor monitor) {
if (!accept(cu, completionContext, false)) {
return null;
}
if (monitor.isCanceled()) {
return null;
}
final CompletionItem interfaceSnippetItem = new CompletionItem();
interfaceSnippetItem.setFilterText(INTERFACE_SNIPPET_LABEL);
interfaceSnippetItem.setLabel(INTERFACE_SNIPPET_LABEL);
interfaceSnippetItem.setSortText(SortTextHelper.convertRelevance(0));
try {
if (needsPublic) {
interfaceSnippetItem.setInsertText(getSnippetContent(cu, CodeGenerationTemplate.INTERFACESNIPPET_PUBLIC, cu.findRecommendedLineSeparator(), true));
} else {
interfaceSnippetItem.setInsertText(getSnippetContent(cu, CodeGenerationTemplate.INTERFACESNIPPET_DEFAULT, cu.findRecommendedLineSeparator(), true));
}
setFields(interfaceSnippetItem, cu);
} catch (CoreException e) {
JavaLanguageServerPlugin.log(e.getStatus());
return null;
}
return interfaceSnippetItem;
}