µ¿Àû µµ¿ò¸»

µµ¿ò¸»Àº Ç÷¯±×ÀÎ µð·ºÅ丮 ¾Æ·¡ÀÇ 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 ¸Þ¼Òµå¿¡ Á¦°øµË´Ï´Ù.  º¯È¯ °¡´ÉÇÑ ÄÁÅÙÃ÷¸¦ Á¦°øÇÒ ¼ö ¾øÀ» °æ¿ì ÀÌ ·ÎÄÉÀÏ¿¡´Â ±âº» Ç÷§Æû ·ÎÄÉÀÏÀÇ ÄÁÅÙÃ÷·Î ±âº»°ªÀÌ ÁöÁ¤µË´Ï´Ù.

¹ýÀû ÁÖÀÇ»çÇ×