Ç÷¯±×ÀÎÀÇ "¹øµé" Ãø¸éÀÌ ·±Å¸ÀÓ Ç÷¯±×ÀÎ ¹× ·±Å¸ÀÓ µµ±¸¿Í ¿¬°üµÇ´õ¶óµµ Ç÷¯±×ÀÎÀº Ç÷¯±×Àο¡¼ Á¤ÀÇÇÑ È®ÀåÁ¡ ¹× Ç÷¯±×Àο¡¼ Á¦°øÇÏ´Â È®Àå°ú °ü·ÃÀÌ ÀÖ´Ù´Â °ÍÀÌ ÈξÀ ´õ ÀϹÝÀûÀÔ´Ï´Ù. ÀÌ Á¤º¸´Â Ç÷§Æû È®Àå ·¹Áö½ºÆ®¸®ÀÎ IExtensionRegistry¿¡¼ Á¦°øµË´Ï´Ù.
Ç÷¯±×Àο¡¼ È®ÀåÀÌ Á¸ÀçÇÏ´ÂÁö¸¦ ¾Ë·Á°í ÇÏ´Â ÀÌÀ¯´Â ¹«¾ùÀԴϱî? ±¸Ã¼ÀûÀÎ ¿¹Á¦·Î ÀÌ Á¤º¸¿Í ÀÌ Á¤º¸¸¦ °¡Á®¿À´Â ÇÁ·ÎÅäÄÝÀÇ Çʿ伺À» ¼³¸íÇÒ ¼ö ÀÖ½À´Ï´Ù.
Ç÷§Æû¿¡ ¼³Ä¡µÈ »ç¿ë °¡´ÉÇÑ ¸ðµç º¸±â¸¦ Ç¥½ÃÇÏ´Â Workbench º¸±â Ç¥½Ã ´ëÈ »óÀÚ¸¦ »ó±âÇØ º¸½Ê½Ã¿À.
Á¦°øµÈ ¸ðµç º¸±â¿¡ ´ëÇÑ º¸±â À̸§ ¹× Ä«Å×°í¸® À̸§ÀÌ org.eclipse.ui.viewsÀÇ È®ÀåÀ» Á¦°øÇÏ´Â Ç÷¯±×ÀÎÀÇ plugin.xml ÆÄÀÏ¿¡ ÁöÁ¤µÇ¾î ÀÖÀ½À» »ìÆìº¸¾Ò½À´Ï´Ù. ±×·¯³ª Workbench°¡ ÀÌ Á¤º¸¸¦ ¾î¶»°Ô ãÀ»±î¿ä? Ç÷§Æû È®Àå ·¹Áö½ºÆ®¸®¿¡¼ ã½À´Ï´Ù. ´ÙÀ½ ÄÚµå´Â º¸±â Ç¥½Ã ´ëÈ »óÀÚÀÇ Workbench ±¸ÇöÀ» ±âÁØÀ¸·Î ÇÑ ´Ü¼øÈµÈ ½º´ÏÆêÀÔ´Ï´Ù.
... IExtensionRegistry registry = Platform.getExtensionRegistry(); IExtensionPoint point = registry.getExtensionPoint("org.eclipse.ui.views"); if (point == null) return; IExtension[] extensions = point.getExtensions(); for (int i = 0; i < extensions.length; i++) readExtension(extensions[i]); //get the information about each extension ...
Ç÷§Æû Ŭ·¡½º¿¡¼ ·¹Áö½ºÆ®¸®¸¦ ¾òÀ» ¼ö ÀÖÀ½À» À§¿¡¼ È®ÀÎÇß½À´Ï´Ù. IExtensionRegistryÀÇ ÇÁ·ÎÅäÄÝÀº À̸§ÀÌ org.eclipse.ui.viewsÀÎ È®ÀåÁ¡À» ã´Â µ¥ »ç¿ëµË´Ï´Ù. ƯÁ¤ È®ÀåÁ¡ ¶Ç´Â È®Àå¿¡ ´ëÇÑ ·¹Áö½ºÆ®¸®ÀÇ Á¤º¸´Â IExtensionRegistry, IExtensionPoint ¹× IExtension¿¡ Á¤ÀÇµÈ ÇÁ·ÎÅäÄÝÀ» »ç¿ëÇÏ¿© ãÀ» ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ Å¬·¡½ºÀÇ javadocÀº ·¹Áö½ºÆ®¸® ÇÁ·ÎÅäÄÝ¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ Á¤º¸¸¦ Á¦°øÇÕ´Ï´Ù.
°ü½ÉÀÌ ÀÖ´Â È®Àå Á¤ÀǸ¦ ã¾ÒÀ¸¸é IConfigurationElementÀÇ ÇÁ·ÎÅäÄÝÀ» »ç¿ëÇÏ¿© È®ÀåÀÇ °³º° ¼Ó¼ºÀ» È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù.