3.0 ¸ÞÄ¿´ÏÁò ¹× API¸¦ äÅÃÇÒ ¶§ ÇÊ¿äÇÑ º¯°æ»çÇ×

ÀÌ ¼½¼Ç¿¡¼­´Â 3.0 ¸ÞÄ¿´ÏÁò ¹× API¸¦ äÅÃÇϵµ·Ï 2.1 Ç÷¯±×ÀÎÀ» º¯°æÇÏ·Á´Â °æ¿ì ÇÊ¿äÇÑ º¯°æ»çÇ׿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù.

org.eclipse.core.runtime.compatibility¿¡¼­ ³ª¿À±â

Eclipse 3.0 ·±Å¸ÀÓÀº ÇöÀúÇÏ°Ô ´Ù¸¨´Ï´Ù. ±âº» ±¸ÇöÀº OSGi ÇÁ·¹ÀÓ¿öÅ© ½ºÆåÀ» ±âÁØÀ¸·Î ÇÕ´Ï´Ù. Eclipse 3.0 ·±Å¸ÀÓ¿¡´Â 2.1 API¸¦ À¯Áöº¸¼öÇϴ ȣȯ¼º °èÃþ (org.eclipse.core.runtime.compatibility Ç÷¯±×ÀÎ)ÀÌ Æ÷ÇԵ˴ϴÙ. Ãß°¡ ¼º´É ¹× ±â´É¿¡ °ü½É ÀÖ´Â Ç÷¯±×ÀÎ °³¹ßÀÚ´Â 3.0 API¸¦ äÅÃÇϰí ȣȯ¼º °èÃþ¿¡¼­ Á¾¼Ó¼ºÀ» Á¦°ÅÇØ º¸½Ê½Ã¿À. ȣȯ¼º ÄÚµå´Â ´ÙÀ½ ¼¼ ºÎºÐÀ¸·Î Ç¥½ÃµË´Ï´Ù.

¾Æ·¡ ÅØ½ºÆ®´Â ȣȯ¼º ¸ñÀûÀ¸·Î Á¸ÀçÇϴ Ŭ·¡½º¿Í ¸Þ¼Òµå¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ë ¹× Ç÷¯±×ÀÎ °»½Å ¹æ¹ý¿¡ ´ëÇÑ ÁöħÀ» Á¦°øÇÕ´Ï´Ù.

Ç÷¯±×ÀÎ ¹× ¹øµé

Eclipse ·±Å¸ÀÓÀº Ŭ·¡½º ·Îµù ¹× ÇʼöÁ¶°Ç °ü¸®¿Í È®Àå/È®ÀåÁ¡ °ü¸®ÀÇ µÎ ºÎºÐÀ¸·Î ¸®ÆÑÅ͸µµÇ¾ú½À´Ï´Ù. ÀÌ·¯ÇÑ ºÐÇÒ¿¡ ÀÇÇØ Ŭ·¡½º ·Îµù ¹× ÇʼöÁ¶°Ç °ü¸®¿¡ ´ëÇÑ OSGi ÇÁ·¹ÀÓ¿öÅ© ½ºÆåÀ» ÀÚ¿¬½º·´°í/¿Ïº®ÇÏ°Ô Ã¤ÅÃÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶ÇÇÑ ·±Å¸ÀÓ¿¡¼­ »õ ±â´ÉÀÇ ¹üÀ§°¡ µ¿Àû Ç÷¯±×ÀÎ ¼³Ä¡/°»½Å/¼³Ä¡ Á¦°Å¿¡¼­ º¸¾È ¹× Áõ°¡µÈ ±¸¼º±îÁöÀÔ´Ï´Ù.

Ç÷¯±×Àο¡ ´ëÇØ °è¼Ó ¼³¸íÇÏÀÚ¸é, »õ ·±Å¸ÀÓ¿¡¼­ Ç÷¯±×ÀÎÀº ½ÇÁ¦·Î ¹øµé°ú ÀϺΠȮÀå ¹× È®ÀåÁ¡ÀÔ´Ï´Ù. ¹øµéÀ̶ó´Â ¿ë¾î´Â OSGi ÇÁ·¹ÀÓ¿öÅ© ½ºÆå¿¡ ÀÇÇØ Á¤ÀǵǸç À¯Çü ¹× ÀÚ¿ø°ú ¿¬°üµÈ ¹øµé°£ ÇʼöÁ¶°Ç Á¤º¸ÀÇ ÄÝ·º¼ÇÀ» ÀǹÌÇÕ´Ï´Ù. È®Àå ·¹Áö½ºÆ®¸®´Â »õ ¾ç½ÄÀÇ Ç÷¯±×ÀÎ ·¹Áö½ºÆ®¸®À̸ç È®Àå ¹× È®ÀåÁ¡ Á¤º¸¸¸ »ó¼¼È÷ ¼³¸íÇÕ´Ï´Ù. ´ëü·Î È®Àå ·¹Áö½ºÆ®¸® API´Â °ü·Ã Ç÷¯±×ÀÎ ·¹Áö½ºÆ®¸® API¿Í µ¿ÀÏÇÕ´Ï´Ù(ÀÚ¼¼ÇÑ Á¤º¸´Â ·¹Áö½ºÆ®¸® ÂüÁ¶).

Eclipse 2.x ·±Å¸ÀÓ¿¡¼­ Ç÷¯±×ÀÎ ¿ÀºêÁ§Æ®´Â ¿©·¯ ¿ªÇÒ ¹× Ã¥ÀÓÀ¸·Î ±¸¼ºµË´Ï´Ù.

Eclipse 3.0 ·±Å¸ÀÓ ±×¸²¿¡¼­ ÀÌ ¿ªÇÒ ¹× Ã¥ÀÓÀº º°°³ÀÇ ¿ÀºêÁ§Æ®·Î ÆÑÅ丵µË´Ï´Ù.

¹øµé
¹øµéÀº ¸ðµâ ¹æ½ÄÀÇ OSGi ÀåÄ¡ÀÔ´Ï´Ù. ¹øµé´ç ÇϳªÀÇ Å¬·¡½º ·Î´õ°¡ ÀÖÀ¸¸ç Eclipse¿Í °°Àº ¹øµé°£ Ŭ·¡½º ·Îµù Á¾¼Ó¼º ±×·¡ÇÁ¸¦ ±¸¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. ¹øµéÀº ½ÃÀÛ ¹× ÁßÁöÀÇ ¶óÀÌÇÁ »çÀÌŬÀ» °¡Áö°í ÀÖÀ¸¸ç OSGi ÇÁ·¹ÀÓ¿öÅ©´Â ¹øµé °ü·Ã À̺¥Æ®(¿¹: ¼³Ä¡, ÇØ¼®, ½ÃÀÛ, ÁßÁö, ¼³Ä¡ Á¦°Å...)¸¦ °ü½ÉÀÖ´Â ´ç»çÀÚ¿¡°Ô ºê·Îµåij½ºÆ®ÇÕ´Ï´Ù. Eclipse Plugin Ŭ·¡½º¿Í ´Þ¸® OSGi Bundle Ŭ·¡½º´Â È®Àå °¡´ÉÇÏÁö ¾Ê½À´Ï´Ù. Áï, °³¹ßÀÚ´Â ÀÚüÀÇ ¹øµé Ŭ·¡½º¸¦ Á¤ÀÇÇÒ ¼ö ¾ø½À´Ï´Ù.
BundleActivator
BundleActivator´Â OSGi ÇÁ·¹ÀÓ¿öÅ©¿¡¼­ Á¤ÀÇÇÑ ÀÎÅÍÆäÀ̽ºÀÔ´Ï´Ù. °¢ ¹øµéÀº Ç÷¯±×ÀÎÀÌ Plugin Ŭ·¡½º¸¦ Á¤ÀÇÇÒ ¼ö ÀÖ´Â °Í°ú °°ÀÌ ¹øµé Ȱ¼ºÀÚ Å¬·¡½º¸¦ Á¤ÀÇÇÒ ¼ö ÀÖ½À´Ï´Ù. ÁöÁ¤µÈ Ŭ·¡½º´Â ÇÁ·¹ÀÓ¿öÅ©¿¡¼­ ÀνºÅϽºÈ­Çϰí start() ¹× stop() ¶óÀÌÇÁ »çÀÌŬ 󸮸¦ ±¸ÇöÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù. ±×·¯³ª ÀÌ ¶óÀÌÇÁ »çÀÌŬ ó¸®ÀÇ Æ¯¼º¿¡¼­ ÁÖ¿äÇÑ Â÷À̰¡ ÀÖ½À´Ï´Ù. Eclipse¿¡¼­ ÀϹÝÀûÀ¸·Î(±ÇÀåµÇÁö ¾ÊÀ½) Plugin Ŭ·¡½º´Â ÃʱâÈ­ ¹× µî·Ï ¸ðµÎ¸¦ ¼öÇàÇÕ´Ï´Ù. OSGi¿¡¼­ Ȱ¼ºÀÚ´Â µî·Ï¸¸ ¼öÇàÇØ¾ß ÇÕ´Ï´Ù. BundleActivator.start()¿¡¼­ ¸¹Àº ¾çÀÇ ÃʱâÈ­(¶Ç´Â ±âŸ ÀÛ¾÷)¸¦ ¼öÇàÇÏ¸é ½Ã½ºÅÛÀÇ È°µ¿¿¡ ¹®Á¦¸¦ ÀÏÀ¸Åµ´Ï´Ù.
BundleContext
BundleContext´Â °³º° ¹øµé¿¡ ÀÏ¹Ý ½Ã½ºÅÛ ±â´ÉÀ» Á¦½ÃÇÏ´Â OSGi ¸ÞÄ¿´ÏÁòÀÔ´Ï´Ù. °¢ ¹øµé¿¡´Â ½Ã½ºÅÛ ±â´É¿¡ ¾×¼¼½ºÇÏ´Â µ¥ »ç¿ëÇÒ ¼ö ÀÖ´Â BundleContextÀÇ °íÀ¯ÇÑ °³Àοë ÀνºÅϽº°¡ ÀÖ½À´Ï´Ù(¿¹: ½Ã½ºÅÛ¿¡¼­ ¸ðµç ¹øµéÀ» ¹ß°ßÇÏ´Â getBundles()).
Plugin
»õ PluginÀº ´ÙÀ½ÀÇ ¿¹¿Ü¿Í ÇÔ²² ¿ø·¡ÀÇ Eclipse Plugin Ŭ·¡½º¿Í ¸Å¿ì À¯»çÇÕ´Ï´Ù. Plugin ¿ÀºêÁ§Æ®´Â ´õ ÀÌ»ó ·±Å¸ÀÓ¿¡¼­ ÇÊ¿ä·Î Çϰųª °ü¸®ÇÏÁö ¾ÊÀ¸¸ç ´Ù¾çÇÑ ¸Þ¼Òµå°¡ »ç¿ëµÇÁö ¾Ê½À´Ï´Ù. À̰ÍÀº À¯¿ëÇÑ ±â´É ¹× ¸ÞÄ¿´ÏÁòÀÇ È£½ºÆ®¸¦ Á¦°øÇÏ´Â Æí¸®ÇÑ ¸ÞÄ¿´ÏÁòÀÌÁö¸¸ ¹Ýµå½Ã ÇÊ¿äÇÑ °ÍÀº ¾Æ´Õ´Ï´Ù. Á¦°øµÇ´Â ´ëºÎºÐÀÇ ±â´ÉÀº ·±Å¸ÀÓ ½Ã Platform Ŭ·¡½º¿¡¼­µµ »ç¿ë °¡´ÉÇÕ´Ï´Ù.

PluginÀº BundleActivatorµµ ±¸ÇöÇÕ´Ï´Ù. Ç÷¯±×ÀÎÀÇ ¶óÀÌÇÁ »çÀÌŬ ¹× Àǹ̸¦ Ç¥½ÃÇÏ´Â ÇϳªÀÇ Á᫐ ¿ÀºêÁ§Æ®¸¦ °®´Â Æí¸®ÇÔÀÌ ÀÖ½À´Ï´Ù. ±×·¯³ª ÇöÀç Ç÷¯±×Àο¡¼­ °øÅëÀÎ µ¥ÀÌÅÍ ±¸Á¶ÀÇ ¿ëÀÌÇÑ ÃʱâÈ­¸¦ Çã¿ëÇÏÁö ¾Ê½À´Ï´Ù. ÀϺΠ´Ù¸¥ Ç÷¯±×Àο¡¼­ Ŭ·¡½º °ËÁõ Áß¿¡ ºÎÂ÷Àû Ŭ·¡½º°¡ ÂüÁ¶µÇ¹Ç·Î Ç÷¯±×ÀÎÀ» Ȱ¼ºÈ­ÇÒ ¼ö ÀÖ½À´Ï´Ù. Áï, Ç÷¯±×ÀÎÀÌ È°¼ºÈ­µÈ °ÍÀº ±â´ÉÀÌ ¹Ýµå½Ã ÇÊ¿äÇÔÀ» ÀǹÌÇÏÁö´Â ¾Ê½À´Ï´Ù. ´Ù¸¥ BundleActivator Ŭ·¡½º¸¦ Á¤ÀÇÇϰųª ¹øµé Ȱ¼ºÀÚ¸¦ °®Áö ¾ÊÀ» ¼öµµ ÀÖ½À´Ï´Ù.

