< prev index next >
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/MetaKeywords.java
Print this page
*** 31,40 ****
--- 31,42 ----
import javax.lang.model.element.ModuleElement;
import javax.lang.model.element.PackageElement;
import javax.lang.model.element.TypeElement;
import jdk.javadoc.internal.doclets.toolkit.BaseConfiguration;
+ import jdk.javadoc.internal.doclets.toolkit.BaseOptions;
+ import jdk.javadoc.internal.doclets.toolkit.Resources;
/**
* Provides methods for creating an array of class, method and
* field names to be included as meta keywords in the HTML header
* of class pages. These keywords improve search results
*** 45,64 ****
* This code and its internal interfaces are subject to change or
* deletion without notice.</b>
*/
public class MetaKeywords {
! /**
! * The global configuration information for this run.
! */
! private final BaseConfiguration config;
/**
* Constructor
*/
public MetaKeywords(BaseConfiguration configuration) {
! config = configuration;
}
/**
* Returns an array of strings where each element
* is a class, method or field name. This array is
--- 47,67 ----
* This code and its internal interfaces are subject to change or
* deletion without notice.</b>
*/
public class MetaKeywords {
! private final BaseOptions options;
! private final Resources resources;
! private final Utils utils;
/**
* Constructor
*/
public MetaKeywords(BaseConfiguration configuration) {
! options = configuration.getOptions();
! resources = configuration.getResources();
! utils = configuration.utils;
}
/**
* Returns an array of strings where each element
* is a class, method or field name. This array is
*** 73,86 ****
*/
public List<String> getMetaKeywords(TypeElement typeElement) {
ArrayList<String> results = new ArrayList<>();
// Add field and method keywords only if -keywords option is used
! if (config.keywords) {
results.addAll(getClassKeyword(typeElement));
! results.addAll(getMemberKeywords(config.utils.getFields(typeElement)));
! results.addAll(getMemberKeywords(config.utils.getMethods(typeElement)));
}
((ArrayList)results).trimToSize();
return results;
}
--- 76,89 ----
*/
public List<String> getMetaKeywords(TypeElement typeElement) {
ArrayList<String> results = new ArrayList<>();
// Add field and method keywords only if -keywords option is used
! if (options.keywords) {
results.addAll(getClassKeyword(typeElement));
! results.addAll(getMemberKeywords(utils.getFields(typeElement)));
! results.addAll(getMemberKeywords(utils.getMethods(typeElement)));
}
((ArrayList)results).trimToSize();
return results;
}
*** 88,109 ****
* Get the current class for a meta tag keyword, as the first
* and only element of an array list.
*/
protected List<String> getClassKeyword(TypeElement typeElement) {
ArrayList<String> metakeywords = new ArrayList<>(1);
! String cltypelower = config.utils.isInterface(typeElement) ? "interface" : "class";
! metakeywords.add(config.utils.getFullyQualifiedName(typeElement) + " " + cltypelower);
return metakeywords;
}
/**
* Get the package keywords.
*/
public List<String> getMetaKeywords(PackageElement packageElement) {
List<String> result = new ArrayList<>(1);
! if (config.keywords) {
! String pkgName = config.utils.getPackageName(packageElement);
result.add(pkgName + " " + "package");
}
return result;
}
--- 91,112 ----
* Get the current class for a meta tag keyword, as the first
* and only element of an array list.
*/
protected List<String> getClassKeyword(TypeElement typeElement) {
ArrayList<String> metakeywords = new ArrayList<>(1);
! String cltypelower = utils.isInterface(typeElement) ? "interface" : "class";
! metakeywords.add(utils.getFullyQualifiedName(typeElement) + " " + cltypelower);
return metakeywords;
}
/**
* Get the package keywords.
*/
public List<String> getMetaKeywords(PackageElement packageElement) {
List<String> result = new ArrayList<>(1);
! if (options.keywords) {
! String pkgName = utils.getPackageName(packageElement);
result.add(pkgName + " " + "package");
}
return result;
}
*** 111,121 ****
* Get the module keywords.
*
* @param mdle the module being documented
*/
public List<String> getMetaKeywordsForModule(ModuleElement mdle) {
! if (config.keywords) {
return Arrays.asList(mdle.getQualifiedName() + " " + "module");
} else {
return Collections.emptyList();
}
}
--- 114,124 ----
* Get the module keywords.
*
* @param mdle the module being documented
*/
public List<String> getMetaKeywordsForModule(ModuleElement mdle) {
! if (options.keywords) {
return Arrays.asList(mdle.getQualifiedName() + " " + "module");
} else {
return Collections.emptyList();
}
}
*** 123,134 ****
/**
* Get the overview keywords.
*/
public List<String> getOverviewMetaKeywords(String title, String docTitle) {
List<String> result = new ArrayList<>(1);
! if (config.keywords) {
! String windowOverview = config.getResources().getText(title);
if (docTitle.length() > 0) {
result.add(windowOverview + ", " + docTitle);
} else {
result.add(windowOverview);
}
--- 126,137 ----
/**
* Get the overview keywords.
*/
public List<String> getOverviewMetaKeywords(String title, String docTitle) {
List<String> result = new ArrayList<>(1);
! if (options.keywords) {
! String windowOverview = resources.getText(title);
if (docTitle.length() > 0) {
result.add(windowOverview + ", " + docTitle);
} else {
result.add(windowOverview);
}
*** 146,158 ****
* @param members array of members to be added to keywords
*/
protected List<String> getMemberKeywords(List<? extends Element> members) {
ArrayList<String> results = new ArrayList<>();
for (Element member : members) {
! String membername = config.utils.isMethod(member)
! ? config.utils.getSimpleName(member) + "()"
! : config.utils.getSimpleName(member);
if (!results.contains(membername)) {
results.add(membername);
}
}
((ArrayList)results).trimToSize();
--- 149,161 ----
* @param members array of members to be added to keywords
*/
protected List<String> getMemberKeywords(List<? extends Element> members) {
ArrayList<String> results = new ArrayList<>();
for (Element member : members) {
! String membername = utils.isMethod(member)
! ? utils.getSimpleName(member) + "()"
! : utils.getSimpleName(member);
if (!results.contains(membername)) {
results.add(membername);
}
}
((ArrayList)results).trimToSize();
< prev index next >