È®ÀåÁ¡ ½ºÅ°¸¶ »ç¿ë¹ý
ÀÛ¾÷°ø°£ÀÇ Ç÷¯±×Àο¡ ÀÇÇØ Á¤ÀÇµÈ È®ÀåÁ¡À» »ç¿ëÀÚ °íÀ¯ÀÇ Ç÷¯±×ÀÎÀ̳ª ´Ù¸¥
Ç÷¯±×Àο¡ Áï½Ã »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. È®ÀåÁ¡ ½ºÅ°¸¶°¡ Á¤ÀÇµÈ °æ¿ì, PDE´Â
»õ È®ÀåÀ» Á¤ÀÇÇÒ ¶§ µµ¿òÀ» Á¦°øÇÒ ¼ö ÀÖ½À´Ï´Ù.
´ÙÀ½°ú °°Àº µµ¿òÀ» Á¦°øÇÕ´Ï´Ù.
- ¿Ã¹Ù¸¥ ºÎ¼Ó¿ä¼Ò¸¸ Ãß°¡µÉ ¼ö ÀÖµµ·Ï »õ ÆË¾÷ ¸Þ´º¿¡ ¼±ÅûçÇ× Á¦°ø.
- ¿Ã¹Ù¸¥ ¼Ó¼º¸¸ ¼³Á¤µÉ ¼ö ÀÖµµ·Ï Ư¼º ½ÃÆ®¿¡ ¼Ó¼º
Á¤º¸ Á¦°ø.
- ¼Ó¼º À¯Çü(boolean,
string ¹× enumeration)°ú ÀÏÄ¡ÇÏ´Â ¿Ã¹Ù¸¥ ¼Ó¼º Ư¼º ÆíÁý±â Á¦°ø.
- Ư¼ö ¼Ó¼º À¯Çü("java" ¹× "resource")¿¡
Ãß°¡ Áö¿ø Á¦°ø.
- Ư¼º ½ÃÆ® ½ÃÆ®¿¡¼ ¼±ÅÃµÉ ¶§ »óÅ ǥ½ÃÁÙÀ» »ç¿ëÇÏ¿© ¼Ó¼º¿¡
´ëÇÑ ¹®¼ ½º´ÏÆêÀÇ Ã¹ ¹øÂ° ¹®ÀåÀ» Ç¥½Ã.
¿¹: "»ùÇà ±¸¹® ºÐ¼®±â" È®ÀåÁ¡ »ç¿ë
¾Õ¼ Á¤ÀÇÇÑ È®ÀåÁ¡À» »ç¿ëÇϱâ Àü¿¡ ¿¹»óµÇ´Â ÀÎÅÍÆäÀ̽º¸¦
Á¤ÀÇÇØ¾ß ÇÕ´Ï´Ù. ³×ºñ°ÔÀÌÅÍ¿¡¼ com.example.xyz ÇÁ·ÎÁ§Æ®¸¦ ¼±ÅÃÇϰí
µµ±¸ ¸ðÀ½ ´ÜÃ߸¦
´·¯ »õ Java ÀÎÅÍÆäÀ̽º¸¦ ÀÛ¼ºÇϽʽÿÀ.
¿Ï·á¸¦ ´©¸£±â Àü¿¡ ÆÐŰÁö À̸§À» com.example.xyzÀ¸·Î ¼³Á¤Çϰí ÀÎÅÍÆäÀ̽º À̸§À»
IParser·Î ¼³Á¤Çß´ÂÁö È®ÀÎÇϽʽÿÀ.
ÀÎÅÍÆäÀ̽º¸¦ ´ÙÀ½°ú °°ÀÌ ÆíÁýÇϽʽÿÀ.
package com.example.xyz;
public interface IParser {
/**
* Run the parser using the
provided mode
*/
public void parse(int mode);
}
ÀÌÁ¦ È®ÀåÁ¡, È®ÀåÁ¡¿¡ ´ëÇÑ XML ½ºÅ°¸¶, Çʼö ÀÎÅÍÆäÀ̽º°¡
¸ðµÎ ÁغñµÇ¾ú½À´Ï´Ù. ¿·Á ÀÖ´Â ¸ðµç ÆíÁý±â¸¦ ÀúÀåÇϽʽÿÀ.
ÀÌÁ¦ °íÀ¯ Ç÷¯±×ÀÎ ¶Ç´Â ´Ù¸¥ Ç÷¯±×ÀÎÀÌ È®ÀåÁ¡À» »ç¿ëÇÒ ¸ðµç Áغñ°¡
¿Ï·áµÇ¾ú½À´Ï´Ù.
- com.example.xyz Ç÷¯±×Àο¡ ´ëÇØ Manifest ÆíÁý±â¸¦ ¿©½Ê½Ã¿À.
- È®Àå ÆäÀÌÁö·Î ÀüȯÇÏ¿© ½Å±Ô-> È®ÀåÀ» ´©¸£½Ê½Ã¿À.
- "com.example.xyz.parsers"¸¦ ¼±ÅûçÇ×À¸·Î »ç¿ëÇÒ ¼ö ÀÖ¾î¾ß ÇÕ´Ï´Ù. À̸¦ ¼±ÅÃÇϰí
¿Ï·á¸¦ ´©¸£½Ê½Ã¿À.
- »õ·Î Ãß°¡µÈ "com.example.xyz.parsers" ¿ä¼Ò¸¦ ¼±ÅÃÇÏ°í ½Å±Ô->±¸¹® ºÐ¼®±â ¸Þ´º¸¦ ÆË¾÷ Ç¥½ÃÇϽʽÿÀ(È®ÀåÁ¡ÀÌ ¸ðµç ¼öÀÇ "parser" ¿ä¼Ò¸¦ ¼ö¿ëÇÒ ¼ö ÀÖµµ·Ï
ÁöÁ¤ÇÔ).
- »õ ±¸¹® ºÐ¼®±â ¿ä¼Ò¸¦ ¼±ÅÃÇϽʽÿÀ. È®Àå ¿ä¼Ò ¼¼ºÎ»çÇ× ¼½¼Ç¿¡ id, name, class ¹× modeÀÇ ³× °¡Áö ¼Ó¼ºÀÌ Ç¥½ÃµÇ¾î¾ß ÇÕ´Ï´Ù.
¼Ó¼ºÀ» ¼±ÅÃÇÒ ¶§
»óÅ ǥ½ÃÁÙ¿¡ Ãà¾àÇü ¼Ó¼º Á¤º¸°¡ ¾î¶»°Ô Ç¥½ÃµÇ´ÂÁö Âü°íÇϽʽÿÀ. ÀÌ Á¤º¸´Â
È®ÀåÁ¡ ½ºÅ°¸¶¿¡¼ Á÷Á¢ Á¦°øµË´Ï´Ù.
- nameÀ» "±âº» ±¸¹® ºÐ¼®±â"·Î º¯°æÇϽʽÿÀ. mode¸¦
"¼öµ¿"À¸·Î º¯°æÇϽʽÿÀ.
- È®Àå ¿ä¼Ò ¼¼ºÎ»çÇ× ¼½¼Ç¿¡¼ class ÇÏÀÌÆÛ¸µÅ©¸¦ Ŭ¸¯ÇϽʽÿÀ. ¿©±â¼ PDE°¡ JDTÀÇ "»õ Java Ŭ·¡½º"
¸¶¹ý»ç¿Í ¿ÏÀüÈ÷ ÅëÇյǰí IParser ÀÎÅÍÆäÀ̽º¸¦ ÀÚµ¿À¸·Î ±¸ÇöÇϱâ À§ÇØ ½ºÅ°¸¶ ¼Ó¼ºÀ» »ç¿ëÇÏ´Â °ÍÀ» º¸°Ô µË´Ï´Ù.
¼Ò½º Æú´õ·Î "com.example.xyz/src"¸¦ »ç¿ëÇÏ°í ÆÐŰÁö·Î "com.example.xyz"¸¦, ±×¸®°í Ŭ·¡½º À̸§À¸·Î
DefaultParser¸¦ »ç¿ëÇϴ Ŭ·¡½º¸¦ ÀÛ¼ºÇϽʽÿÀ. ¿Ï·á¸¦ ´©¸£½Ê½Ã¿À.
- ÀÌÁ¦ DefaultParser Ŭ·¡½º¿¡ ´ëÇØ Java ÆíÁý±â°¡ ¿¸³´Ï´Ù. ¿Ã¹Ù¸¥
ÀÎÅÍÆäÀ̽º(IParser) ±¸Çö ¹× "parse" ¸Þ¼Òµå¿¡ ´ëÇÑ
½ºÅÓ ±¸Çö ¹æ¹ý¿¡ ÁÖ¸ñÇϽʽÿÀ.
ÆíÁý±â¸¦ ´Ý°í class ÇÏÀÌÆÛ¸µÅ©¸¦ ´Ù½Ã Ŭ¸¯ÇÒ °æ¿ì ÆíÁý±â°¡ DefaultParser Ŭ·¡½º¸¦
´Ù½Ã ¿©´Â Á¡À» Âü°íÇϽʽÿÀ. "»õ Java Ŭ·¡½º" ¸¶¹ý»ç´Â Ŭ·¡½º ¼Ó¼º ÅØ½ºÆ® Çʵ忡 ÁöÁ¤µÈ Ŭ·¡½º¸¦
ãÀ» ¼ö ¾øÀ» ¶§¸¸ ³ªÅ¸³ª¹Ç·Î ¸µÅ©°¡ Ŭ·¡½º¸¦ ÆíÁý±â·Î ¿°Ô µË´Ï´Ù.
ÀÌ´Â Àüü XML ½ºÅ°¸¶¸¦ È®ÀåÁ¡¿¡ Á¦°øÇÒ ¶§ PDEÀÇ Áö¿øÀ¸·Î ¿À·ù¸¦ ¿¹¹æÇÏ´Â µ¥ µµ¿òÀÌ µË´Ï´Ù.