2.x Plugin Ŭ·¡½º¸¦ Eclipse 3.0À¸·Î Æ÷Æ®ÇÏ´Â µ¥ ÇÊ¿äÇÑ ´Ü°è´Â ¼öÇàÇϴ Ŭ·¡½º¿¡ µû¶ó ´Ù¸¨´Ï´Ù. À§¿¡¼­ ¼³¸íÇÑ ´ë·Î ´ëºÎºÐÀÇ ½ÃÀÛ ¶óÀÌÇÁ »çÀÌŬ ÀÛ¾÷Àº ´ÙÀ½ Ä«Å×°í¸® Áß Çϳª¿¡ ¼ÓÇÕ´Ï´Ù.

ÃʱâÈ­
µ¥ÀÌÅÍ ±¸Á¶ ¹× ¸ðµ¨ ÃʱâÈ­´Â ÁÖ·Î Plugin.startup()¿¡¼­ ¿Ï·áµË´Ï´Ù. ÀÚ¿¬Àû/¸í¹éÇÑ ¸ÊÇÎÀº Plugin¿¡ ±â´ÉÀ» ³²°ÜµÑ BundleActivator.start()¿¡¼­ ÀÌ ÀÛ¾÷À» ¼öÇàÇÏ´Â °ÍÀÔ´Ï´Ù. À̰ÍÀº ±ÇÀåµÇÁö ¾Ê½À´Ï´Ù. 2.x Ç÷¯±×ÀÎÀÇ °æ¿ì ¿©·¯ ´Ù¸¥ ȯ°æ¿¡¼­ ¿©·¯°¡Áö ÀÌÀ¯·Î 3.0 Ç÷¯±×ÀÎ/¹øµéÀ» ½ÃÀÛÇÒ ¼ö ÀÖ½À´Ï´Ù.
Eclipse 2.0 ÀÏÀÇ ½ÇÁ¦ ¿¹Á¦´Â ÀÌ °æ¿ì¸¦ ¼³¸íÇÕ´Ï´Ù. 11MBÀÇ ÄÚµå ¹× ¿©·¯ MBÀÇ µ¥ÀÌÅÍ ·ÎµùÀ» ¿ä±¸ÇÏ´Â Å« ¸ðµ¨À» ÃʱâÈ­ÇÑ Ç÷¯±×ÀÎÀÌ ÀÖ½À´Ï´Ù. ÀÌ Ç÷¯±×ÀÎÀ» Ȱ¼ºÈ­ÇÏ¿© ³×ºñ°ÔÀÌÅÍ¿¡ ÀÖ´Â ÇÁ·ÎÁ§Æ® ¾ÆÀÌÄÜÀ» ƯÁ¤ ¸¶Å©¾÷À¸·Î µ¥ÄÚ·¹ÀÌÆ®ÇØ¾ß ÇÏ´ÂÁö ¿©ºÎ¸¦ È®ÀÎÇÏ´Â °øÅëÀÇ »ç¿ë ÄÉÀ̽º°¡ ÀÖ½À´Ï´Ù. ÀÌ Å×½ºÆ®´Â ÃʱâÈ­°¡ startup()¿¡¼­ ¿Ï·áµÇ¾î¾ß ÇÑ´Ù°í ¿ä±¸ÇÏÁö ¾ÊÁö¸¸ ¸ðµç »ç¿ë ÄÉÀ̽º¿¡¼­ ÀÏ¹Ý »ç¿ëÀÚ´Â ÀÌ ÃʱâÈ­¿¡ ´ëÇÑ ¸Þ¸ð¸® ¹× ½Ã°£ ´ë°¡¸¦ ÁöºÒÇØ¾ß ÇÕ´Ï´Ù.
´ë¾ÈÀº ±âÁ¸ÀÇ ´À½¼ÇÑ ½ºÅ¸ÀÏ·Î ÃʱâÈ­¸¦ ¼öÇàÇÏ´Â °ÍÀÔ´Ï´Ù. ¿¹¸¦ µé¾î, Ç÷¯±×ÀÎ/¹øµéÀÌ È°¼ºÈ­µÉ ¶§ ¸ðµ¨À» ÃʱâÈ­ÇÏÁö ¾Ê°í ½ÇÁ¦·Î ÇÊ¿äÇÒ ¶§ ÃʱâÈ­ÇϽʽÿÀ(¿¹: Áß¾Ó ¸ðµ¨ ¾×¼¼¼­ ¸Þ¼Òµå¿¡¼­). ¸¹Àº »ç¿ë ÄÉÀ̽ºÀÇ °æ¿ì ÀÌ ¹æ¹ýÀº ½Ã°£¸é¿¡¼­ °ÅÀÇ µ¿ÀÏÇÏ°Ô »ç¿ëµÇÁö¸¸ ´Ù¸¥ ½Ã³ª¸®¿ÀÀÇ °æ¿ì ÃʱâÈ­¸¦ Áö¿¬½Ãŵ´Ï´Ù(¹«±âÇÑÀ¸·Î). 2.1 Ç÷¯±×ÀÎÀ» Æ÷Æ®Çϸ鼭 »ç¿ëµÈ ÃʱâÈ­ Àü·«À» ´Ù½Ã °í·ÁÇÏ´Â °ÍÀÌ ÁÁ½À´Ï´Ù.
µî·Ï
Ç÷¯±×ÀÎ ½ÃÀÛÀº ¸®½º³Ê, ¼­ºñ½º µîÀ» µî·ÏÇÏ°í ¹è°æ ó¸® ½º·¹µå¸¦ ½ÃÀÛÇϱâ À§ÇÑ Æí¸®ÇÑ ½Ã°£ÀÔ´Ï´Ù(¿¹: ¼ÒÄÏ¿¡¼­ ûÃë). Plugin.start()´Â ÀÌ ÀÛ¾÷À» ¼öÇàÇÒ ÁÁÀº À§Ä¡ÀÔ´Ï´Ù. ÀϺΠ´Ù¸¥ Æ®¸®°Å(¿¹: ƯÁ¤ ±â´É ¶Ç´Â µ¥ÀÌÅÍ ¿ä¼Ò »ç¿ë)±îÁö Áö¿¬½ÃŰ´Â °ÍÀÌ ÁÁÀ» ¼öµµ ÀÖ½À´Ï´Ù.
Ç÷¯±×ÀÎ ±Û·Î¹ú µ¥ÀÌÅÍ
Plugin Ŭ·¡½º´Â ÀÌ ¿ªÇÒÀ» °è¼Ó ¼öÇàÇÒ ¼ö ÀÖ½À´Ï´Ù. ±âº» ¹®Á¦Á¡Àº Plugin ¿ÀºêÁ§Æ®°¡ ½Ã½ºÅÛ °ü¸® ¸ñ·ÏÀ» ÅëÇØ ±Û·Î¹ú·Î ´õ ÀÌ»ó ¾×¼¼½ºµÇÁö ¾Ê´Â´Ù´Â °ÍÀÔ´Ï´Ù. Eclipse 2.x¿¡¼­ Ç÷¯±×ÀÎ ·¹Áö½ºÆ®¸®¸¦ ÅëÇØ Ç÷¯±×ÀÎÀÇ Plugin ¿ÀºêÁ§Æ®¸¦ ¹ß°ßÇÒ ¼ö ÀÖ½À´Ï´Ù. À̰ÍÀº ´õ ÀÌ»ó °¡´ÉÇÏÁö ¾Ê½À´Ï´Ù. ´ëºÎºÐÀÇ °æ¿ì ÀÌ ¾×¼¼½º À¯ÇüÀº ÇÊ¿äÇÏÁö ¾Ê½À´Ï´Ù. ·¹Áö½ºÆ®¸®¸¦ ÅëÇØ ¾×¼¼½ºÇÑ PluginÀº µµ¸ÞÀÎ °íÀ¯ ¸Þ¼Òµå¸¦ È£ÃâÇÏÁö ¾Ê°í ÀÏ¹Ý PluginÀ¸·Î »ç¿ëµË´Ï´Ù. ÇØ´ç ¹øµé ¿ÀºêÁ§Æ®¿¡ ¾×¼¼½ºÇϰųª À̸¦ Á¶ÀÛÇÏ¿© °°Àº ¼öÁØÀÇ ¼º´ÉÀ» È®º¸ÇÒ ¼ö ÀÖ½À´Ï´Ù.

·¹Áö½ºÆ®¸® ¹× Ç÷¯±×ÀÎ ¸ðµ¨

»õ ·±Å¸ÀÓ¿¡¼­´Â Ç÷¯±×ÀÎÀ» ½ÇÇàÇÏ´Â µ¥ ÇÊ¿äÇÑ Á¤º¸ ¹× ±¸Á¶¿Í Ç÷¯±×ÀÎÀÇ È®Àå ¹× È®ÀåÁ¡¿¡ °ü·ÃµÈ Á¤º¸ °£¿¡ ±¸ºÐÀÌ ÀÖ½À´Ï´Ù. ÀüÀÚ´Â OSGi ÇÁ·¹ÀÓ¿öÅ© ½ºÆå¿¡ ÀÇÇØ Á¤ÀÇ ¹× °ü¸®µË´Ï´Ù. ÈÄÀÚ´Â Eclipse °íÀ¯ °³³äÀ̸ç Eclipse ·±Å¸ÀÓ Äڵ忡¼­ Ãß°¡ÇÕ´Ï´Ù. µû¶ó¼­ ¿ø·¡ Ç÷¯±×ÀÎ ·¹Áö½ºÆ®¸® ¹× °ü·Ã ¿ÀºêÁ§Æ®´Â OSGi ¹øµé ¹× Eclipse È®Àå ·¹Áö½ºÆ®¸®·Î ºÐÇҵǾú½À´Ï´Ù.

½ÇÇà ½ºÆå(¿¹:IPluginDescriptor, ILibrary, IPrequisite)À» ´Ù·ç´Â IPluginRegistryÀÇ ÀϺδ »ç¿ëµÇÁö ¾ÊÀ¸¸ç È®Àå ¹× È®ÀåÁ¡¿¡ °ü·ÃµÈ ³ª¸ÓÁö ºÎºÐÀÌ IExtensionRegistry·Î À̵¿Çß½À´Ï´Ù. ¶ÇÇÑ ÀüüÀûÀ¸·Î Ç÷¯±×ÀÎ ·¹Áö½ºÆ®¸®¿¡ °ü·ÃµÈ ¸ðµ¨ ¿ÀºêÁ§Æ®°¡ ÀÌÁ¦ »ç¿ëµÇÁö ¾Ê½À´Ï´Ù. ÀÌ À¯ÇüÀº ·±Å¸ÀÓ¿¡¼­ ÀÏÂ÷ÀûÀ¸·Î Á¦½ÃÇϰí ÀνºÅϽºÈ­ÇÏ¿© PDE¿Í °°Àº µµ±¸¸¦ Áö¿øÇÕ´Ï´Ù. ÇÏÁö¸¸ ÇÊ¿äÇÑ Á¤º¸ ¼öÁØÀÌ ·±Å¸ÀÓ ¼º´ÉÀ̳ª °ü½É(¿¹: plugin.xml ¿ä¼ÒÀÇ Çà ¹øÈ£ ±â¾ï)À» ÃʰúÇÑ °æ¿ì ¹× ¸¶Áö¸·¿¡ ·±Å¸ÀÓ Á¤º¸ÀÇ ÀáÀçÀû »ç¿ëÀÚ°¡ ÀÚüÀÇ ±¸Á¶¸¦ À¯Áöº¸¼öÇØ¾ß ÇÏ´Â °æ¿ì°¡ Á¾Á¾ ÀÖ½À´Ï´Ù.

