·±Å¸ÀÓ È¯°æ ¼³Á¤

org.eclipse.core.runtime.preferences ÆÐŰÁö´Â Ç÷¯±×ÀÎÀÇ È¯°æ ¼³Á¤À» ÀúÀåÇÏ´Â ÇϺΠ±¸Á¶¸¦ Á¦°øÇÕ´Ï´Ù. ȯ°æ ¼³Á¤Àº ÀϹÝÀûÀ¸·Î ±âº» ÇϺΠ±¸Á¶¿¡¼­ ÇÊ¿äÇÏÁö ¾Ê´õ¶óµµ ȯ°æ ¼³Á¤ ÆäÀÌÁöÀÇ »ç¿ëÀÚ¿¡ ÀÇÇØ Á¦¾îµÇ´Â ¼³Á¤¿¡ ¸ÊÇε˴ϴÙ. Ç÷¯±×ÀΠȯ°æ ¼³Á¤Àº Ű/°ª ½ÖÀ̸ç, ¿©±â¼­ Ű´Â ȯ°æ ¼³Á¤ÀÇ À̸§À» ¼³¸íÇÏ°í °ªÀº ¿©·¯ °¡Áö À¯Çü(boolean, double, float, int, long ¶Ç´Â string) Áß ÇϳªÀÔ´Ï´Ù. ȯ°æ ¼³Á¤ÀÌ ÀúÀåµÇ¾î ÆÄÀÏ ½Ã½ºÅÛÀÇ Ç÷§Æû¿¡¼­ °Ë»öµË´Ï´Ù. ÀúÀåµÈ ȯ°æ ¼³Á¤ÀÇ Á¤È®ÇÑ À§Ä¡´Â ȯ°æ ¼³Á¤ÀÇ ¹üÀ§¿¡ µû¶ó ´Ù¸¨´Ï´Ù.

ȯ°æ ¼³Á¤ ¹üÀ§

ȯ°æ ¼³Á¤ÀÇ ¹üÀ§´Â ȯ°æ ¼³Á¤ÀÌ ÀúÀåµÇ¾î ÀÖ´Â À§Ä¡¿Í ¹ÐÁ¢ÇÏ°Ô °ü·ÃµÇ¾î ÀÖ½À´Ï´Ù. Ç÷¯±×ÀÎ °³¹ßÀÚ´Â ÇØ´ç ȯ°æ ¼³Á¤¿¡ Àû¿ëµÇ´Â Ç¥ÁØ ¹üÀ§¸¦ °áÁ¤Çϰųª ÇØ´ç Ç÷¯±×Àο¡ ÀûÇÕÇÑ »õ ¹üÀ§¸¦ Á¤ÀÇÇÒ ¼ö ÀÖ½À´Ï´Ù. Ç÷§Æû ·±Å¸ÀÓ¿¡¼­ Á¤ÀÇÇÏ´Â ¹üÀ§¸¦ ¸ÕÀú »ìÆì º¸±â·Î ÇÕ´Ï´Ù.

Àüü ȯ°æ ¼³Á¤ ÀúÀåÀ» ³ëµåÀÇ °èÃþ ±¸Á¶·Î »ý°¢ÇÒ ¼ö Àִµ¥, ¿©±â¼­ °èÃþ ±¸Á¶ÀÇ °¢ ±âº» ºÐ±â´Â ƯÁ¤ ¹üÀ§¸¦ Ç¥½ÃÇÕ´Ï´Ù. ƯÁ¤ ³ëµåÀÇ ÇÏÀ§´Â ÇØ´ç ¹üÀ§°¡ Á¤ÀǵǴ ¹æ¹ý¿¡ µû¶ó ´Ù¸¨´Ï´Ù. ÀνºÅϽº ¹× ±¸¼º ¹üÀ§ÀÇ °æ¿ì ÇÏÀ§ ³ëµå´Â ȯ°æ ¼³Á¤ ±ÔÁ¤ÀÚ(´ë°³ Ç÷¯±×ÀÎÀÇ ID)¿¡¼­ ÁöÁ¤ÇÑ Æ¯Á¤ Ç÷¯±×ÀÎÀÇ È¯°æ ¼³Á¤ÀÔ´Ï´Ù.

ÀÌ ¸ðµç ³»¿ëÀÌ È¥µ¿µÇ´õ¶óµµ °ÆÁ¤ÇÏÁö ¸¶½Ê½Ã¿À. ¹üÀ§ ¹× ³ëµå¿¡ ´ëÇØ ¹®Á¦°¡ ¾øÀ¸¸é ƯÁ¤ ¹üÀ§ ¶Ç´Â ½ÇÁ¦·Î ȯ°æ ¼³Á¤ °ªÀÌ µé¾î ÀÖ´Â Æ®¸® ³ëµå¿¡ ´ëÇØ °ÆÁ¤ÇÒ Çʿ䰡 ¾ø½À´Ï´Ù. ȯ°æ ¼³Á¤ °ªÀ» Á¶È¸Çϰí Á¦°øµÈ ±ÔÁ¤ÀÚ ¹× ȯ°æ ¼³Á¤ À̸§À» »ç¿ëÇÏ¿© ½ÇÁ¦·Î °ªÀÌ µé¾î ÀÖ´Â ³ëµå¸¦ ãÀ» ¶§ ȯ°æ ¼³Á¤ API´Â ÀûÀýÇÑ ¼ø¼­(ÀνºÅϽº, ±¸¼º, ±âº»°ª)·Î ³ëµå¸¦ ÀÚµ¿À¸·Î ¼øÈ¸ÇÕ´Ï´Ù.

ȯ°æ ¼³Á¤Àº IPreferencesService ÇÁ·ÎÅäÄÝÀ» »ç¿ëÇÏ¿© ¾×¼¼½ºµË´Ï´Ù. Ç÷§ÆûÀÇ ±âº» ȯ°æ ¼³Á¤ ¼­ºñ½º´Â Ç÷§Æû Ŭ·¡½º¸¦ »ç¿ëÇÏ¿© ¾×¼¼½ºÇÒ ¼ö ÀÖ½À´Ï´Ù.

	...
	IPreferencesService service = Platform.getPreferencesService();
	...

ȯ°æ ¼³Á¤ ¼­ºñ½º¸¦ ¾òÀ¸¸é IPreferencesService¿¡ Á¦°øµÈ get... ¸Þ¼Òµå Áß Çϳª¸¦ »ç¿ëÇÏ¿© À̸§º°·Î ȯ°æ ¼³Á¤ °ªÀ» Á¶È¸ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î ´ÙÀ½ ½º´ÏÆêÀº "com.example.myplugin" Ç÷¯±×ÀÎÀÇ "MyPreference" ȯ°æ ¼³Á¤ °ªÀ» Á¶È¸ÇÕ´Ï´Ù.

	...
	IPreferencesService service = Platform.getPreferencesService();
	boolean value = service.getBoolean("com.example.myplugin", "MyPreference", true, null);
	//do something with the value.
	...

Á¶È¸ ¸Þ¼ÒµåÀÇ ¸¶Áö¸· ¸Å°³º¯¼ö´Â ȯ°æ ¼³Á¤ ³ëµå¸¦ °Ë»öÇÒ ¶§ »ç¿ëÇÏ´Â ¹üÀ§ ÄÁÅØ½ºÆ®ÀÇ ¹è¿­ÀÔ´Ï´Ù. ¹è¿­ÀÌ ³Î(null)À̸é Ç÷§ÆûÀº ±âº» ¹üÀ§ °Ë»ö ¼ø¼­°¡ »ç¿ëµÇ¾î¾ß ÇÔÀ» °¡Á¤Çϰí ÇØ´ç ȯ°æ ¼³Á¤ ³ëµå¸¦ ¿¹»óÇÕ´Ï´Ù. ¹üÀ§ ÄÁÅØ½ºÆ®ÀÇ ¹è¿­ÀÌ Àü´ÞµÇ¸é ȯ°æ ¼³Á¤ ³ëµå¸¦ ã´Â µ¥ »ç¿ëµÉ ¹üÀ§ ã¾Æº¸±â ¼ø¼­°¡ ÆÇº°µË´Ï´Ù. ÁöÁ¤µÈ ¹üÀ§¸¦ »ç¿ëÇÏ¿© ³ëµå¸¦ ãÀ» ¼ö ¾øÀ» °æ¿ì Ç×»ó ±âº» ¹üÀ§ ã¾Æº¸±â ¼ø¼­°¡ »ç¿ëµË´Ï´Ù.

¹üÀ§ ¹× ³ëµå »ç¿ë

