Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/help/CHelpEntry.java')
-rw-r--r--core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/help/CHelpEntry.java62
1 files changed, 62 insertions, 0 deletions
diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/help/CHelpEntry.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/help/CHelpEntry.java
new file mode 100644
index 00000000000..5bb8e08a6f2
--- /dev/null
+++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/help/CHelpEntry.java
@@ -0,0 +1,62 @@
+package org.eclipse.cdt.internal.ui.help;
+
+import java.util.ArrayList;
+
+import org.eclipse.help.IHelpResource;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+import org.eclipse.cdt.ui.IFunctionSummary;
+
+public class CHelpEntry {
+ private static final String ATTR_KEYWD = "keyword"; //$NON-NLS-1$
+ private static final String NODE_TOPIC = "topic"; //$NON-NLS-1$
+ private static final String NODE_FSUMM = "functionSummary"; //$NON-NLS-1$
+
+ private String keyword = null;
+ private boolean isValid = true;
+ private CHelpTopic[] hts = null;
+ private CFunctionSummary[] fss = null;
+
+ public CHelpEntry(Element e) {
+ keyword = e.getAttribute(ATTR_KEYWD).trim();
+ ArrayList obs1 = new ArrayList();
+ ArrayList obs2 = new ArrayList();
+ NodeList list = e.getChildNodes();
+ for(int i = 0; i < list.getLength(); i++){
+ Node node = list.item(i);
+ if (node.getNodeType() != Node.ELEMENT_NODE)
+ continue;
+ if (NODE_FSUMM.equals(node.getNodeName())){
+ obs1.add(new CFunctionSummary((Element)node, keyword));
+ } else if (NODE_TOPIC.equals(node.getNodeName())) {
+ obs2.add(new CHelpTopic((Element)node, keyword));
+ }
+ }
+ fss = (CFunctionSummary[])obs1.toArray(new CFunctionSummary[obs1.size()]);
+ hts = (CHelpTopic[])obs2.toArray(new CHelpTopic[obs2.size()]);
+ }
+
+ /**
+ * Returns true if help entry is correct
+ * Returns false if entry is empty or when
+ * subsequent processing failed somehow.
+ * @return entry state
+ */
+ public boolean isValid() {
+ return isValid;
+ }
+ public String getKeyword() {
+ return keyword;
+ }
+ public IFunctionSummary[] getFunctionSummary() {
+ return fss;
+ }
+ public IHelpResource[] getHelpResource() {
+ return hts;
+ }
+ public String toString() {
+ return "<entry keyword=\"" + keyword + "\">"; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+}

Back to the top