»õ ·±Å¸ÀÓÀÇ °æ¿ì, ·±Å¸ÀÓ¿¡¼­ Á¦°øÇÑ ±â´ÉÀ» ´Ù½Ã Æò°¡ÇßÀ¸¸ç ÀÌÁ¦ ·±Å¸ÀÓ ½ÇÇà¿¡ ÇʼöÀûÀ̰ųª ´Ù¸¥ »ç¿ëÀÚ°¡ ¼öÇàÇϱ⠾î·Á¿î ±â´É¸¸ Á¦°øÇÕ´Ï´Ù. À§¿¡¼­ ¼³¸íÇÑ ´ë·Î Ç÷¯±×ÀÎ ·¹Áö½ºÆ®¸® ¸ðµ¨ ¿ÀºêÁ§Æ®´Â Ç÷¯±×ÀÎ ±¸¹® ºÐ¼® API¸¦ °¡Áö¹Ç·Î »ç¿ëµÇÁö ¾Ê½À´Ï´Ù. »õ È®Àå ·¹Áö½ºÆ®¸®´Â Áß¿äÇÑ È®Àå °ü·Ã Á¤º¸¸¦ À¯Áöº¸¼öÇÕ´Ï´Ù. »õ »óÅÂ(org.eclipse.osgi.service.resolver.State ¹× friend ÂüÁ¶) ±¸Á¶´Â Áß¿äÇÑ ½ÇÇà °ü·Ã Á¤º¸ Á¶ÀÛÀ» Ç¥½ÃÇϰí Çã¿ëÇÕ´Ï´Ù.

NL ´ÜÆí ±¸Á¶

Eclipse 3.0¿¡¼­ NL ´ÜÆí ±¸Á¶°¡ ÀϰüÀûÀÌ µÇµµ·Ï °»½ÅµÇ¾ú½À´Ï´Ù. ÀÌÀü¿¡´Â plugin.properties¿Í °°Àº ÆÄÀÏ¿¡ ´ëÇÑ º¯È¯ÀÌ ´ÜÆí¿¡¼­ Á¦°øÇÑ JAR ³»¿¡ ÀÖ´Â °ÍÀ¸·Î °¡Á¤µÇ¾ú½À´Ï´Ù. ¿ø·¡ ÆÄÀÏÀÌ °ü·Ã È£½ºÆ® Ç÷¯±×ÀÎÀÇ ·çÆ®¿¡ Àֱ⠶§¹®¿¡ º¸´Ù ÀϰüµÈ À§Ä¡¿¡ ÀÇÇØ º¯È¯ ÆÄÀÏÀÌ NL ´ÜÆíÀÇ ·çÆ®¿¡ ÀÖ°Ô µË´Ï´Ù. ¿¹¸¦ µé¾î, ´ÙÀ½°ú °°½À´Ï´Ù.

  org.eclipse.ui.workbench.nl/
     fragment.xml
     plugin_fr.properties
     plugin_pt_BR.properties
     ...
     nl1.jar

nl1.jar ÆÄÀÏÀÌ ÀÌÀü¿¡´Â plugin.properties¿¡ ´ëÇÑ º¯È¯¿¡ Æ÷ÇԵǾú½À´Ï´Ù. ÀÌÁ¦ ÀÌ ÆÄÀÏÀº ´ÜÆíÀÇ ·çÆ®¿¡ ÀÖÀ¸¸ç JAR¿¡´Â È£½ºÆ® Ç÷¯±×ÀÎÀÇ º¯È¯ °¡´É ÀÚ¿ø(¿¹: Ŭ·¡½º ·Î´õ¸¦ ÅëÇØ ·ÎµåµÈ ÆÄÀÏ)ÀÇ º¯È¯ÀÌ Æ÷ÇԵ˴ϴÙ.

¿©ÀüÈ÷ Eclipse 2.1 NL ´ÜÆí ±¸Á¶´Â Eclipse 3.0¿¡¼­ ½ÇÇàÇÏ´Â 2.1 È£½ºÆ® Ç÷¯±×Àο¡ ´ëÇØ Áö¿øµË´Ï´Ù. ±×·¯³ª 3.0 Ç÷¯±×Àο¡¼­ 2.1 NL ´ÜÆíÀ» »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù. ´ÜÆíÀº »õ ±¸Á¶·Î °»½ÅµÇ¾î¾ß ÇÕ´Ï´Ù.

API º¯°æ °³¿ä

org.eclipse.core.boot (package org.eclipse.core.boot)

Àüü org.eclipse.core.boot ÆÐŰÁö°¡ »ç¿ëµÇÁö ¾Ê½À´Ï´Ù. ºÎÆ®¿Í ·±Å¸ÀÓ °£¿¡ ºÐÇÒÀÌ ÇÊ¿äÇÏÁö ¾ÊÀ¸¹Ç·Î BootLoader´Â org.eclipse.core.runtime.Platform¿¡ º´ÇյǾú½À´Ï´Ù. ½ÇÁ¦·Î org.eclipse.core.boot Ç÷¯±×ÀÎÀº ºÐÇҵǾúÀ¸¸ç ¸ðµç ÄÚµå´Â »õ ·±Å¸ÀÓÀ̳ª ȣȯ¼º °èÃþÀ¸·Î À̵¿Çß½À´Ï´Ù.

IPlatformConfigurationÀº Ç×»ó Eclipse ¼³Ä¡/°»½Å ±¸¼º¿ä¼Ò¿¡¼­ Á¤ÀÇÇÑ À¯ÇüÀÔ´Ï´Ù. ·±Å¸ÀÓÀÇ À籸¼º¿¡¼­ ÀÌ À¯ÇüÀ» ÀûÀýÇÑ È¨À¸·Î º¸³¾ ¼ö ÀÖ½À´Ï´Ù. ÀÌ Å¬·¡½º´Â ´ëºÎºÐ º¯°æµÇÁö ¾ÊÀº »óÅÂÀ̸ç org.eclipse.update.configurator.IPlatformConfigurationÀ¸·Î ´Ù½Ã ÆÐŰÁöµÇ¾ú½À´Ï´Ù.

IPlatformRunnableÀÌ org.eclipse.core.runtime.IPlatformRunnableÀ¸·Î À̵¿Çß½À´Ï´Ù.

IExtension ¹× IExtensionPoint(package org.eclipse.core.runtime)

getDeclaringPlugin() ¸Þ¼Òµå(µÎ Ŭ·¡½º¿¡¼­)´Â È®Àå ¶Ç´Â È®ÀåÁ¡À» ¼±¾ðÇÏ´Â Ç÷¯±×Àο¡ ´ëÇÑ »óÇâ ¸µÅ©¸¦ °¢°¢ Á¦°øÇÕ´Ï´Ù. »õ ·¹Áö½ºÆ®¸® ¸ðµ¨Àº Ç÷¯±×ÀÎÀÇ ½ÇÇà Ãø¸éÀ» È®Àå/È®ÀåÁ¡ Ãø¸é¿¡¼­ ºÐ¸®ÇÏ¿© ´õ ÀÌ»ó IPluginDescriptors¸¦ Æ÷ÇÔÇÏÁö ¾Ê½À´Ï´Ù. ÀÌ APIÀÇ »ç¿ëÀÚ´Â IExtension°ú IExtensionPoint ¸ðµÎ¿¡ ÀÖ´Â »õ ¸Þ¼Òµå getParentIdentifier()¸¦ °í·ÁÇØ¾ß ÇÕ´Ï´Ù.

ILibrary, IPluginDescriptor, IPluginRegistry ¹× IPrerequisite(package org.eclipse.core.runtime)

¿ø·¡ ·±Å¸ÀÓ¿¡¼­ Ç÷¯±×ÀÎ ·¹Áö½ºÆ®¸®´Â ·±Å¸ÀÓ ±¸¼ºÀÇ ¿ÏÀüÇÑ ±×¸²À» À¯Áöº¸¼öÇß½À´Ï´Ù. Eclipse 3.0¿¡¼­ ÀÌ ±×¸²Àº OSGi ÇÁ·¹ÀÓ¿öÅ©¿Í È®Àå ·¹Áö½ºÆ®¸®·Î ºÐÇҵ˴ϴÙ. ¸¶Âù°¡Áö·Î ÀÌ Å¬·¡½º´Â »ç¿ëµÇÁö ¾Ê½À´Ï´Ù. »ç¿ë ¾ÈÇÔ ÁÖÀÇ»çÇ×Àº Äڵ带 °»½ÅÇÏ´Â ¹æ¹ý¿¡ ´ëÇÑ ¼¼ºÎ»çÇ×À» Æ÷ÇÔÇÕ´Ï´Ù.

Ç÷§Æû ¹× Ç÷¯±×ÀÎ(package org.eclipse.core.runtime)

»õ ·±Å¸ÀÓ¿¡¼­ Plugin ¿ÀºêÁ§Æ®´Â ´õ ÀÌ»ó ·±Å¸ÀÓ¿¡¼­ °ü¸®ÇÏÁö ¾ÊÀ¸¸ç ÀϹÝÀûÀ¸·Î Ç÷§Æû¿¡¼­ ¾×¼¼½ºÇÒ ¼ö ¾ø½À´Ï´Ù. ¸¶Âù°¡Áö·Î Ç÷¯±×ÀÎ ·¹Áö½ºÆ®¸®´Â ´õ ÀÌ»ó Á¸ÀçÇÏÁö ¾Ê°Å³ª Ç÷¯±×ÀÎ ¼³¸íÀÚ¿¡ ´ëÇÑ ¾×¼¼½º¸¦ Á¦°øÇÏÁö ¾Ê½À´Ï´Ù. ±×·¯³ª ÀÌ Å¬·¡½º¿¡¼­ Áö¿øµÇÁö ¾Ê´Â ¸Þ¼ÒµåÀÇ Javadoc¿¡¼­ »ç¿ë °¡´ÉÇÏ°í ¼³¸íµÈ ÀûÀýÇÑ ´ëü ¸Þ¼Òµå°¡ ÀÖ½À´Ï´Ù.

org.eclipse.core.runtime.model(package org.eclipse.core.runtime.model)

ÀÌ ÆÐŰÁöÀÇ ¸ðµç À¯ÇüÀº ÇöÀç »ç¿ëµÇÁö ¾Ê½À´Ï´Ù. ÀÚ¼¼ÇÑ Á¤º¸´Â ·¹Áö½ºÆ®¸®¿¡ ´ëÇÑ ¼³¸íÀ» ÂüÁ¶ÇϽʽÿÀ.

IWorkspaceRunnable ¹× IWorkspace.run(package org.eclipse.core.resources)

IWorkspace.run(IWorkspaceRunnable,IProgressMonitor) ¸Þ¼ÒµåÀÇ Å¬¶óÀÌ¾ðÆ®´Â ÀÌ ¸Þ¼ÒµåÀÇ »ç¿ëÀ» ´Ù½Ã »ìÆìº¸¾Æ¾ß ÇÏ¸ç º¸´Ù dzºÎÇÑ ¸Þ¼Òµå IWorkspace.run(IWorkspaceRunnable,ISchedulingRule,int,IProgressMonitor)ÀÇ »ç¿ëÀ» °í·ÁÇØ¾ß ÇÕ´Ï´Ù. ±âÁ¸ IWorkspace.run ¸Þ¼Òµå´Â IWorkspaceRunnableÀÇ Áö¼Ó±â°£ µ¿¾È Àüü ÀÛ¾÷°ø°£¿¡ ´ëÇÑ Àá±ÝÀ» È®º¸ÇÕ´Ï´Ù. Áï, ÀÌ ¸Þ¼Òµå·Î ¿Ï·áµÈ ÀÛ¾÷Àº ÀÛ¾÷°ø°£À» º¯°æÇÏ´Â ±âŸ Á¶ÀÛ°ú µ¿½Ã¿¡ ½ÇÇàÇÒ ¼ö ¾ø½À´Ï´Ù. Eclipse 3.0¿¡¼­ ¸¹Àº Àå±â ½ÇÇà Á¶ÀÛÀÌ ¹è°æ ½º·¹µå·Î À̵¿ÇßÀ¸¹Ç·Î Á¶ÀÛ °£ÀÇ Ãæµ¹ °¡´É¼ºÀÌ Å©°Ô Áõ°¡ÇÕ´Ï´Ù. ¸ð´Þ(modal) Àü°æ Á¶ÀÛÀº Àå±â ½ÇÇà ¹è°æ Á¶ÀÛ¿¡ ÀÇÇØ Â÷´ÜµÇ¹Ç·Î ¹è°æ Á¶ÀÛÀÌ ¿Ï·áµÇ°Å³ª Á¶ÀÛ Áß Çϳª°¡ Ãë¼ÒµÉ ¶§°¡Áö UI°¡ Â÷´ÜµË´Ï´Ù.