Ç÷¯±×Àο¡ ¹üÀ§ °Ë»ö ¼ø¼­¿¡ ´ëÇÑ ´õ¿í Á¤¹ÐÇÑ Á¦¾î°¡ ÇÊ¿äÇÒ °æ¿ì ÇØ´ç ¹üÀ§¸¦ Ç¥½ÃÇϴ Ŭ·¡½º¸¦ »ç¿ëÇÏ¿© ƯÁ¤ ¹üÀ§¿¡ Àִ ȯ°æ ¼³Á¤À» Ç¥½ÃÇÏ´Â ½ÇÁ¦ ³ëµå¿¡ ¾×¼¼½ºÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¹æ¹ýÀ» »ç¿ëÇϸé ÇÊ¿äÇÑ Æ¯Á¤ °Ë»ö ¼ø¼­¸¦ ÁöÁ¤ÇÏ´Â ³ëµå ¹è¿­À» ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. ´ÙÀ½ ½º´ÏÆêÀº À§¿¡¼­ »ç¿ëÇÑ °Í°ú µ¿ÀÏÇÑ È¯°æ ¼³Á¤ÀÇ È¯°æ ¼³Á¤ ¼­ºñ½º¸¦ Á¶È¸ÇÏÁö¸¸ Ç÷¯±×ÀÎÀÇ ±¸¼º ¹üÀ§À» °Ë»öÇÏ°í µÚÀ̾î Ç÷¯±×ÀÎÀÇ ÀνºÅϽº ¹üÀ§¸¦ °Ë»öÇÕ´Ï´Ù. ³ëµå°¡ °Ë»ö ¼ø¼­¿¡ ÁöÁ¤µÇ¸é ±âº» ¹üÀ§ ÁöÁ¤Àº °í·ÁµÇÁö ¾Ê½À´Ï´Ù. Áï, Ç÷§ÆûÀº Á¦°øµÈ Á¤È®ÇÑ ³ëµå¸¸ °Ë»öÇÕ´Ï´Ù.

	...
	IPreferencesService service = Platform.getPreferencesService();
	Preferences configurationNode = new ConfigurationScope().getNode("com.example.myplugin");
	Preferences instanceNode = new InstanceScope().getNode("com.example.myplugin");
	Preferences[] nodes = new Preferences[] {configurationNode, instanceNode};
	stringValue = service.get("MyPreference", "true", nodes);
	//do something with the value.
	...

¶ÇÇÑ Ç÷¯±×ÀÎÀº ȯ°æ ¼³Á¤ Æ®¸® ³ëµå¸¦ ÅëÇØ °íÀ¯ ¼øÈ¸¸¦ ±¸ÇöÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ȯ°æ ¼³Á¤ ¼­ºñ½º¿¡¼­ ȯ°æ ¼³Á¤ Æ®¸®ÀÇ ·çÆ® ³ëµå¸¦ ¾òÀ» ¼ö ÀÖ½À´Ï´Ù. ¹üÀ§ Ŭ·¡½º¸¦ »ç¿ëÇÏ¿© Æ®¸®¸¦ ÀÚ¼¼È÷ ¼øÈ¸ÇÒ ¼ö ÀÖ½À´Ï´Ù. ´ÙÀ½ ½º´ÏÆêÀº ƯÁ¤ ³ëµå¸¦ ¼øÈ¸ÇÏ°í ³ëµå ÀÚü¿¡¼­ ȯ°æ ¼³Á¤ °ªÀ» °Ë»öÇÕ´Ï´Ù.

	...
	IPreferencesService service = Platform.getPreferencesService();
	Preferences root = service.getRootNode();
	Preferences myInstanceNode = root.node(InstanceScope.SCOPE).node("com.example.myplugin");
	if (myInstanceNode != null) {
		value = node.getBoolean("MyPreference", "true");
		//do something with the value.
	}
	...

¹üÀ§ È®Àå

Ç÷¯±×ÀÎÀº org.eclipse.core.runtime.preferences È®ÀåÀ» »ç¿ëÇÏ¿© Ư¼öÈ­µÈ °íÀ¯ ¹üÀ§¸¦ Á¤ÀÇÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ È®Àå¿¡¼­ Ç÷¯±×ÀÎÀº »õ ¹üÀ§ÀÇ È¯°æ ¼³Á¤ ³ëµå¸¦ ÀÛ¼ºÇÒ ¼ö Àִ Ŭ·¡½º»Ó¸¸ ¾Æ´Ï¶ó »õ ¹üÀ§ÀÇ À̸§µµ Á¤ÀÇÇÕ´Ï´Ù. ¼±ÅÃÀûÀ¸·Î ÀÌ Ç÷¯±×ÀÎÀº ÇØ´ç ¹üÀ§¿¡ ÀÖ´Â ±âº» ȯ°æ ¼³Á¤ °ªÀ» ÃʱâÈ­Çϴ Ŭ·¡½º À̸§À» ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. Ç÷¯±×ÀÎÀÌ »õ ¹üÀ§¸¦ ÁöÁ¤ÇÒ ¶§ Ç÷§Æû ¼øÈ¸ ¼ø¼­¿Í °ü·ÃµÈ »õ ¹üÀ§¿¡ ¼øÈ¸ ¼ø¼­¸¦ ±¸ÇöÇÏ´Â °ÍÀº ÇØ´ç Ç÷¯±×Àο¡ µû¶ó ´Ù¸¨´Ï´Ù. ÇÁ·ÎÁ§Æ® ¹üÀ§ÀÇ È¯°æ ¼³Á¤¿¡ ´ëÇÑ Æ¯Á¤ ¿¹Á¦¸¦ »ç¿ëÇÏ¿© ÀÌ ±â´ÉÀ» ÀÚ¼¼È÷ »ìÆì º¸±â·Î ÇÕ´Ï´Ù.