µµ¿ò¸»Àº Ç÷¯±×ÀÎ µð·ºÅ丮 ¾Æ·¡ÀÇ doc.zip ¶Ç´Â ÆÄÀÏ ½Ã½ºÅÛ¿¡ ÀÖ´Â Á¤Àû HTML ÆÄÀÏ ¿Ü¿¡ ¹®¼ Ç÷¯±×Àο¡¼ µ¿ÀûÀ¸·Î »ý¼ºÇÏ´Â ¹®¼µµ Ç¥½ÃÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ Ç÷¯±×Àο¡´Â µµ¿ò¸» ½Ã½ºÅÛÀÌ ´Þ¸® Á¤Àû ÆÄÀÏ¿¡¼ Àд ÄÁÅÙÃ÷¸¦ »ý¼ºÇÒ ¼ö ÀÖ´Â Java Äڵ尡 Æ÷ÇԵǾî¾ß ÇÕ´Ï´Ù. org.eclipse.help.IHelpContentProducer¸¦ ±¸ÇöÇϴ Ŭ·¡½º°¡ org.eclipse.help.contentProducer È®ÀåÁ¡À» »ç¿ëÇÏ¿© Ç÷¯±×ÀÎÀ» ÅëÇØ µµ¿ò¸» ½Ã½ºÅÛ¿¡ Á¦°øµÇ¸é µµ¿ò¸» ½Ã½ºÅÛÀº ÀÌ Ç÷¯±×Àο¡¼ ¾×¼¼½ºÇÑ °¢ ¹®¼¿¡ ´ëÇØ getInputStreamÀ» È£ÃâÇÕ´Ï´Ù. ÇØ´ç °á°ú°¡ ³Î(null) InputStreamÀÌ ¾Æ´Ò °æ¿ì Ç¥½Ã¸¦ À§ÇØ ºê¶ó¿ìÀú·Î ¼Û½ÅµË´Ï´Ù. IHelpContentProdcuer°¡ ³Î(null)À» ¸®ÅÏÇÒ °æ¿ì µµ¿ò¸» ½Ã½ºÅÛÀº ¹®¼¿¡¼ doc.zip ¹× Ç÷¯±×ÀÎ µð·ºÅ丮¸¦ °Ë»öÇÏ´Â ±âº»°ªÀ¸·Î ÁöÁ¤µË´Ï´Ù.
¿¹¸¦ µé¾î IHelpConentProducerÀÇ ±¸ÇöÀº ´ÙÀ½°ú °°½À´Ï´Ù.
package com.my.company.doc;
public class DynamicTopics implements IHelpContentProducer {
public InputStream getInputStream(
String pluginID,
String name,
Locale locale) {
if (name.indexOf("dynamic") >= 0)
return new ByteArrayInputStream(
("<html><body>Content generated "
+ new Date().toString()
+ ".</body></html>")
.getBytes());
else
return null;
}
}
´ÙÀ½°ú °°ÀÌ plugin.xml ÆÄÀÏÀÇ È®ÀåÀ¸·Î ½Äº°µË´Ï´Ù.
<extension point="org.eclipse.help.contentProducer"
name="dynamicTopics"
id="my.company.doc.dynamicTopics">
<contentProducer producer="com.my.company.doc.DynamicTopics" />
</extension>
°æ·Î ¶Ç´Â ÆÄÀÏ À̸§ÀÇ ÀϺηΠ´Ü¾î "dynamic"ÀÌ ÀÖ´Â ¸ðµç ¹®¼ ÂüÁ¶¿¡ ´ëÇÑ
HTML ¹®¼ ÄÁÅÙÃ÷¸¦ »ý¼ºÇÕ´Ï´Ù.
Ç÷¯±×ÀÎÀº ÄÁÅÙÃ÷¸¦ »ý¼ºÇÏ´Â µ¥ »ç¿ëµÇ´Â ±âº» ÇÁ·¹ÀÓ¿öÅ© ¶Ç´Â ¸Þ¼Òµå¸¦ ÀÚÀ¯·Ó°Ô »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª ÄÁÅÙÃ÷°¡ ¿Ã¹Ù¸¥ ¾ð¾î·Î »ý¼ºµÇ°í ±×¿¡ ¸Â°Ô ÀÎÄÚµåµÇ¾î ºê¶ó¿ìÀú°¡ ÄÁÅÙÃ÷¸¦ Ç¥½ÃÇÒ ¼ö ÀÖµµ·Ï È®ÀÎÇØ¾ß ÇÕ´Ï´Ù. »ç¿ëÀÚ°¡ »ç¿ëÇÏ´Â ·ÎÄÉÀÏÀÌ getInputStream ¸Þ¼Òµå¿¡ Á¦°øµË´Ï´Ù. º¯È¯ °¡´ÉÇÑ ÄÁÅÙÃ÷¸¦ Á¦°øÇÒ ¼ö ¾øÀ» °æ¿ì ÀÌ ·ÎÄÉÀÏ¿¡´Â ±âº» Ç÷§Æû ·ÎÄÉÀÏÀÇ ÄÁÅÙÃ÷·Î ±âº»°ªÀÌ ÁöÁ¤µË´Ï´Ù.