Á¦¾ÈµÈ ¼Ö·ç¼ÇÀº ¸ðµç ÂüÁ¶»çÇ×À» ±âÁ¸ IWorkspace.runÀ¸·Î º¯È¯ÇÏ¿© ½ºÄÉÁÙ¸µ ±ÔÄ¢ ¸Å°³º¯¼ö·Î »õ ¸Þ¼Òµå¸¦ »ç¿ëÇÏ´Â °ÍÀÔ´Ï´Ù. ½ºÄÉÁÙ¸µ ±ÔÄ¢Àº ÇØ´ç Á¶ÀÛ¿¡ ÀÇÇÑ ¸ðµç º¯°æ»çÇ׿¡ ´ëÇÑ ±ÔÄ¢À» Æ÷ÇÔÇÏ´Â °¡Àå ÀÚ¼¼ÇÑ ±ÔÄ¢ÀÔ´Ï´Ù. Á¶ÀÛÀÌ ½ºÄÉÁÙ¸µ ±ÔÄ¢ÀÇ ¹üÀ§ ¹Û¿¡¼­ ÀÚ¿øÀ» ¼öÁ¤ÇÏ·Á´Â °æ¿ì ·±Å¸ÀÓ ¿¹¿Ü°¡ ¹ß»ýÇÕ´Ï´Ù. ÇØ´ç ÀÛ¾÷°ø°£ Á¶ÀÛ¿¡¼­ ¿ä±¸ÇÏ´Â Á¤È®ÇÑ ½ºÄÉÁÙ¸µ ±ÔÄ¢Àº ÁöÁ¤µÇÁö ¾ÊÀ¸¸ç ÇØ´ç ÇÁ·ÎÁ§Æ®ÀÇ ¼³Ä¡µÈ ÀúÀå¼Ò Á¦°øÀÚ¿¡ µû¶ó º¯°æµÉ ¼ö ÀÖ½À´Ï´Ù. ÆÑÅ丮 IResourceRuleFactory´Â ÀÚ¿ø º¯°æ Á¶ÀÛ¿¡ ´ëÇÑ ½ºÄÉÁÙ¸µ ±ÔÄ¢À» È®º¸ÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù. ¿øÇÏ´Â °æ¿ì MultiRule¸¦ »ç¿ëÇÏ¿© ¿©·¯ ÀÚ¿ø ±ÔÄ¢À» ÁöÁ¤Çϰí MultiRule.combine ¸Þ¼Òµå¸¦ »ç¿ëÇÏ¿© ´Ù¾çÇÑ ÀÚ¿ø º¯°æ Á¶ÀÛÀÇ ±ÔÄ¢À» °áÇÕÇÒ ¼ö ÀÖ½À´Ï´Ù.

Àá±ÝÀÌ ÇÊ¿äÇÏÁö ¾Ê´Â °æ¿ì nullÀÇ ½ºÄÉÁÙ¸µ ±ÔÄ¢À» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·Î½á ½ÇÇà ÇÁ·Î±×·¥ÀÌ ÀÛ¾÷°ø°£¿¡¼­ ¸ðµç ÀÚ¿øÀ» ¼öÁ¤ÇÒ ¼ö ÀÖÁö¸¸ ´Ù¸¥ ½º·¹µå°¡ ÀÛ¾÷°ø°£À» µ¿½Ã¿¡ ¼öÁ¤ÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ÀÛ¾÷°ø°£¿¡ ´ëÇÑ ´Ü¼ø º¯°æ»çÇ×ÀÇ °æ¿ì À̰ÍÀº °¡Àå ½±°í µ¿½ÃÀûÀÎ ¼Ö·ç¼ÇÀÔ´Ï´Ù.

IWorkbenchPage(package org.eclipse.ui)

IEditorDescriptor(package org.eclipse.ui)

ISharedImages(package org.eclipse.ui)

IWorkbenchActionConstants(package org.eclipse.ui)

IWorkbenchPreferenceConstants(package org.eclipse.ui)

IExportWizard(package org.eclipse.ui)

IImportWizard(package org.eclipse.ui)

INewWizard(package org.eclipse.ui)

WorkbenchHelp(package org.eclipse.ui.help)

IHelp(package org.eclipse.help)

ITextEditorActionConstants(package org.eclipse.ui.texteditor)

IAbstractTextEditorHelpContextIds(package org.eclipse.ui.texteditor)

BasicTextEditorActionContributor(package org.eclipse.ui.texteditor)

TextEditorActionContributor(package org.eclipse.ui.editors.text)

annotationTypes È®ÀåÁ¡(plug-in org.eclipse.ui.editors)

ÀÌÁ¦ ¾î³ëÅ×ÀÌ¼Ç À¯ÇüÀ̶ó´Â ¸í½ÃÀû °³³äÀÌ ÀÖ½À´Ï´Ù. Annotation.getType() ¹× Annotation.setType()À» ÂüÁ¶ÇϽʽÿÀ. ¾î³ëÅ×ÀÌ¼Ç À¯ÇüÀº º¯°æµÉ ¼ö ÀÖ½À´Ï´Ù. ¾î³ëÅ×ÀÌ¼Ç À¯ÇüÀÇ ¼±¾ð¿¡ ´ëÇØ »õ È®ÀåÁ¡ÀÌ ´ÙÀ½°ú °°ÀÌ Ãß°¡µÇ¾ú½À´Ï´Ù. "org.eclipse.ui.editors.annotationTypes". ¾î³ëÅ×ÀÌ¼Ç À¯ÇüÀº À̸§ÀÌ ÀÖÀ¸¸ç ¼±¾ðµÈ ´Ù¸¥ ¾î³ëÅ×ÀÌ¼Ç À¯ÇüÀÇ ÇÏÀ§ À¯ÇüÀ¸·Î ¼±¾ðÇÒ ¼ö ÀÖ½À´Ï´Ù. ¾î³ëÅ×ÀÌ¼Ç À¯Çü ¼±¾ðÀº ÇØ´ç À¯Çü ¹× ½É°¢µµÀÇ ¸¶Ä¿°¡ ƯÁ¤ ¾î³ëÅ×ÀÌ¼Ç À¯ÇüÀÇ ¾î³ëÅ×À̼ÇÀ¸·Î ¹®¼­ ÆíÁý±â¿¡ Ç¥½ÃµÇ¾î¾ß ÇÔÀ» ÁöÁ¤Çϱâ À§ÇØ "markerType" ¹× "markerSeverity" ¼Ó¼ºÀ» »ç¿ëÇÒ ¼öµµ ÀÖ½À´Ï´Ù. "org.eclipse.ui.editors.markerAnnotationSpecification" ¿¡¼­ "markerType" ¹× "markerSeverity" ¼Ó¼ºÀº ´õ ÀÌ»ó »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù. µû¶ó¼­ ¸¶Ä¿ ¾î³ëÅ×ÀÌ¼Ç ½ºÆåÀº ¸¶Ä¿·ÎºÎÅÍ µ¶¸³ÀûÀ̸ç À̸§ÀÌ À߸øµÇ¾ú½À´Ï´Ù. ±×·¯³ª À̸§Àº ¿ª ȣȯÀ» º¸ÁõÇϱâ À§ÇØ º¸Á¸µË´Ï´Ù.

AbstractMarkerAnnotationModelÀÇ ¼­ºêŬ·¡½º ÀνºÅϽº´Â ¸¶Ä¿¿¡¼­ ÀÛ¼ºÇÏ´Â ¾î³ëÅ×À̼ǿ¡ ´ëÇÑ ¿Ã¹Ù¸¥ ¾î³ëÅ×ÀÌ¼Ç À¯ÇüÀ» ÀÚµ¿À¸·Î ¹ß°ßÇÏ°í ¼³Á¤ÇÕ´Ï´Ù. ÇØ´ç ¸¶Ä¿³ª markerType ¹× markerSeverity ½ÖÀÇ ¾î³ëÅ×ÀÌ¼Ç À¯ÇüÀ» ÇÁ·Î±×·¥¿¡ µû¶ó °Ë»öÇÏ·Á¸é org.eclipse.ui.texteditor.AnnotationTypeLookupÀ» »ç¿ëÇϽʽÿÀ.

¾î³ëÅ×ÀÌ¼Ç À¯ÇüÀÇ °èÃþ ±¸Á¶¿¡ ´ëÇÑ ¾×¼¼½º´Â IAnnotationAccessExtension¿¡¼­ Á¦°øÇÕ´Ï´Ù. ÇØ´ç ¾î³ëÅ×ÀÌ¼Ç À¯ÇüÀÇ °æ¿ì, »óÀ§ À¯ÇüÀÇ Ã¼ÀÎÀ» °¡Á®¿À°í ¾î³ëÅ×ÀÌ¼Ç À¯ÇüÀÌ ´Ù¸¥ ¾î³ëÅ×ÀÌ¼Ç À¯ÇüÀÇ ºÎ¼Ó À¯ÇüÀÎÁö È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù. DefaultMarkerAnnotationAccess´Â ÀÌ ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÕ´Ï´Ù.

markerAnnotationSpecification È®ÀåÁ¡(plug-in org.eclipse.ui.editors)

¾î³ëÅ×ÀÌ¼Ç À¯ÇüÀº ¿¬°üµÈ ¸¶Ä¿ ¾î³ëÅ×ÀÌ¼Ç ½ºÆåÀ» ãÀ» ŰÀÔ´Ï´Ù. ¾î³ëÅ×ÀÌ¼Ç À¯ÇüÀÌ ´Ù¸¥ ¾î³ëÅ×ÀÌ¼Ç À¯ÇüÀ» È®ÀåÇÒ ¼ö ÀÖÀ¸¹Ç·Î ¸¶Ä¿ ¾î³ëÅ×ÀÌ¼Ç ½ºÆå °£ÀÇ ¾Ï½ÃÀû °ü°è°¡ ÀÖ½À´Ï´Ù. µû¶ó¼­ ÇØ´ç ¾î³ëÅ×ÀÌ¼Ç À¯ÇüÀÇ ¸¶Ä¿ ¾î³ëÅ×ÀÌ¼Ç ½ºÆåÀº ÇØ´ç ¾î³ëÅ×ÀÌ¼Ç À¯ÇüÀÇ »óÀ§ À¯Çü¿¡ Á¦°øµÈ ¸¶Ä¿ ¾î³ëÅ×ÀÌ¼Ç ½ºÆå¿¡ ÀÇÇØ ¿Ï·áµË´Ï´Ù. µû¶ó¼­ ¸¶Ä¿ ¾î³ëÅ×ÀÌ¼Ç ½ºÆåÀº ÀÌÀü°ú °°ÀÌ ¿Ï·áµÇ¾î¾ß ÇÒ Çʿ䰡 ¾ø½À´Ï´Ù. ¸¶Ä¿ ¾î³ëÅ×ÀÌ¼Ç ½ºÆåÀº AnnotationPreferences·Î °Ë»öÇÕ´Ï´Ù. org.eclipse.ui.texteditor.AnnotationPreferenceLookupÀ» »ç¿ëÇÏ¿© ¾î³ëÅ×ÀÌ¼Ç »óÀ§ À¯Çü üÀΰú ÇÔ²² ȯ°æ ¼³Á¤ÀÇ ¿Ï·á¸¦ Åõ¸íÇÏ°Ô ¼öÇàÇÏ´Â ÇØ´ç ¾î³ëÅ×ÀÌ¼Ç À¯ÇüÀÇ ¾î³ëÅ×ÀÌ¼Ç È¯°æ ¼³Á¤À» °Ë»öÇÒ ¼ö ÀÖ½À´Ï´Ù.

¼¼·Î ´«±ÝÀÚ¿¡¼­ ÇØ´ç ¾î³ëÅ×ÀÌ¼Ç À¯ÇüÀÇ »ç¿ëÀÚ Á¤ÀÇ ¸ð¾ç Á¤ÀǸ¦ Çã¿ëÇϱâ À§ÇØ ¸¶Ä¿ ¾î³ëÅ×ÀÌ¼Ç ½ºÆåÀº ¼¼ °³ÀÇ Ãß°¡ ¼Ó¼ºÀ¸·Î È®ÀåµÇ¾ú½À´Ï´Ù. ÀÌ ¼Ó¼ºÀº "icon", "symbolicIcon" ¹× "annotationImageProvider"ÀÔ´Ï´Ù. "icon"ÀÇ °ªÀº ¾ÆÀÌÄÜ À̹ÌÁö¸¦ Æ÷ÇÔÇÏ´Â ÆÄÀÏ¿¡ ´ëÇÑ °æ·ÎÀÔ´Ï´Ù. "symbolicIcon"ÀÇ °ªÀº "error", "warning", "info", "task", "bookmark" Áß ÇϳªÀÔ´Ï´Ù. "symbolicIcon" ¼Ó¼ºÀ» »ç¿ëÇÏ¿© Ç÷§Æû¿¡¼­ ¿À·ù, °æ°í, Á¤º¸, Ÿ½ºÅ© ¹× Ã¥°¥ÇǸ¦ Ç¥½ÃÇÏ´Â µ¥ »ç¿ëÇÏ´Â µ¿ÀÏÇÑ À̹ÌÁö·Î ¾î³ëÅ×À̼ÇÀ» ¼³¸íÇØ¾ß ÇÔÀ» Ç÷§Æû¿¡ Áö½ÃÇÕ´Ï´Ù. "annotationImageProvider"ÀÇ °ªÀº Àüü »ç¿ëÀÚ Á¤ÀÇ ¾î³ëÅ×ÀÌ¼Ç ÇÁ¸®Á¨Å×À̼ÇÀ» Çã¿ëÇÏ´Â org.eclipse.ui.texteditor.IAnnotationImageProvider¸¦ ±¸ÇöÇϴ Ŭ·¡½ºÀÔ´Ï´Ù.

¼¼·Î ´«±ÝÀÚ´Â ¿¬°üµÈ IAnnotationAccess/IAnnotationAccessExtensionÀ» »ç¿ëÇÏ¿© ¾î³ëÅ×À̼ÇÀ» Ç¥½Ã(draw)ÇÕ´Ï´Ù. ¼¼·Î ´«±ÝÀÚ´Â ´õ ÀÌ»ó Annotation.paint¸¦ È£ÃâÇÏÁö ¾Ê½À´Ï´Ù. ÀϹÝÀûÀ¸·Î ¾î³ëÅ×À̼ÇÀº ´õ ÀÌ»ó ÀÚüÀûÀ¸·Î Ç¥½ÃÇÏÁö ¾Ê½À´Ï´Ù. ¾î³ëÅ×À̼ÇÀ» UI¿Í µ¶¸³ÀûÀ¸·Î ¸¸µé±â À§ÇØ "paint" ¹× "getLayer" ¸Þ¼Òµå°¡ ´õ ÀÌ»ó »ç¿ëµÇÁö ¾Ê½À´Ï´Ù. DefaultMarkerAnnotationAccess´Â IAnnotationAccess/IAnnotationAccessExtensionÀÇ ±âº» ±¸Çö ¿ªÇÒÀ» ÇÕ´Ï´Ù. DefaultMarkerAnnotationAccess´Â ¾î³ëÅ×À̼ÇÀ» ÆäÀÎÆ®Çϱâ À§ÇØ ´ÙÀ½ Àü·«À» ±¸ÇöÇÕ´Ï´Ù. Áï, ¾î³ëÅ×À̼ÇÀÌ IAnnotationPresentationÀ» ±¸ÇöÇÏ´Â °æ¿ì IAnnotationPresentation.paint°¡ È£ÃâµË´Ï´Ù. ±×·¸Áö ¾ÊÀº °æ¿ì ¾î³ëÅ×ÀÌ¼Ç È¯°æ ¼³Á¤¿¡¼­ ¾î³ëÅ×ÀÌ¼Ç À̹ÌÁö Á¦°øÀÚ°¡ °Ë»öµË´Ï´Ù. ¾î³ëÅ×ÀÌ¼Ç À̹ÌÁö Á¦°øÀÚ´Â ÁöÁ¤µÇ´Â °æ¿ì ¹× ¿£Å¬·Î¡ ¸¶Ä¿ ¾î³ëÅ×ÀÌ¼Ç ½ºÆåÀ» Á¤ÀÇÇÏ´Â Ç÷¯±×ÀÎÀÌ ·ÎµåµÈ °æ¿ì¿¡¸¸ »ç¿ë °¡´ÉÇÕ´Ï´Ù. ¾î³ëÅ×ÀÌ¼Ç À̹ÌÁö Á¦°øÀÚ°¡ ÀÖ´Â °æ¿ì È£ÃâÀÌ Àü´ÞµË´Ï´Ù. ±×·¸Áö ¾ÊÀº °æ¿ì ÁöÁ¤µÈ "icon"ÀÌ °Ë»öµË´Ï´Ù. "symbolicIcon"Àº ÃÖÁ¾ÀûÀÎ ´ëü·Î »ç¿ëµË´Ï´Ù. ¾î³ëÅ×À̼ÇÀ» Ç¥½ÃÇÏ´Â °æ¿ì ¾î³ëÅ×ÀÌ¼Ç ÇÁ¸®Á¨Å×ÀÌ¼Ç °èÃþÀÌ °ü·ÃµË´Ï´Ù. DefaultMarkerAnnotationAccess´Â ´ÙÀ½ Àü·«À» »ç¿ëÇÏ¿© ÇÁ¸®Á¨Å×ÀÌ¼Ç °èÃþÀ» °Ë»öÇÕ´Ï´Ù. Áï, ¾î³ëÅ×ÀÌ¼Ç ÇÁ¸®Á¨Å×À̼ÇÀÌ ÇÁ¸®Á¨Å×ÀÌ¼Ç °èÃþÀ» ÁöÁ¤ÇÏ´Â °æ¿ì ÁöÁ¤µÈ °èÃþÀÌ »ç¿ëµË´Ï´Ù. °èÃþÀÌ ¾ø°í ¾î³ëÅ×À̼ÇÀÌ IAnnotationPresentationÀ» ±¸ÇöÇÏ´Â °æ¿ì, ±âº» ÇÁ¸®Á¨Å×ÀÌ¼Ç °èÃþ(0)ÀÌ ¸®ÅÏµÈ °æ¿ì°¡ ¾Æ´Ï¸é IAnnotationPresentation.getLayer°¡ »ç¿ëµË´Ï´Ù.

annotationTypes È®ÀåÁ¡À¸·Î ÀÌÁÖ(plug-in org.eclipse.ui.editors)

´ÙÀ½ ¾î³ëÅ×ÀÌ¼Ç À¯ÇüÀº org.eclipse.ui.editors Ç÷¯±×Àο¡ ÀÇÇØ ¼±¾ðµË´Ï´Ù.

   <extension point="org.eclipse.ui.editors.annotationTypes">
      <type
         name="org.eclipse.ui.workbench.texteditor.error"
         markerType="org.eclipse.core.resources.problemmarker"
         markerSeverity="2">
      </type>
      <type
         name="org.eclipse.ui.workbench.texteditor.warning"
         markerType="org.eclipse.core.resources.problemmarker"
         markerSeverity="1">
      </type>
      <type
         name="org.eclipse.ui.workbench.texteditor.info"
         markerType="org.eclipse.core.resources.problemmarker"
         markerSeverity="0">
      </type>
      <type
         name="org.eclipse.ui.workbench.texteditor.task"
         markerType="org.eclipse.core.resources.taskmarker">
      </type>
      <type
         name="org.eclipse.ui.workbench.texteditor.bookmark"
         markerType="org.eclipse.core.resources.bookmark">
      </type>
   </extension>

Á¤ÀÇµÈ markerAnnotationSpecification È®ÀåÀº ´õ ÀÌ»ó "markerType" ¹× "markerSeverity" ¼Ó¼ºÀ» Á¦°øÇÏÁö ¾Ê½À´Ï´Ù. ÇØ´ç °ªÀ¸·Î "symbolicIcon" ¼Ó¼ºÀ» Á¤ÀÇÇÕ´Ï´Ù. µû¶ó¼­ MarkerAnnotation.paint ¹× MarkerAnnotation.getLayer´Â ´õ ÀÌ»ó È£ÃâµÇÁö ¾Ê½À´Ï´Ù. Áï, ÀÌ ¸Þ¼Òµå¸¦ ´ëüÇϸé È¿°ú°¡ ¾ø½À´Ï´Ù. ¿µÇâÀ» ¹Þ´Â Ŭ¶óÀÌ¾ðÆ®´Â IAnnotationPresentationÀ» ±¸ÇöÇØ¾ß ÇÕ´Ï´Ù.

ILaunchConfigurationType(package org.eclipse.debug.core)

3.0¿¡¼­ È®Àå °¡´É ½ÇÇà ¸ðµå¸¦ ¼Ò°³ÇÏ¸é ½ÇÇà ±¸¼º À¯Çü¿¡ ´ëÇØ µÑ ÀÌ»óÀÇ ½ÇÇà À§ÀÓÀÌ Á¸ÀçÇÒ ¼ö ÀÖ½À´Ï´Ù. 3.0 ÀÌÀü ¸±¸®½ºÀÇ °æ¿ì ½ÇÇà ±¸¼º À¯Çü¸¶´Ù ÇϳªÀÇ ½ÇÇà À§ÀÓ¸¸ Áö¿øµË´Ï´Ù. ÀÌÁ¦ ILaunchConfigurationType.getDelegate() ¸Þ¼Òµå°¡ »ç¿ëµÇÁö ¾Ê½À´Ï´Ù. getDelegate(String mode) ¸Þ¼Òµå¸¦ ÇØ´ç À§Ä¡¿¡¼­ »ç¿ëÇÏ¿© ƯÁ¤ ½ÇÇà ¸ðµå¿¡ ´ëÇÑ ½ÇÇà À§ÀÓÀ» °Ë»öÇØ¾ß ÇÕ´Ï´Ù. ÀÚ¿øµÇÁö ¾Ê´Â ¸Þ¼Òµå´Â run ¸ðµå¿¡ ´ëÇØ ½ÇÇà À§ÀÓÀ» ¸®ÅÏÇϵµ·Ï º¯°æµÇ¾ú½À´Ï´Ù.

ILaunchConfigurationTab ¹× ILaunchConfigurationTabGroup(package org.eclipse.debug.ui)

½ÇÇàÀÌ ¿Ï·áµÇ¸é ½ÇÇà ÅÇ ±×·ì°ú ½ÇÇà ÅÇÀº ´õ ÀÌ»ó °ø°íµÇÁö ¾Ê½À´Ï´Ù. ILaunchConfigurationTab ¹× ILaunchConfigurationTabGroup ÀÎÅÍÆäÀ̽ºÀÇ launched(ILaunch) ¸Þ¼Òµå°¡ »ç¿ëµÇÁö ¾ÊÀ¸¸ç ´õ ÀÌ»ó È£ÃâµÇÁö ¾Ê½À´Ï´Ù. ÅÇÀº ½ÇÇàÀÌ ½ÇÇà ´ëÈ­ »óÀÚ¿¡¼­ ¼öÇàµÉ ¶§¸¸ Á¸ÀçÇϹǷΠ½ÇÇà ±â´É¿¡ ´ëÇØ ÀÌ ¸Þ¼Òµå¿¡ ÀÇÁ¸Çϸé Ç×»ó ¹®Á¦°¡ µË´Ï´Ù. ¶ÇÇÑ ¹è°æ ½ÇÇàÀÇ ¼Ò°³¸¦ »ç¿ëÇÏ¸é °á°ú ½ÇÇà ¿ÀºêÁ§Æ®°¡ Á¸ÀçÇϱâ Àü¿¡ ½ÇÇà ´ëÈ­ »óÀÚ°¡ ´ÝÈ÷¹Ç·Î ÀÌ ¸Þ¼Òµå¸¦ ´õ ÀÌ»ó È£ÃâÇÒ ¼ö ¾ø½À´Ï´Ù.

ILaunchConfigurationTab ¹× AbstractLaunchConfigurationTab(package org.eclipse.debug.ui)

µÎ °³ÀÇ ¸Þ¼Òµå activated¿Í deactivated°¡ ILaunchConfigurationTab ÀÎÅÍÆäÀ̽º¿¡ Ãß°¡µÇ¾ú½À´Ï´Ù. ÅÇÀÌ ÀԷµǰí Á¾·áµÇ¸é »õ ¶óÀÌÇÁ »çÀÌŬ ¸Þ¼Òµå°¡ È£ÃâµË´Ï´Ù. ¸Þ¼Òµå°¡ Ãß»ó Ŭ·¡½º¿¡¼­ ±¸ÇöµÇ¹Ç·Î µð¹ö±× Ç÷¯±×ÀÎ(AbstractLaunchConfigurationTab)¿¡¼­ Á¦°øÇÑ Ãß»ó Ŭ·¡½º¸¦ ¼­ºêŬ·¡½º·Î ºÐ·ùÇÏ´Â ILaunchConfigurationTabÀÇ ±âÁ¸ ±¸ÇöÀº 2Áø ȣȯ °¡´ÉÇÕ´Ï´Ù.

ÀÌÀü ¸±¸®½º¿¡¼­ ÅÇÀÌ È°¼ºÈ­µÇ¸é initializeFrom ¸Þ½ÃÁö°¡ Àü¼ÛµÇ°í ºñȰ¼ºÈ­µÇ¸é performApply ¸Þ½ÃÁö°¡ Àü¼ÛµË´Ï´Ù. ÀÌ·¯ÇÑ ¹æ¹ýÀ¸·Î ½ÇÇà ±¸¼º ÅÇ ÇÁ·¹ÀÓ¿öÅ©´Â ½ÇÇà ±¸¼ºÀ» ÅëÇÑ ÅÇ °£ Åë½ÅÀ» Á¦°øÇß½À´Ï´Ù(ÅÇÀÌ ÀÖÀ¸¸é ÇöÀç ¼Ó¼º °ªÀ¸·Î ±¸¼ºÀ» °»½ÅÇÏ°í »õ·Î ÀÔ·ÂµÈ ÅÇÀ» °»½ÅÇÏ¿©). ±×·¯³ª ¸¹Àº ÅÇÀÌ ÅÇ °£ Åë½ÅÀ» ¼öÇàÇÏÁö ¾ÊÀ¸¹Ç·Î ÀÌ ¹æ¹ýÀº ºñÈ¿À²ÀûÀÏ ¼ö ÀÖ½À´Ï´Ù. ¸¶Âù°¡Áö·Î Ȱ¼ºÈ­µÇ´Â Åǰú óÀ½À¸·Î ¼±ÅÃµÈ ½ÇÇà ±¸¼ºÀ» Ç¥½ÃÇÏ´Â ÅÇÀ» ±¸º°ÇÏ´Â ¹æ¹ýÀÌ ¾ø½À´Ï´Ù. »õ·Î Ãß°¡µÈ ¸Þ¼Òµå¸¦ »ç¿ëÇϸé ÅÇÀÌ È°¼ºÈ­¿Í ÃʱâÈ­, ºñȰ¼ºÈ­¿Í ÇöÀç °ª ÀúÀåÀ» ±¸º°ÇÒ ¼ö ÀÖ½À´Ï´Ù.

Ãß»ó ÅÇ¿¡¼­ Á¦°øÇÑ activatedÀÇ ±âº» ±¸ÇöÀº initializeFromÀ» È£ÃâÇÕ´Ï´Ù. ±×¸®°í deactivatedÀÇ ±âº» ±¸ÇöÀº performApply¸¦ È£ÃâÇÕ´Ï´Ù. »õ API¸¦ »ç¿ëÇÏ·Á´Â ÅÇÀº ÇÊ¿äÇϸé ÀÌ ¸Þ¼Òµå¸¦ ´ëÃ¼ÇØ¾ß ÇÕ´Ï´Ù. ÀϹÝÀûÀ¸·Î ÅÇ °£ Åë½ÅÀ» ¼öÇàÇÏÁö ¾Ê´Â ÅÇÀÇ °æ¿ì ±ÇÀåµÇ´Â ¹æ¹ýÀº ¾Æ¹« ÀÛ¾÷µµ ¼öÇàÇÏÁö ¾Êµµ·Ï ÀÌ ¸Þ¼Òµå¸¦ ´Ù½Ã ±¸ÇöÇÏ´Â °ÍÀÔ´Ï´Ù.

launchConfigurationTabGroup È®ÀåÁ¡ À¯Çü(package org.eclipse.debug.ui)

ÀÌÀü ¸±¸®½ºÀÇ °æ¿ì Perspective ÀüȯÀÌ ½ÇÇà ±¸¼º ¼Ó¼º ATTR_TARGET_DEBUG_PERSPECTIVE ¹× ATTR_TARGET_RUN_PERSPECTIVE¸¦ ÅëÇØ ½ÇÇà ±¸¼º¿¡¼­ ÁöÁ¤µÇ¾ú½À´Ï´Ù. 3.0¿¡¼­´Â È®Àå °¡´É ½ÇÇà ¸ðµå¸¦ Ãß°¡Çϸé ÀÌ ¹æ¹ýÀÌ ´õ ÀÌ»ó »ç¿ëµÇÁö ¾Ê½À´Ï´Ù. ÀÌÁ¦ ½ÇÇà ±¸¼º À¯ÇüÀÌ Áö¿øÇÏ´Â ½ÇÇà ¸ðµå¸¶´Ù Perspective ÀüȯÀÌ ½ÇÇà ±¸¼º À¯Çü ±â¹ÝÀ¸·Î ÁöÁ¤µË´Ï´Ù. API°¡ DebugUITools·Î Ãß°¡µÇ¾î ƯÁ¤ ½ÇÇà ¸ðµåÀÇ ½ÇÇà ±¸¼º À¯Çü°ú ¿¬°üµÈ Perspective¸¦ ¼³Á¤ÇÏ°í °¡Á®¿Ô½À´Ï´Ù.

Ãß°¡·Î ¼±ÅÃÀû launchMode ¿ä¼Ò°¡ launchConfigurationTabGroup È®ÀåÁ¡¿¡ Ãß°¡µÇ¾î Á¦°øµÈ ÅÇ ±×·ìÀÌ ½ÇÇà ±¸¼º À¯Çü ¹× ¸ðµå¿¡ ´ëÇÑ ±âº» Perspective¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.

Eclipse »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º¿¡¼­ »ç¿ëÀÚ´Â ½ÇÇà ±¸¼º ´ëÈ­ »óÀÚ¸¦ ¿­°í Æ®¸®¿¡¼­ ½ÇÇà ±¸¼º À¯Çü ³ëµå¸¦ ¼±ÅÃÇÏ¿©(°³º° ±¸¼ºÀÌ ¾Æ´Ô) ½ÇÇà ±¸¼º À¯Çü°ú ¿¬°üµÈ Perspective¸¦ ÆíÁýÇÒ ¼ö ÀÖ½À´Ï´Ù. ÅÇÀÌ Ç¥½ÃµÇ¾î »ç¿ëÀÚ°¡ Áö¿øµÇ´Â °¢ ½ÇÇà ¸ðµå·Î Perspective¸¦ ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.

[JDT only] IVMRunner(package org.eclipse.jdt.launching)

ȯ°æ º¯¼öÀÇ ¼³Á¤ ¹× °Ë»öÀ» Áö¿øÇϱâ À§ÇØ µÎ °³ÀÇ ¸Þ¼Òµå°¡ VMRunnerConfiguration Ŭ·¡½º¿¡ Ãß°¡µÇ¾ú½À´Ï´Ù. IVMRunnerÀÇ ±¸ÇöÀÚ´Â VMRunnerConfiguration.getEnvironment()¸¦ È£ÃâÇϰí ÇØ´ç ȯ°æÀ» ½ÇÇàµÈ JVMÀ¸·Î Àü´ÞÇØ¾ß ÇÕ´Ï´Ù. DebugPlugin.exec(String[] cmdLine, File workingDirectory)¸¦ »ç¿ëÇϴ Ŭ¶óÀÌ¾ðÆ®´Â ´ë½Å DebugPlugin.exec(String[] cmdLine, File workingDirectory, String[] envp)¸¦ È£ÃâÇÏ¿© ÀÌ ÀÛ¾÷À» ¼öÇàÇÒ ¼ö ÀÖ½À´Ï´Ù. getEnvironment()ÀÇ °á°ú¸¦ Àü´ÞÇÏ´Â °ÍÀ¸·Î ÃæºÐÇÕ´Ï´Ù.

[JDT only] VMRunnerConfiguration ¹× Bootstrap Classes(package org.eclipse.jdt.launching)

ÀÌÀü ¸±¸®½º¿¡¼­ VMRunnerConfiguration¿¡´Â ½ÃÀÛ °æ·Î¸¦ ¼³¸íÇÏ´Â ÇϳªÀÇ ¼Ó¼ºÀÌ ÀÖ½À´Ï´Ù. ¼Ó¼ºÀº -Xbootclasspath Àμö¿¡¼­ ÁöÁ¤ÇÒ StringsÀÇ ÄÝ·º¼ÇÀÔ´Ï´Ù. ½ÃÀÛ °æ·Î¿¡ ¾Õ µÚ ÷°¡¸¦ Çã¿ëÇÏ´Â JVMÀ» Áö¿øÇϱâ À§ÇØ ¼¼ °³ÀÇ »õ ¼Ó¼ºÀÌ VMRunnerConfiguration¿¡ Ãß°¡µÇ¾ú½À´Ï´Ù. Ãß°¡µÈ »õ ¸Þ¼Òµå/¼Ó¼ºÀº ´ÙÀ½°ú °°½À´Ï´Ù.

±âÁ¸ ¼Ó¼º getBootClassPath()°¡ Á¸ÀçÇÏ¸ç ¼¼ °³ÀÇ »õ ¼Ó¼º °æ·Î¿Í µ¿µîÇÑ ¿ÏÀüÇÑ °æ·Î°¡ Æ÷ÇԵ˴ϴÙ. ±×·¯³ª »õ ½ÃÀÛ °æ·Î ¿É¼ÇÀ» Áö¿øÇÏ´Â VMRunners´Â »õ ¼Ó¼ºÀ» »ç¿ëÇØ¾ß ÇÕ´Ï´Ù.

[JDT only] ÀÛ¾÷ »çº»¿¡ ´ëÇÑ °³¼±µÈ Áö¿ø(package org.eclipse.jdt.core)

Java ¸ðµ¨ ÀÛ¾÷ »çº» ±â´ÉÀº Å©°Ô Çâ»óµÈ ±â´ÉÀ» Á¦°øÇϱâ À§ÇØ 3.0¿¡¼­ ´Ù½Ã ÀÛ¾÷µÇ¾ú½À´Ï´Ù. 3.0 ÀÌÀüÀÇ °æ¿ì Java ¸ðµ¨¿¡¼­´Â ÄÄÆÄÀÏ ´ÜÀ§ÀÇ °³º° ÀÛ¾÷ »çº»À» ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÛ¾÷ »çº»ÀÌ º¯°æµÇ°í ÀÌÈÄ¿¡ È®¾àÇÒ ¼ö ÀÖ½À´Ï´Ù. ³ª¸ÓÁö Java ¸ðµ¨ÀÇ ÄÁÅØ½ºÆ®¿¡¼­ ÀÛ¾÷ »çº»ÀÇ Á¦ÇÑµÈ ºÐ¼®¿¡ ´ëÇÑ Áö¿øÀÌ ÀÖ½À´Ï´Ù. ±×·¯³ª ÀÌ ºÐ¼®Àº ÀÛ¾÷ »çº» Áß µÑ ÀÌ»óÀ» °í·ÁÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀÌ ¾ø½À´Ï´Ù.

3.0ÀÇ º¯°æ»çÇ×Àº ÄÄÆÄÀÏ ´ÜÀ§ÀÇ ÀÛ¾÷ »çº» ¼¼Æ®¸¦ ÀÛ¼ºÇÏ°í °ü¸®ÇÒ ¼ö ÀÖÀ¸¸ç ¸ðµç ÀÛ¾÷ »çº»À» ¼¼Æ®·Î ºÐ¼®ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, ÀÌÁ¦ JDT ¸®ÆÑÅ丵°ú °°Àº Ŭ¶óÀÌ¾ðÆ®°¡ ¼öÁ¤À» °í·ÁÇÏ´Â µÑ ÀÌ»óÀÇ ÄÄÆÄÀÏ ´ÜÀ§¿¡ ´ëÇØ ÀÛ¾÷ »çº»À» ÀÛ¼ºÇϰí ÀÛ¾÷ »çº» °£ÀÇ À¯Çü ÂüÁ¶¸¦ ÇØ¼®ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌÀü¿¡´Â ÄÄÆÄÀÏ ´ÜÀ§ ÀÛ¾÷ »çº»¿¡ ´ëÇÑ º¯°æÀÌ È®¾àµÈ ÈÄ¿¡¸¸ °¡´ÉÇß½À´Ï´Ù.

ÀÌ Çâ»óµÈ Áö¿øÀ» Ãß°¡Çϱâ À§ÇÑ 2°¡Áö ¹æ¹ýÀÇ Java ¸ðµ¨ API º¯°æ»çÇ×ÀÌ ÀÖ½À´Ï´Ù.

(1) ÀÌÀü¿¡ IWorkingCopy¿¡ ÀÖ¾ú°í ICompilationUnit¿¡¼­ °è½ÂÇÑ ±â´ÉÀÌ ICompilationUnit·Î ÅëÇյǾú½À´Ï´Ù. IWorkingCopy ÀÎÅÍÆäÀ̽º´Â ÇÑ À§Ä¡¿¡¼­¸¸ »ç¿ëµÇ¾úÀ¸¸ç ºÒÇÊ¿äÇÏ°Ô º¸´Ù ÀϹÝÀûÀ¸·Î »ç¿ëµÇ¾ú½À´Ï´Ù. ÀÌ º¯°æ»çÇ×Àº API¸¦ ´Ü¼øÈ­ÇÕ´Ï´Ù. IWorkingCopy°¡ »ç¿ëµÇÁö ¾Ê½À´Ï´Ù. IWorkingCopy°¡ ¸Å°³º¯¼ö³ª °á°ú À¯ÇüÀ¸·Î »ç¿ëµÈ APIÀÇ ´Ù¸¥ À§Ä¡µµ »ç¿ëµÇÁö ¾Ê½À´Ï´Ù. ´ëü API ¸Þ¼Òµå´Â IWorkingCopy ´ë½Å ICompilationUnit¸¦ ¼³¸íÇÕ´Ï´Ù.

(2) ÀÎÅÍÆäÀ̽º IBufferFactory°¡ WorkingCopyOwner·Î ´ëüµÇ¾ú½À´Ï´Ù. ÀÛ¾÷ »çº»¿¡ ´ëÇÑ Çâ»óµÈ Áö¿ø¿¡¼­´Â ÀÛ¾÷ »çº»À» ¼ÒÀ¯ÇÒ ¿ÀºêÁ§Æ®°¡ ÀÖ¾î¾ß ÇÕ´Ï´Ù. IBufferFactory°¡ ¿Ã¹Ù¸¥ À§Ä¡¿¡ À־ À̸§Àº »õ ÀÛ¾÷ »çº» ¸ÞÄ¿´ÏÁòÀÌ ÀÛµ¿ÇÏ´Â ¹æ¹ýÀ» ÀûÀýÈ÷ Àü´ÞÇÏÁö ¾Ê½À´Ï´Ù. WorkingCopyOwner¸¦ Á¦¾ÈÇÕ´Ï´Ù. ¶ÇÇÑ WorkingCopyOwner´Â ÀÛ¾÷ »çº» ¼ÒÀ¯ÀÚÀÇ °³³äÀÌ ÀÌÈÄ¿¡ ¹ßÀüÇÒ ¼ö ÀÖµµ·Ï ÀÎÅÍÆäÀ̽º°¡ ¾Æ´Ï¶ó Ãß»ó Ŭ·¡½º·Î ¼±¾ðµË´Ï´Ù. IBufferFactory¿¡ ´ëÇÑ ÇϳªÀÇ ¸Þ¼Òµå´Â ¿µÇâÀ» ¹ÞÁö ¾Ê°í WorkingCopyOwner·Î À̵¿ÇÕ´Ï´Ù. WorkingCopyOwner´Â IBufferFactory¸¦ ±¸ÇöÇÏ¿© IBufferFactory°¡ ÀÌÀüÀÇ °ÍÀÓÀ» È®ÀÎÇÕ´Ï´Ù. IBufferFactory°¡ »ç¿ëµÇÁö ¾Ê½À´Ï´Ù. IBufferFactory°¡ ¸Å°³º¯¼ö³ª °á°ú À¯ÇüÀ¸·Î Ç¥½ÃµÈ APIÀÇ ´Ù¸¥ À§Ä¡µµ »ç¿ëµÇÁö ¾Ê½À´Ï´Ù. ´ëü API ¸Þ¼Òµå´Â IBufferFactory ´ë½Å WorkingCopyOwner¸¦ ¼³¸íÇÕ´Ï´Ù.

ÀÌ º¯°æ»çÇ׿¡ ÀÇÇØ 2Áø ȣȯ¼ºÀÌ ÁߴܵÇÁö´Â ¾Ê½À´Ï´Ù.

ÀÌÁÖÇÒ ¶§ IWorkingCopy À¯Çü¿¡ ´ëÇÑ ¸ðµç ÂüÁ¶´Â ´ë½Å ICompilationUnit¸¦ ÂüÁ¶ÇØ¾ß ÇÕ´Ï´Ù. IWorkingCopyÀÇ ´ÜÀÏ ±¸ÇöÀº ICompilationUnitµµ ±¸ÇöÇϸç ÀÌ´Â IWorkingCopy À¯ÇüÀÇ ¿ÀºêÁ§Æ®°¡ ICompilationUnit·Î ¾ÈÀüÇÏ°Ô Ä³½ºÆ®µÉ ¼ö ÀÖÀ½À» ÀǹÌÇÕ´Ï´Ù.

IBufferFactory¸¦ ±¸ÇöÇϴ Ŭ·¡½º´Â WorkingCopyOwnerÀÇ ¼­ºêŬ·¡½º·Î ´ëüµÇ¾î¾ß ÇÕ´Ï´Ù. WorkingCopyOwner°¡ IBufferFactory ÀÚü¸¦ ±¸ÇöÇÏÁö ¾Ê¾Æµµ IBufferFactory¸¦ ±¸ÇöÇÏ´Â WorkingCopyOwnerÀÇ ¼­ºêŬ·¡½º¸¦ ¼±¾ðÇÒ ¼ö ÀÖÀ¸¹Ç·Î ±âÁ¸ »çÇ×°ú »õ·Î¿î »çÇ×°£ÀÇ ¿¬°áÀ» ÀÛ¼ºÇÕ´Ï´Ù(IBufferFactory´Â createBuffer(IOpenable)¸¦ ¼±¾ðÇÏÁö¸¸ WorkingCopyOwner´Â createBuffer(ICompilationUnit)¸¦ ¼±¾ðÇϰí ICompilationUnit´Â IOpenableÀ» È®ÀåÇÕ´Ï´Ù).

IWorkingCopy ¹× IBufferFactory¿¡ °üÇÑ º¯°æ»çÇ×ÀÌ È¥ÇյǾî ÀÖÀ¸¹Ç·Î ¸ðµÎ¸¦ µ¿½Ã¿¡ ó¸®ÇÏ´Â °ÍÀÌ ÁÁ½À´Ï´Ù. ÀÚ¿øµÇÁö ¾Ê´Â ¼¼ºÎ»çÇ×Àº ´ÙÀ½°ú °°½À´Ï´Ù.

org.eclipse.help Ç÷¯±×ÀÎÀÇ À籸¼º

µµ¿ò¸» ½Ã½ºÅÛÀ» Á¦°ø ¹× È®ÀåÇÒ »Ó ¾Æ´Ï¶ó µµ¿ò¸»À» Ç¥½ÃÇϱâ À§ÇØ API ¹× È®ÀåÁ¡À» º¸À¯ÇÏ´Â µ¥ »ç¿ëµÇ´Â org.eclipse.help Ç÷¯±×Àο¡´Â ÀÌÁ¦ µµ¿ò¸» ÀÚ¿øÀ» Á¦°øÇÏ°í ¾×¼¼½ºÇϱâ À§ÇÑ API ¹× È®ÀåÁ¡ÀÌ Æ÷ÇԵ˴ϴÙ. ÇØ´ç Ç÷¯±×Àο¡ Æ÷ÇÔµÈ ±âº» µµ¿ò¸» UI ±¸Çö ºÎºÐÀº ±¸Çö È®ÀåÀ» À§ÇÑ API¿Í ÇÔ²² »õ Ç÷¯±×ÀÎ org.eclipse.help.base·Î À̵¿µÇ¾ú½À´Ï´Ù. µµ¿ò¸» UI¸¦ Á¦°øÇÏ°í µµ¿ò¸»À» Ç¥½ÃÇϱâ À§ÇÑ API ¹× È®ÀåÁ¡Àº org.eclipse.ui Ç÷¯±×ÀÎÀ¸·Î À̵¿µÇ¾ú½À´Ï´Ù. ÀÌ À籸¼ºÀ» »ç¿ëÇÏ¸é µµ¿ò¸» ½Ã½ºÅÛ¿¡ °üÇØ ÀÀ¿ëÇÁ·Î±×·¥ÀÌ ´õ ¸¹Àº À¯¿¬¼ºÀ» °¡Áú ¼ö ÀÖ½À´Ï´Ù. »õ ±¸Á¶¸¦ »ç¿ëÇϸé ÀÏ¹Ý Workbench¸¦ ±âÁØÀ¸·Î ÇÏ´Â ÀÀ¿ëÇÁ·Î±×·¥¿¡¼­ ÀÚü µµ¿ò¸» UI ¹×/¶Ç´Â µµ¿ò¸» ±¸ÇöÀ» Á¦°øÇϰųª µµ¿ò¸» ½Ã½ºÅÛÀ» ÀüüÀûÀ¸·Î »ý·«ÇÒ ¼ö ÀÖ½À´Ï´Ù.

¿µÇâ¹Þ´Â È®ÀåÁ¡ ¹× API ÆÐŰÁö°¡ µµ¿ò¸» ½Ã½ºÅÛ ÀÚü¿¡¼­¸¸ »ç¿ëÇϱâ À§ÇÑ °ÍÀ̹ǷΠ±âÁ¸ Ç÷¯±×ÀÎÀº ÀÌ º¯°æ»çÇ׿¡ ÀÇÇØ ¿µÇâÀ» ¹ÞÁö ¾Ê½À´Ï´Ù. ±âÁ¸ Ç÷¯±×ÀÎÀº ¿ÏÀüÇÔÀ» À§Çؼ­ Æ÷ÇÔµÈ °ÍÀÔ´Ï´Ù.

»õ °Ë»ö UI API

»ç¿ëÀÚ Á¤ÀÇ °Ë»öÀ» ±¸ÇöÇÏ´Â »õ API°¡ 3.0¿¡¼­ Ãß°¡µÇ¾ú½À´Ï´Ù. ¿ø·¡ API°¡ 3.0¿¡¼­ »ç¿ëµÇÁö ¾ÊÀ¸¸ç Ŭ¶óÀÌ¾ðÆ®°¡ ÆÐŰÁö org.eclipse.search.ui ¹× org.eclipse.search.ui.text¿¡¼­ »õ API·Î Æ÷Æ®Çϵµ·Ï ±ÇÀåÇÕ´Ï´Ù.

Ŭ¶óÀÌ¾ðÆ®´Â ISearchQuery, ISearchResult ¹× ISearchResultPageÀÇ ±¸ÇöÀ» ÀÛ¼ºÇØ¾ß ÇÕ´Ï´Ù. ´ÙÀ½À¸·Î ISearchResultPage ±¸ÇöÀº »õ org.eclipse.search.searchResultViewPages È®ÀåÁ¡À¸·Î Á¦°øµÇ¾î¾ß ÇÕ´Ï´Ù.

ISearchResult ¹× ISearchResultPage¿¡ ´ëÇÑ ±âº» ±¸ÇöÀº ÆÐŰÁö org.eclipse.search.ui.text¿¡¼­ Á¦°øµË´Ï´Ù.

MessageBox ¹× DirectoryDialogÀÇ ³Î ¸Þ½ÃÁö(package org.eclipse.swt.widgets)

3.0 ÀÌÀüÀÇ °æ¿ì, SWTÀÇ DirectoryDialog.setMessage(String string) ¶Ç´Â MessageBox.setMessage(String string)¸¦ ¹®ÀÚ¿­¿¡ ´ëÇÑ ³Î(null) °ªÀ¸·Î È£ÃâÇϸé Á¦¸ñ¿¡ ÅØ½ºÆ®°¡ ¾ø´Â ´ëÈ­ »óÀÚ°¡ »ý¼ºµË´Ï´Ù. ÀÌ ÀÛµ¿Àº ÁöÁ¤µÇÁö ¾Ê¾ÒÀ¸¸ç(³Î Àü´ÞÀÌ Çã¿ëµÇÁö ¾ÊÀ½) ³ÎÀ» ¸®ÅÏÇÒ ¼ö ¾ø´Â getMessage¿¡ ¹®Á¦°¡ ¹ß»ýÇÕ´Ï´Ù. 3.0¿¡¼­ ³ÎÀ» Àü´ÞÇϸé IllegalArgumentException ¿¹¿Ü°¡ ó¸®µÇ°í ½ºÆåÀÌ À̰ÍÀ» ¼³¸íÇϵµ·Ï º¯°æµÇ¾î ¼öÆÛŬ·¡½º Dialog.setMessage¿¡¼­ ¸Þ¼Òµå°¡ ÀÖ´Â ÇàÀ¸·Î °¡Á®¿É´Ï´Ù. Dialog.setMessage¸¦ »ç¿ëÇÏ´Â °æ¿ì Àü´ÞµÈ ¹®ÀÚ¿­ÀÌ ³ÎÀÌ ¾Æ´Ï¾î¾ß ÇÕ´Ï´Ù. Á¦¸ñ¿¡ ÅØ½ºÆ®°¡ ¾ø´Â ´ëÈ­ »óÀÚ¸¦ ¿øÇÏ´Â °æ¿ì ºó ¹®ÀÚ¿­À» Àü´ÞÇÏ¸é µË´Ï´Ù.

¸ð´Þ ÁøÇà Çǵå¹é °³¼±

µ¿½Ã Á¶ÀÛÀ» Áö¿øÇÏ·Á¸é ¸ð´Þ ÁøÇàÀ» Ç¥½ÃÇϱâ À§ÇÑ º¸´Ù Á¤±³ÇÑ ¹æ¹ýÀÌ ÇÊ¿äÇÕ´Ï´Ù. ÀûÀýÇÑ ³ë·ÂÀÇ ÀÏȯÀ¸·Î Ãß°¡ ÁøÇà Áö¿øÀÌ Å¬·¡½º IProgressService¿¡¼­ ±¸ÇöµÇ¾ú½À´Ï´Ù. ProgressMonitorDialog·Î ÁøÇàÀ» Ç¥½ÃÇϱâ À§ÇÑ ±âÁ¸ ¹æ¹ýÀÌ °è¼Ó ÀÛµ¿ÇÕ´Ï´Ù. ±×·¯³ª »ç¿ëÀÚ °æÇèÀ» °³¼±ÇÏ·Á¸é »õ IProgressService·Î ÀÌÁÖÇÏ´Â °ÍÀÌ ÁÁ½À´Ï´Ù.

¹®¼­ Eclipse3.0¿¡¼­ ¸ð´Þ ÁøÇà Ç¥½Ã´Â »õ IProgressService·Î ÀÌÁÖÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÕ´Ï´Ù.

µð¹ö±× Á¶Ä¡ ±×·ìÀÌ Á¦°ÅµÊ

µð¹ö±× Á¶Ä¡ ±×·ì È®ÀåÁ¡(org.eclipse.debug.ui.debugActionGroups)ÀÌ Á¦°ÅµÇ¾ú½À´Ï´Ù. Eclipse 3.0¿¡¼­ Workbench¿¡¼­´Â org.eclipse.platform.ui.activities È®ÀåÁ¡À» ÅëÇØ Ȱµ¿¿¡ ´ëÇÑ Áö¿øÀ» ¼Ò°³Çß½À´Ï´Ù. ÀÌ Áö¿øÀº µð¹ö±× Á¶Ä¡ ±×·ì¿¡¼­ Á¦°øÇÑ ¸ðµç »çÇ×À» Á¦°øÇÏ°í »ç¿ëÇϱ⠽¬¿ì¸ç(¸ðµç Á¶Ä¡¸¦ ÁöÁ¤ÇÏ´Â ´ë½Å ÆÐÅÏÀ» Áö¿øÇÔ) À̸¦ Áö¿øÇϱâ À§ÇÑ ÇÁ·Î±×·¥ API¸¦ °¡Áö°í ÀÖ½À´Ï´Ù. ±âÁ¸ È®ÀåÁ¡¿¡ ´ëÇÑ ÂüÁ¶¸¦ Á¦°ÅÇÏÁö ¸øÇصµ ½ÇÆÐ°¡ ¹ß»ýÇÏÁö ¾Ê½À´Ï´Ù. È®ÀåÁ¡¿¡ ´ëÇÑ ÂüÁ¶°¡ ¹«½ÃµË´Ï´Ù. Á¦Ç° °ø±Þ¾÷ü´Â ¾ð¾î °íÀ¯ µð¹ö°Å Á¶Ä¡¸¦ ¾ð¾î °íÀ¯ Ȱµ¿°ú ¿¬°ü½Ã۵µ·Ï Workbench Ȱµ¿ Áö¿øÀ» »ç¿ëÇϵµ·Ï ±ÇÀåµË´Ï´Ù(¿¹¸¦ µé¾î, C++ µð¹ö±ë Á¶Ä¡´Â "C++ °³¹ß" Ȱµ¿°ú ¿¬°üµÉ ¼ö ÀÖ½À´Ï´Ù).

BreakpointManager°¡ »ç¿ë ºÒ°¡´ÉÇÏ°Ô µÉ ¼ö ÀÖ½À´Ï´Ù.

ÀÌÁ¦ IBreakpointManager´Â ¸Þ¼Òµå setEnabled(boolean) ¹× isEnabled()¸¦ Á¤ÀÇÇÕ´Ï´Ù. Áß´ÜÁ¡ °ü¸®ÀÚ°¡ »ç¿ë ºÒ°¡´ÉÇÏ¸é µð¹ö°Å´Â µî·ÏµÈ ¸ðµç Áß´ÜÁ¡À» ¹«½ÃÇØ¾ß ÇÕ´Ï´Ù. µð¹ö±× Ç÷§Æû¿¡¼­´Â Áß´ÜÁ¡ °ü¸®ÀÚ·Î µî·ÏÇϴ Ŭ¶óÀÌ¾ðÆ®°¡ Ȱ¼ºÀÌ º¯°æµÇ´Â ½ÃÁ¡À» ¾Ë ¼ö ÀÖ´Â »õ ¸®½º³Ê ¸ÞÄ¿´ÏÁò, IBreakpointManagerListenerµµ Á¦°øÇÕ´Ï´Ù. Áß´ÜÁ¡ º¸±â´Â »ç¿ëÀÚ°¡ "¸ðµç Áß´ÜÁ¡À» °Ç³Ê¶Û ¼ö ÀÖ´Â" »õ Åä±Û Á¶Ä¡¿¡¼­ ÀÌ API¸¦ È£ÃâÇÕ´Ï´Ù. »ç¿ëÀÚ°¡ ÀÌ ±â´ÉÀ» »ç¿ëÇÏ·Á°í ½ÃµµÇÏ´Â °æ¿ì Áß´ÜÁ¡ °ü¸®ÀÚÀÇ È°¼ºÀ» °í·ÁÇÏÁö ¾Ê´Â µð¹ö±×°¡ Ç¥½ÃµË´Ï´Ù.

[JDT only] Java search participants(package org.eclipse.jdt.core.search)

Java¿¡ °¡±î¿î ¾ð¾î(¿¹: JSP, SQLJ, JWS µî)´Â Java °Ë»ö¿¡ Âü¿©ÇÒ ¼ö ÀÖ¾î¾ß ÇÕ´Ï´Ù. ƯÈ÷ ÇØ´ç ¾ð¾îÀÇ ±¸ÇöÀÚ´Â ´ÙÀ½À» ¼öÇàÇÒ ¼ö ÀÖ¾î¾ß ÇÕ´Ï´Ù.

 

ÇØ´ç ±¸ÇöÀÚ°¡ °Ë»ö ±¸¼º¿øÀ¸·Î È£ÃâµË´Ï´Ù. ÀÌ´Â SearchParticipant Ŭ·¡½º¸¦ È®ÀåÇÕ´Ï´Ù. °Ë»ö ±¸¼º¿øÀÌ °Ë»ö Á¶È¸·Î Àü´ÞµË´Ï´Ù( SearchEngine.search(SearchPattern, SearchParticipant[], IJavaSearchScope, SearchRequestor, IProgressMonitor) ÂüÁ¶).

ÀÏÄ¡»çÇ×À» »öÀÎÇϰųª ãÀ¸·Á¸é °Ë»ö ±¸¼º¿øÀÌ getByteContents() ¶Ç´Â getCharContents()¸¦ ´ëüÇÏ¿© ¹®¼­ÀÇ ÄÁÅÙÃ÷¸¦ °Ë»öÇÒ ¼ö ÀÖ´Â SearchDocumentÀÇ ¼­ºêŬ·¡½º¸¦ Á¤ÀÇÇØ¾ß ÇÕ´Ï´Ù. ÀÌ ¼­ºêŬ·¡½ºÀÇ ÀνºÅϽº´Â getDocument(String)¿¡¼­ ¸®Åϵ˴ϴÙ.

ÀϺΠ¹®¼­¸¦ »öÀÎÇÏ·Á´Â °Ë»ö ±¸¼º¿øÀº SearchParticipant.scheduleDocumentIndexing(SearchDocument, IPath)À» »ç¿ëÇÏ¿© ÇØ´ç »öÀο¡¼­ ÇØ´ç ¹®¼­ÀÇ »öÀÎÀ» ½ºÄÉÁÙÇÕ´Ï´Ù. ¹®¼­°¡ »öÀÎÇÒ Áغñ°¡ µÇ¸é ±âº» ÇÁ·¹ÀÓ¿öÅ©´Â SearchParticipant.indexDocument(SearchDocument, IPath)¸¦ È£ÃâÇÕ´Ï´Ù. ´ÙÀ½À¸·Î °Ë»ö ±¸¼º¿øÀº ¹®¼­ÀÇ ÄÁÅÙÃ÷¸¦ °¡Á®¿À°í ±¸¹® ºÐ¼®Çϰí SearchDocument.addIndexEntry(char[], char[])¸¦ »ç¿ëÇÏ¿© »öÀÎ Ç׸ñÀ» Ãß°¡ÇÕ´Ï´Ù.

»öÀÎÀÌ ¿Ï·áµÇ¸é SearchEngine.search(SearchPattern, SearchParticipant[], IJavaSearchScope, SearchRequestor, IProgressMonitor)¸¦ »ç¿ëÇÏ¿© »öÀÎÀ» Á¶È¸Çϰí ÀÏÄ¡»çÇ×À» ãÀ» ¼ö ÀÖ½À´Ï´Ù). ÀÌ´Â ¿ì¼± °¢ °Ë»ö ±¸¼º¿ø¿¡°Ô SearchParticipant.selectIndexes¸¦ »ç¿ëÇÏ¿© ÀÌ Á¶È¸¿¡¼­ ÇÊ¿äÇÑ »öÀÎÀ» Á¦°øÇϵµ·Ï ¿äûÇÕ´Ï´Ù(SearchPattern, IJavaSearchScope). ÇØ´ç ÆÐÅϰú ÀÏÄ¡ÇÏ´Â °¢ »öÀÎ Ç׸ñÀÇ °æ¿ì °Ë»ö ¹®¼­´Â °Ë»ö ±¸¼º¿ø¿¡°Ô ¿äûÇÏ¿© ÀÛ¼ºµË´Ï´Ù (getDocument(String) ÂüÁ¶). ¸ðµç ¹®¼­´Â °Ë»ö ±¸¼º¿ø¿¡°Ô Àü´ÞµÇ¹Ç·Î locateMatches(SearchDocument[], SearchPattern, IJavaSearchScope, SearchRequestor, IProgressMonitor)¸¦ »ç¿ëÇÏ¿© ÀÏÄ¡»çÇ×À» ãÀ» ¼ö ÀÖ½À´Ï´Ù. °Ë»ö ±¸¼º¿øÀº SearchRequestor¿¡°Ô acceptSearchMatch(SearchMatch)¸¦ »ç¿ëÇϰí SearchMatch ¼­ºêŬ·¡½ºÀÇ ÀνºÅϽº¸¦ Àü´ÞÇÏ´Â °Ë»ö ÀÏÄ¡»çÇ׿¡ ´ëÇØ ¾Ë¸³´Ï´Ù.

°Ë»ö ±¸¼º¿øÀº ÀÛ¾÷ÀÇ ÀϺθ¦ ±âº» Java °Ë»ö ±¸¼º¿ø¿¡ À§ÀÓÇÒ ¼ö ÀÖ½À´Ï´Ù. ±âº» ±¸¼º¿øÀÇ ÀνºÅϽº´Â SearchEngine.getDefaultSearchParticipant()¸¦ »ç¿ëÇÏ¿© È®º¸µË´Ï´Ù. ¿¹¸¦ µé¾î, ÀÏÄ¡»çÇ×À» ãµµ·Ï ¿äûµÇ´Â °æ¿ì SQLJ ±¸¼º¿øÀÌ .sqlj ¹®¼­¿¡¼­ .java ¹®¼­¸¦ ÀÛ¼ºÇϰí ÀÛ¾÷À» ±âº» ±¸¼º¿ø¿¡°Ô À§ÀÓÇÏ¿© .java ¹®¼­·Î Àü´ÞÇÒ ¼ö ÀÖ½À´Ï´Ù.

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