JavaTM 2 Platform
Standard Ed. 5.0

javax.imageio.spi
Ŭ·¡½º ServiceRegistry

java.lang.Object 
  »óÀ§¸¦ È®Àå javax.imageio.spi.ServiceRegistry
¾Ë·ÁÁø Á÷°è ¼­ºê Ŭ·¡½º:
IIORegistry

public class ServiceRegistry
extends Object

¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ ÀνºÅϽºÀÇ ·¹Áö½ºÆ®¸®ÀÔ´Ï´Ù.

¡¸¼­ºñ½º¡¹¶õ ±âÁ¸ÀÇ ÀÎÅÍÆäÀ̽º ¹× Ŭ·¡½º (ÀϹÝÀûÀ¸·Î Ãß»ó Ŭ·¡½º)¼¼Æ®ÀÔ´Ï´Ù. ¡¸¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ¡¹¶õ ƯÁ¤ÀÇ ¼­ºñ½ºÀÇ ±¸ÇöÀÔ´Ï´Ù. ÇÁ·Î¹ÙÀÌ´õ³»ÀÇ Å¬·¡½º´Â º¸Åë, ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÏ´ÂÁö, ¶Ç´Â ¼­ºñ½º ÀÚü°¡ Á¤ÀÇµÈ Å¬·¡½º¸¦ »ó¼ÓÇÕ´Ï´Ù.

¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ´Â 1°³ ¶Ç´Â º¹¼öÀÇ ¡¸Ä«Å×°í¸®¡¹¿¡ Æ÷ÇԵ˴ϴÙ. °¢ Ä«Å×°í¸®´Â ±× ¸ðµç ¸â¹ö¸¦ ±¸ÇöÇÒ ÇÊ¿ä°¡ Àִ Ŭ·¡½º ÀÎÅÍÆäÀ̽º (Class °´Ã¼¿¡ ÀÇÇØ ±â¼úµÈ´Ù)·Î Á¤Àǵ˴ϴÙ. Ä«Å×°í¸® ¼¼Æ®´Â µ¿ÀûÀ¸·Î º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÁöÁ¤µÈ ¸®ÇÁ Ŭ·¡½º (Áï, ÀÓÀÇÀÇ »ó¼ÓµÈ Ŭ·¡½º³ª ÀÎÅÍÆäÀ̽º°¡ ¾Æ´Ï°í, getClass()·Î ¸®ÅÏµÈ ½ÇÁ¦ÀÇ Å¬·¡½º)ÀÇ 1°³ÀÇ ÀνºÅϽº¸¸À» µî·ÏÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿©±â¼­, com.mycompany.mypkg.GreenServiceProvider Ŭ·¡½º°¡ com.mycompany.mypkg.MyServiceÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÏ¸é °¡Á¤ÇÕ´Ï´Ù. GreenServiceProviderÀÎÅÍÆäÀ̽º¸¦ µî·ÏÇÏ´Â °æ¿ì, ÀÌ°ÍÀº MyService Ŭ·¡½º¿¡ ÀÇÇØ Á¤ÀÇµÈ Ä«Å×°í¸®¿¡ Æ÷ÇԵ˴ϴÙ. GreenServiceProvider »õ·Î¿î ÀνºÅϽº¸¦ µî·ÏÇÏ´Â °æ¿ì, ÀÌ°ÍÀº ÀÌÀüÀÇ ÀνºÅϽº¸¦ ¹Ù²ã ³õ½À´Ï´Ù. º¸Åë, ¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ °´Ã¼´Â ´ÜüÀ̱⠶§¹®¿¡ ÀÌ µ¿ÀÛÀº ÀûÀýÇÕ´Ï´Ù.

¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ¸¦ ¼±¾ðÇϱâ À§Çؼ­ services ¼­ºê µð·ºÅ丮°¡ °¢ JAR ÆÄÀÏ¿¡ Á¸ÀçÇÏ´Â META-INF µð·ºÅ丮³»¿¡ ¹èÄ¡µË´Ï´Ù. ÀÌ µð·ºÅ丮¿¡´Â JAR ÆÄÀÏ¿¡ 1°³ ¶Ç´Â º¹¼öÀÇ ±¸Çö Ŭ·¡½º¸¦ º¸°ü À¯ÁöÇÏ´Â °¢ ¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ ÀÎÅÍÆäÀ̽º¿¡ ´ëÇؼ­ 1°³ÀÇ ÆÄÀÏÀÌ Æ÷ÇԵ˴ϴÙ. ¿¹¸¦ µé¾î JAR ÆÄÀÏ¿¡ javax.someapi.SomeServiceÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÏ´Â com.mycompany.mypkg.MyServiceImpl ¶ó°í Çϴ Ŭ·¡½º°¡ Æ÷ÇԵǴ °æ¿ì, JAR¿¡´Â ´ÙÀ½ÀÇ À̸§ÀÇ ÆÄÀÏÀÌ Æ÷ÇԵ˴ϴÙ.


 META-INF/services/javax.someapi.SomeService 
¶Ç, ´ÙÀ½ÀÇ ÇàÀÌ Æ÷ÇԵ˴ϴÙ.

 com.mycompany.mypkg.MyService
 

¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ Ŭ·¡½º´Â °æ·®À¸·Î ½Å¼ÓÈ÷ ·ÎµåÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ÀÎÅÍÆäÀ̽ºÀÇ ±¸ÇöÀº ´Ù¸¥ Ŭ·¡½º³ª native code¿¡ º¹ÀâÇÏ°Ô Á¸ÇÏÁö ¾Ê°Ô ÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. º¹ÀâÇÑ ¼­ºñ½ºÀÇ °æ¿ìÀÇ º¸Åë ÀÇ ÆÐÅÏÀº ºÎÇÏÀÇ ³ôÀº ¼­ºñ½º¿¡ ´ëÇؼ­ °æ·®ÀÎ ÇÁ·Ï½Ã¸¦ µî·ÏÇÑ´Ù°í ÇÏ´Â °ÍÀÔ´Ï´Ù.

ÀûÀýÇÑ ½ÇÇà½Ã Á¢±Ù ±ÇÇÑÀÌ ÀÖÀ¸¸é, ¾îÇø®ÄÉÀ̼ÇÀ¸·Î ·¹Áö½ºÆ®¸®ÀÇ ³»¿ëÀ» ÇÊ¿ä¿¡ µû¶ó¼­ Ä¿½ºÅ͸¶ÀÌÁî ÇÒ ¼ö ÀÖ½À´Ï´Ù.

¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ ¼±¾ðÀÇ »ó¼¼ ¹× JAR Çü½Ä Àü¹Ý¿¡ ´ëÇؼ­´Â ¡¸JAR File Specification¡¹¸¦ ÂüÁ¶ÇϽʽÿÀ.

°ü·Ã Ç׸ñ:
RegisterableService

Áßø(Nested) Ŭ·¡½º °³¿ä
static interface ServiceRegistry.Filter
          ÀÓÀÇÀÇ ±âÁØ¿¡ ÀÏÄ¡ÇÏ´Â ÇÁ·Î¹ÙÀÌ´õ¸¦ ¼±ÅÃÇϱâ À§Çؼ­ ServiceRegistry.getServiceProviders·Î »ç¿ëµÇ´Â ´Ü¼øÇÑ ÇÊÅÍ ÀÎÅÍÆäÀ̽ºÀÔ´Ï´Ù.
 
»ý¼ºÀÚ °³¿ä
ServiceRegistry (Iterator <Class <? >> categories)
          categoriesÀμö·ÎºÎÅÍ ²¨³½ Ä«Å×°í¸® ¼¼Æ®¸¦ »ç¿ëÇØ ServiceRegistryÀνºÅϽº¸¦ ±¸ÃàÇÕ´Ï´Ù.
 
¸Þ¼­µå °³¿ä
 boolean contains (Object  provider)
          provider°¡ ÇöÀç µî·ÏµÇ¾î ÀÖ´Â °æ¿ì´Â true¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 void deregisterAll ()
          ÇöÀç µî·ÏµÇ¾î ¸ðµç ¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ °´Ã¼¸¦, ¸ðµç Ä«Å×°í¸®·ÎºÎÅÍ µî·Ï ÇØÁ¦ÇÕ´Ï´Ù.
 void deregisterAll (Class <? > category)
          ÇöÀç ÁöÁ¤µÈ Ä«Å×°í¸®¿¡ µî·ÏµÇ¾î ÀÖ´Â ¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ °´Ã¼¸¦ ¸ðµÎ µî·Ï ÇØÁ¦ÇÕ´Ï´Ù.
 void deregisterServiceProvider (Object  provider)
          ¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ °´Ã¼¸¦, ±×°ÍÀ» Æ÷ÇÔÇÑ ¸ðµç Ä«Å×°í¸®·ÎºÎÅÍ »èÁ¦ÇÕ´Ï´Ù.
<T> boolean
deregisterServiceProvider (T provider, Class <T> category)
          ÁöÁ¤µÈ Ä«Å×°í¸®·ÎºÎÅÍ ¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ °´Ã¼¸¦ »èÁ¦ÇÕ´Ï´Ù.
 void finalize ()
          °¡ºñÁö Ä÷º¼ÇÀÇ Àü¿¡ ÀÌ °´Ã¼¸¦ ÆÄÀ̳ª¶óÀÌÁî ÇÕ´Ï´Ù.
 Iterator <Class <? >> getCategories ()
          ÇöÀçÀÇ Ä«Å×°í¸® ¼¼Æ®¸¦ ³ªÅ¸³»´Â Class °´Ã¼ÀÇ Iterator¸¦ ¸®ÅÏÇÕ´Ï´Ù.
<T> T
getServiceProviderByClass (Class <T> providerClass)
          ÇöÀç µî·ÏµÇ¾î ÀÖ´Â ÁöÁ¤µÈ Ŭ·¡½ºÇüÀÇ ÇÁ·Î¹ÙÀÌ´õ °´Ã¼¸¦ ¸®ÅÏÇÕ´Ï´Ù.
<T> Iterator <T>
getServiceProviders (Class <T> category, boolean useOrdering)
          ÁöÁ¤µÈ Ä«Å×°í¸®³»ÀÇ µî·ÏÀÌ ³¡³­ ¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ¸¦ ¸ðµÎ Æ÷ÇÔÇÑ Iterator¸¦ ¸®ÅÏÇÕ´Ï´Ù.
<T> Iterator <T>
getServiceProviders (Class <T> category, ServiceRegistry.Filter  filter, boolean useOrdering)
          ÁöÁ¤µÈ ServiceRegistry.Filter °´Ã¼ÀÇ filter ¸Þ¼­µå·Î ¼³Á¤µÈ ±âÁØÀ» ä¿ì´Â ÁöÁ¤µÈ Ä«Å×°í¸®³»ÀÇ ¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ °´Ã¼¸¦ Æ÷ÇÔÇÑ Iterator¸¦ ¸®ÅÏÇÕ´Ï´Ù.
static
<T> Iterator <T>
lookupProviders (Class <T> providerClass)
          ÄÁÅؽºÆ® Ŭ·¡½º ·Î´õ¸¦ »ç¿ëÇØ, ÁöÁ¤µÈ ¼­ºñ½ºÀÇ »ç¿ë °¡´ÉÇÑ ÇÁ·Î¹ÙÀÌ´õ¸¦ °ËÃâÇØ ´Ü°èÀûÀ¸·Î ÀνºÅϽºÈ­ÇÕ´Ï´Ù.
static
<T> Iterator <T>
lookupProviders (Class <T> providerClass, ClassLoader  loader)
          ÁöÁ¤µÈ Ŭ·¡½º ·Î´õ¸¦ »ç¿ëÇØ Æ¯Á¤ÀÇ ¼­ºñ½º Ŭ·¡½ºÀÇ ±¸ÇöÀ» °Ë»öÇÕ´Ï´Ù.
 void registerServiceProvider (Object  provider)
          ¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ °´Ã¼¸¦ ·¹Áö½ºÆ®¸®¿¡ Ãß°¡ÇÕ´Ï´Ù.
<T> boolean
registerServiceProvider (T provider, Class <T> category)
          ¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ °´Ã¼¸¦ ·¹Áö½ºÆ®¸®¿¡ Ãß°¡ÇÕ´Ï´Ù.
 void registerServiceProviders (Iterator <? > providers)
          Iterator·Î ºÎÅÍ ¼öÁß¿¡ ³ÖÀº ÀÏ·ÃÀÇ ¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ °´Ã¼¸¦ ·¹Áö½ºÆ®¸®¿¡ Ãß°¡ÇÕ´Ï´Ù.
<T> boolean
setOrdering (Class <T> category, T firstProvider, T secondProvider)
          ÁöÁ¤µÈ Ä«Å×°í¸®³»ÀÇ 2°³ÀÇ ¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ °´Ã¼°£ÀÇ Æä¾îÀÇ ¼ø¼­¸¦ ¼³Á¤ÇÕ´Ï´Ù.
<T> boolean
unsetOrdering (Class <T> category, T firstProvider, T secondProvider)
          ÁöÁ¤µÈ Ä«Å×°í¸®ÀÇ 2°³ÀÇ ¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ °´Ã¼°£ÀÇ Æä¾îÀÇ ¼ø¼­¸¦ ¼³Á¤ÇÕ´Ï´Ù.
 
Ŭ·¡½º java.lang. Object ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼­µå
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

»ý¼ºÀÚ »ó¼¼

ServiceRegistry

public ServiceRegistry(Iterator <Class <? >> categories)
categoriesÀμö·ÎºÎÅÍ ²¨³½ Ä«Å×°í¸® ¼¼Æ®¸¦ »ç¿ëÇØ ServiceRegistryÀνºÅϽº¸¦ ±¸ÃàÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
categories - Ä«Å×°í¸®ÀÇ Á¤ÀÇ¿¡ »ç¿ëÇÏ´Â Class °´Ã¼¸¦ Æ÷ÇÔÇÑ Iterator
¿¹¿Ü:
IllegalArgumentException - categories°¡ nullÀÎ °æ¿ì
¸Þ¼­µåÀÇ »ó¼¼

lookupProviders

public static <T> Iterator <T> lookupProviders(Class <T> providerClass,
                                              ClassLoader  loader)
ÁöÁ¤µÈ Ŭ·¡½º ·Î´õ¸¦ »ç¿ëÇØ Æ¯Á¤ÀÇ ¼­ºñ½º Ŭ·¡½ºÀÇ ±¸ÇöÀ» °Ë»öÇÕ´Ï´Ù.

ÀÌ ¸Þ¼­µå´Â ÁöÁ¤µÈ ¼­ºñ½º Ŭ·¡½ºÀÇ À̸§À» Ŭ·¡½º ÄÚ¸àÆ®ÀÇ ±â¼ú¿¡ µû¶ó ÇÁ·Î¹ÙÀÌ´õ ±¸¼ºÀÇ ÆÄÀϸíÀ¸·Î º¯È¯ÇØ, ÁöÁ¤µÈ Ŭ·¡½º ·Î´õÀÇ getResources ¸Þ¼­µå¸¦ »ç¿ëÇØ ±× À̸§À» °¡Áö´Â »ç¿ë °¡´ÉÇÑ ÆÄÀÏ ¸ðµç °ÍÀ» °Ë»öÇÕ´Ï´Ù. ÀÌ·¯ÇÑ ÆÄÀÏÀº ´ÙÀ½¿¡ ÀÐÇô ±¸¹® ºÐ¼® µÇ¾î ÇÁ·Î¹ÙÀÌ´õ Ŭ·¡½º¸íÀÇ ¸®½ºÆ®°¡ ÀÛ¼ºµË´Ï´Ù. ¸®ÅÏµÈ ¹Ýº¹ÀÚ´Â ÁöÁ¤µÈ Ŭ·¡½º ·Î´õ¸¦ »ç¿ëÇØ, ¸®½ºÆ®ÀÇ °¢ ¿ä¼Ò¸¦ ÂüÁ¶ÇØ ÀνºÅϽºÈ­ÇÕ´Ï´Ù.

½ÇÇàÁßÀÇ Java °¡»ó ¸Ó½Å¿¡ È®Àå ±â´ÉÀ» ÀνºÅç ÇÏ´Â °ÍÀÌ °¡´ÉÇϱ⠶§¹®¿¡ ÀÌ ¸Þ¼­µå´Â ºÒ·Á °¥ ¶§¸¶´Ù ´Ù¸¥ °á°ú¸¦ µ¹·ÁÁÖ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.

ÆĶó¹ÌÅÍ:
providerClass - °ËÃâÁßÀÇ ¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õÀÇ Å¬·¡½º ¶Ç´Â ÀÎÅÍÆäÀ̽º¸¦ ³ªÅ¸³»´Â Class °´Ã¼
loader - ÇÁ·Î¹ÙÀÌ´õ ±¸¼º ÆÄÀÏÀÇ ·Îµå ¹× ÇÁ·Î¹ÙÀÌ´õ Ŭ·¡½ºÀÇ ÀνºÅϽºÈ­¿¡ »ç¿ëÇϴ Ŭ·¡½º ·Î´õ. ½Ã½ºÅÛ Å¬·¡½º ·Î´õ¸¦ »ç¿ëÇÏ´Â °æ¿ì, ¶Ç´Â bootstrap Ŭ·¡½º ·Î´õ·Î ½ÇÆÐÇßÀ» °æ¿ì´Â null
¹Ýȯ°ª:
ÁöÁ¤µÈ ¼­ºñ½ºÀÇ ÇÁ·Î¹ÙÀÌ´õ °´Ã¼¸¦, ÀÓÀÇÀÇ Â÷·Ê·Î »ý¼ºÇÏ´Â Iterator. ÇÁ·Î¹ÙÀÌ´õ ±¸¼ºÀÇ ÆÄÀÏÀÌ ÁöÁ¤µÈ Çü½Ä¿¡ À§¹ÝÇÏ´ÂÁö, ¶Ç´Â ÇÁ·Î¹ÙÀÌ´õ Ŭ·¡½º¸¦ °ËÃâÇØ ÀνºÅϽºÈ­ÇÒ ¼ö ¾ø´Â °æ¿ì, ¹Ýº¹ÀÚ¿¡ ÀÇÇØ Error°¡ Throw µÈ´Ù
¿¹¿Ü:
IllegalArgumentException - providerClass°¡ nullÀÎ °æ¿ì

lookupProviders

public static <T> Iterator <T> lookupProviders(Class <T> providerClass)
ÄÁÅؽºÆ® Ŭ·¡½º ·Î´õ¸¦ »ç¿ëÇØ, ÁöÁ¤µÈ ¼­ºñ½ºÀÇ »ç¿ë °¡´ÉÇÑ ÇÁ·Î¹ÙÀÌ´õ¸¦ °ËÃâÇØ ´Ü°èÀûÀ¸·Î ÀνºÅϽºÈ­ÇÕ´Ï´Ù. ÀÌ Æí¸®ÇÑ ¸Þ¼­µå´Â ´ÙÀ½ÀÇ ÁöÁ¤°ú °°½À´Ï´Ù.

   ClassLoader cl = Thread.currentThread(). getContextClassLoader();
   return Service.providers(service, cl);
 

ÆĶó¹ÌÅÍ:
providerClass - °ËÃâÁßÀÇ ¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õÀÇ Å¬·¡½º ¶Ç´Â ÀÎÅÍÆäÀ̽º¸¦ ³ªÅ¸³»´Â Class °´Ã¼
¹Ýȯ°ª:
ÁöÁ¤µÈ ¼­ºñ½ºÀÇ ÇÁ·Î¹ÙÀÌ´õ °´Ã¼¸¦, ÀÓÀÇÀÇ Â÷·Ê·Î »ý¼ºÇÏ´Â Iterator. ÇÁ·Î¹ÙÀÌ´õ ±¸¼ºÀÇ ÆÄÀÏÀÌ ÁöÁ¤µÈ Çü½Ä¿¡ À§¹ÝÇÏ´ÂÁö, ¶Ç´Â ÇÁ·Î¹ÙÀÌ´õ Ŭ·¡½º¸¦ °ËÃâÇØ ÀνºÅϽºÈ­ÇÒ ¼ö ¾ø´Â °æ¿ì, ¹Ýº¹ÀÚ¿¡ ÀÇÇØ Error°¡ Throw µÈ´Ù
¿¹¿Ü:
IllegalArgumentException - providerClass°¡ nullÀÎ °æ¿ì

getCategories

public Iterator <Class <? >> getCategories()
ÇöÀçÀÇ Ä«Å×°í¸® ¼¼Æ®¸¦ ³ªÅ¸³»´Â Class °´Ã¼ÀÇ Iterator¸¦ ¸®ÅÏÇÕ´Ï´Ù. Ä«Å×°í¸®°¡ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì, ¹Ýº¹ÀÚ´Â ºñ¾îÀÖ½À´Ï´Ù.

¹Ýȯ°ª:
Class °´Ã¼¸¦ Æ÷ÇÔÇÑ Iterator

registerServiceProvider

public <T> boolean registerServiceProvider(T provider,
                                           Class <T> category)
¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ °´Ã¼¸¦ ·¹Áö½ºÆ®¸®¿¡ Ãß°¡ÇÕ´Ï´Ù. ÇÁ·Î¹ÙÀÌ´õ´Â ÁöÁ¤µÈ Ä«Å×°í¸®¿¡ °ü·ÃÁþ°í µË´Ï´Ù.

provider°¡ RegisterableServiceÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÏ´Â °æ¿ì, onRegistration ¸Þ¼­µå°¡ È£ÃâµË´Ï´Ù. ±× onDeregistration ¸Þ¼­µå´Â Ä«Å×°í¸®ÀÇ »èÁ¦³ª ·¹Áö½ºÆ®¸®ÀÇ °¡ºñÁö Ä÷ºÆ® µî, Ä«Å×°í¸®·ÎºÎÅÍ µî·Ï ÇØÁ¦µÉ ¶§¸¶´Ù È£ÃâÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
provider - µî·ÏµÇ´Â ¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ °´Ã¼
category - ÇÁ·Î¹ÙÀÌ´õ°¡ µî·ÏµÇ´Â Ä«Å×°í¸®
¹Ýȯ°ª:
ÀÌÀü¿¡ °°Àº Ä«Å×°í¸®¿¡ °°Àº Ŭ·¡½ºÀÇ ÇÁ·Î¹ÙÀÌ´õ°¡ µî·ÏµÇÁö ¾Ê¾Ò´ø °æ¿ì´Â true
¿¹¿Ü:
IllegalArgumentException - provider°¡ nullÀÎ °æ¿ì
IllegalArgumentException - category¿¡ ´ëÀÀÇÏ´Â Ä«Å×°í¸®°¡ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì
ClassCastException - ÇÁ·Î¹ÙÀÌ´õ°¡ category·Î Á¤ÀÇµÈ Class¸¦ ±¸ÇöÇÏÁö ¾Ê´Â °æ¿ì

registerServiceProvider

public void registerServiceProvider(Object  provider)
¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ °´Ã¼¸¦ ·¹Áö½ºÆ®¸®¿¡ Ãß°¡ÇÕ´Ï´Ù. ÇÁ·Î¹ÙÀÌ´õ´Â Class¸¦ ±¸ÇöÇÏ´Â ·¹Áö½ºÆ®¸®¿¡ Á¸ÀçÇÏ´Â °¢ Ä«Å×°í¸®³»¿¡¼­ °ü·ÃÁþ°í µË´Ï´Ù.

provider°¡ RegisterableServiceÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÏ´Â °æ¿ì, onRegistration ¸Þ¼­µå°¡ µî·ÏµÇ´Â Ä«Å×°í¸® ¸¶´Ù ÇÑ ¹ø È£ÃâÇÕ´Ï´Ù. ±× onDeregistration ¸Þ¼­µå´Â Ä«Å×°í¸®·ÎºÎÅÍ µî·Ï ÇØÁ¦µÉ ¶§, ¶Ç´Â ·¹Áö½ºÆ®¸®°¡ ÆÄÀ̳ª¶óÀÌÁî µÉ ¶§¿¡ È£ÃâÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
provider - µî·ÏµÇ´Â ¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ °´Ã¼
¿¹¿Ü:
IllegalArgumentException - provider°¡ nullÀÎ °æ¿ì

registerServiceProviders

public void registerServiceProviders(Iterator <? > providers)
Iterator·Î ºÎÅÍ ¼öÁß¿¡ ³ÖÀº ÀÏ·ÃÀÇ ¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ °´Ã¼¸¦ ·¹Áö½ºÆ®¸®¿¡ Ãß°¡ÇÕ´Ï´Ù. °¢ ÇÁ·Î¹ÙÀÌ´õ´Â Class¸¦ ±¸ÇöÇÏ´Â ·¹Áö½ºÆ®¸®¿¡ Á¸ÀçÇÏ´Â °¢ Ä«Å×°í¸®³»¿¡¼­ °ü·ÃÁþ°í µË´Ï´Ù.

RegisterableServiceÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÏ´Â provider °¢ ¿£Æ®¸®ÀÇ °æ¿ì, onRegistration ¸Þ¼­µå°¡ µî·ÏµÇ´Â Ä«Å×°í¸® ¸¶´Ù ÇÑ ¹ø È£ÃâÇÕ´Ï´Ù. ±× onDeregistration ¸Þ¼­µå´Â Ä«Å×°í¸®·ÎºÎÅÍ µî·Ï ÇØÁ¦µÉ ¶§, ¶Ç´Â ·¹Áö½ºÆ®¸®°¡ ÆÄÀ̳ª¶óÀÌÁî µÉ ¶§¿¡ È£ÃâÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
providers - µî·ÏµÇ´Â ¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ °´Ã¼¸¦ Æ÷ÇÔÇÑ ¹Ýº¹ÀÚ
¿¹¿Ü:
IllegalArgumentException - providers°¡ nullÀÎÁö, null ¿£Æ®¸®¸¦ Æ÷ÇÔÇÑ °æ¿ì

deregisterServiceProvider

public <T> boolean deregisterServiceProvider(T provider,
                                             Class <T> category)
ÁöÁ¤µÈ Ä«Å×°í¸®·ÎºÎÅÍ ¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ °´Ã¼¸¦ »èÁ¦ÇÕ´Ï´Ù. ÀÌ ÇÁ·Î¹ÙÀÌ´õ°¡ ÀÌÀü¿¡ µî·ÏµÇÁö ¾ÊÀº °æ¿ì´Â ¾Æ¹«°Íµµ ½ÇÇàÇÏÁö ¾Ê°í false¸¦ ¸®ÅÏÇÕ´Ï´Ù. ±×·¸Áö ¾ÊÀº °æ¿ì´Â true¸¦ ¸®ÅÏÇÕ´Ï´Ù. provider¿Í °°Àº Ŭ·¡½ºÀÇ °´Ã¼¿©µµ provider¿Í µ¿ÀÏÇÏÁö ¾ÊÀº (==·Î ºñ±³) °æ¿ì, µî·ÏÀº ÇØÁ¦µÇÁö ¾Ê½À´Ï´Ù.

provider°¡ RegisterableServiceÀνºÅϽº¸¦ ±¸ÇöÇÏ´Â °æ¿ì, ±× onDeregistration ¸Þ¼­µå°¡ È£ÃâµË´Ï´Ù.

ÆĶó¹ÌÅÍ:
provider - µî·Ï ÇØÁ¦µÇ´Â ¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ °´Ã¼
category - ÇÁ·Î¹ÙÀÌ´õ°¡ µî·Ï ÇØÁ¦µÇ´Â Ä«Å×°í¸®
¹Ýȯ°ª:
ÇÁ·Î¹ÙÀÌ´õ°¡ ÀÌÀü¿¡ °°Àº category Ä«Å×°í¸®¿¡ µî·ÏµÇ¾úÀ» °æ¿ì´Â true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false
¿¹¿Ü:
IllegalArgumentException - provider°¡ nullÀÎ °æ¿ì
IllegalArgumentException - category¿¡ ´ëÀÀÇÏ´Â Ä«Å×°í¸®°¡ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì
ClassCastException - ÇÁ·Î¹ÙÀÌ´õ°¡ category·Î Á¤ÀÇµÈ Å¬·¡½º¸¦ ±¸ÇöÇÏÁö ¾Ê´Â °æ¿ì

deregisterServiceProvider

public void deregisterServiceProvider(Object  provider)
¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ °´Ã¼¸¦, ±×°ÍÀ» Æ÷ÇÔÇÑ ¸ðµç Ä«Å×°í¸®·ÎºÎÅÍ »èÁ¦ÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
provider - µî·Ï ÇØÁ¦µÇ´Â ¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ °´Ã¼
¿¹¿Ü:
IllegalArgumentException - provider°¡ nullÀÎ °æ¿ì

contains

public boolean contains(Object  provider)
provider°¡ ÇöÀç µî·ÏµÇ¾î ÀÖ´Â °æ¿ì´Â true¸¦ ¸®ÅÏÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
provider - Á¶È¸µÇ´Â ¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ °´Ã¼
¹Ýȯ°ª:
ÁöÁ¤µÈ ÇÁ·Î¹ÙÀÌ´õ°¡ µî·ÏÀ» ¸¶Ä£ °æ¿ì´Â true
¿¹¿Ü:
IllegalArgumentException - provider°¡ nullÀÎ °æ¿ì

getServiceProviders

public <T> Iterator <T> getServiceProviders(Class <T> category,
                                           boolean useOrdering)
ÁöÁ¤µÈ Ä«Å×°í¸®³»ÀÇ µî·ÏÀÌ ³¡³­ ¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ¸¦ ¸ðµÎ Æ÷ÇÔÇÑ Iterator¸¦ ¸®ÅÏÇÕ´Ï´Ù. useOrdering°¡ falseÀÎ °æ¿ì, ¹Ýº¹ÀÚ´Â ¸ðµç ¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ °´Ã¼¸¦ ÀÓÀÇÀÇ ¼ø¼­·Î ¸®ÅÏÇÕ´Ï´Ù. ±× ¿ÜÀÇ °æ¿ì, Â÷·Ê´Â ¼³Á¤µÈ Æä¾îÀÇ Á¤·Ä ¸ðµç °ÍÀ» ¹Ý¿µÇÕ´Ï´Ù. Æä¾îÀÇ ¼ø¼­ºÎÀÇ ±×·¡ÇÁ¿¡ »çÀÌŬÀÌ Æ÷ÇԵǴ °æ¿ì, »çÀÌŬ¿¡ ¼Ò¼ÓÇÏ´Â ÇÁ·Î¹ÙÀÌ´õ´Â ¾î´À °Íµµ µ¹·ÁÁÖ°íÁöÁö ¾Ê½À´Ï´Ù.

ÆĶó¹ÌÅÍ:
category - Ãëµæ¿øÀÇ Ä«Å×°í¸®
useOrdering - ¸®ÅÏµÈ °´Ã¼ÀÇ Â÷·Ê·Î Æä¾îÀÇ ¼ø¼­ºÎ¸¦ ¹Ý¿µÇÏ´Â °æ¿ì´Â true
¹Ýȯ°ª:
ÁöÁ¤µÈ Ä«Å×°í¸®·ÎºÎÅÍÀÇ ¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ °´Ã¼¸¦ Æ÷ÇÔÇÑ Iterator (´ëü·Î´Â ±× Â÷·Ê ´ë·Î)
¿¹¿Ü:
IllegalArgumentException - category¿¡ ´ëÀÀÇÏ´Â Ä«Å×°í¸®°¡ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì

getServiceProviders

public <T> Iterator <T> getServiceProviders(Class <T> category,
                                           ServiceRegistry.Filter  filter,
                                           boolean useOrdering)
ÁöÁ¤µÈ ServiceRegistry.Filter °´Ã¼ÀÇ filter ¸Þ¼­µå·Î ¼³Á¤µÈ ±âÁØÀ» ä¿ì´Â ÁöÁ¤µÈ Ä«Å×°í¸®³»ÀÇ ¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ °´Ã¼¸¦ Æ÷ÇÔÇÑ Iterator¸¦ ¸®ÅÏÇÕ´Ï´Ù.

useOrderingÀμö¿¡ÀÇÇØ getServiceProviders(Class, boolean)¿Í °°Àº ±ÔÄ¢À» »ç¿ëÇØ °á°úÀÇ ¼ø¼­ºÎ°¡ Á¦¾îµË´Ï´Ù.

ÆĶó¹ÌÅÍ:
category - Ãëµæ¿øÀÇ Ä«Å×°í¸®
filter - filter ¸Þ¼­µå°¡ È£ÃâµÇ´Â ServiceRegistry.FilterÀνºÅϽº
useOrdering - ¸®ÅÏµÈ °´Ã¼ÀÇ Â÷·Ê·Î Æä¾îÀÇ ¼ø¼­ºÎ¸¦ ¹Ý¿µÇÏ´Â °æ¿ì´Â true
¹Ýȯ°ª:
ÁöÁ¤µÈ Ä«Å×°í¸®·ÎºÎÅÍÀÇ ¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ °´Ã¼¸¦ Æ÷ÇÔÇÑ Iterator (´ëü·Î´Â ±× Â÷·Ê ´ë·Î)
¿¹¿Ü:
IllegalArgumentException - category¿¡ ´ëÀÀÇÏ´Â Ä«Å×°í¸®°¡ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì

getServiceProviderByClass

public <T> T getServiceProviderByClass(Class <T> providerClass)
ÇöÀç µî·ÏµÇ¾î ÀÖ´Â ÁöÁ¤µÈ Ŭ·¡½ºÇüÀÇ ÇÁ·Î¹ÙÀÌ´õ °´Ã¼¸¦ ¸®ÅÏÇÕ´Ï´Ù. ÇÑ ¹ø¿¡ µî·ÏÇÒ ¼ö Àִ ƯÁ¤ Ŭ·¡½ºÀÇ °´Ã¼´Â 1°³ »ÓÀÔ´Ï´Ù. µî·ÏµÇ¾î ÀÖ´Â °´Ã¼°¡ ¸ñÀûÀÇ Å¬·¡½ºÇüÀÌ ¾Æ´Ñ °æ¿ì´Â nullÀ» ¸®ÅÏÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
providerClass - ¸ñÀûÀ¸·Î ÇÏ´Â ¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ °´Ã¼ÀÇ Class
¹Ýȯ°ª:
ÇöÀç µî·ÏµÇ¾î ÀÖ´Â ¸ñÀûÀÇ Class ÇüÀÇ ¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ °´Ã¼. Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì´Â null
¿¹¿Ü:
IllegalArgumentException - providerClass°¡ nullÀÎ °æ¿ì

setOrdering

public <T> boolean setOrdering(Class <T> category,
                               T firstProvider,
                               T secondProvider)
ÁöÁ¤µÈ Ä«Å×°í¸®³»ÀÇ 2°³ÀÇ ¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ °´Ã¼°£ÀÇ Æä¾îÀÇ ¼ø¼­¸¦ ¼³Á¤ÇÕ´Ï´Ù. °´Ã¼ ÁßÀÇ 1°³ ¶Ç´Â ¾çÂÊ ¸ðµÎ°¡ ÁöÁ¤µÈ Ä«Å×°í¸®³»¿¡ ÇöÀç µî·ÏµÇÁö ¾ÊÀº °æ¿ì, ¶Ç´Â ¸ñÀûÀÇ ¼ø¼­°¡ ÀÌ¹Ì ¼³Á¤µÇ¾î ÀÖ´Â °æ¿ì´Â ¾Æ¹«°Íµµ ½ÇÇàÇÏÁö ¾Ê°í false¸¦ ¸®ÅÏÇÕ´Ï´Ù. ÇÁ·Î¹ÙÀÌ´õ°¡ ÀÌÀü¿¡ ¿ª¹æÇâÀ¸·Î Á¤·Ä µÇ¾úÀ» °æ¿ì, ±× ¼ø¼­´Â »èÁ¦µË´Ï´Ù.

¼ø¼­´Â useOrderingÀμö°¡ trueÀÎ °æ¿ì¿¡ getServiceProviders ¸Þ¼­µå¿¡ ÀÇÇØ »ç¿ëµË´Ï´Ù.

ÆĶó¹ÌÅÍ:
category - ¿ì¼±µµ¸¦ ¼³Á¤ÇÏ´Â Ä«Å×°í¸®¸¦ ³ªÅ¸³»´Â Class °´Ã¼
firstProvider - ¿ì¼±µÇ´Â ÇÁ·Î¹ÙÀÌ´õ
secondProvider - firstProvider°¡ ¿ì¼±µÇ´Â ÇÁ·Î¹ÙÀÌ´õ
¹Ýȯ°ª:
ÀÌÀüÀ¸·Î ¼³Á¤µÇÁö ¾Ê¾Ò´ø ¼ø¼­°¡ ¼³Á¤µÇ¾úÀ» °æ¿ì´Â true
¿¹¿Ü:
IllegalArgumentException - ÇÁ·Î¹ÙÀÌ´õ°¡ nullÀΰ¡ ¶Ç´Â °°Àº °´Ã¼ÀÇ °æ¿ì
IllegalArgumentException - category¿¡ ´ëÀÀÇÏ´Â Ä«Å×°í¸®°¡ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì

unsetOrdering

public <T> boolean unsetOrdering(Class <T> category,
                                 T firstProvider,
                                 T secondProvider)
ÁöÁ¤µÈ Ä«Å×°í¸®ÀÇ 2°³ÀÇ ¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ °´Ã¼°£ÀÇ Æä¾îÀÇ ¼ø¼­¸¦ ¼³Á¤ÇÕ´Ï´Ù. °´Ã¼ÀÇ 1°³ ¶Ç´Â ¾çÂÊ ¸ðµÎ°¡ ÁöÁ¤µÈ Ä«Å×°í¸®³»¿¡ ÇöÀç µî·ÏµÇÁö ¾ÊÀº °æ¿ì, ¶Ç´Â ±× »çÀÌÀÇ ¼ø¼­ºÎ°¡ ÇöÀç ¼³Á¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì´Â ¾Æ¹«°Íµµ ½ÇÇàÇÏÁö ¾Ê°í false¸¦ ¸®ÅÏÇÕ´Ï´Ù.

¼ø¼­´Â useOrderingÀμö°¡ trueÀÎ °æ¿ì¿¡ getServiceProviders ¸Þ¼­µå¿¡ ÀÇÇØ »ç¿ëµË´Ï´Ù.

ÆĶó¹ÌÅÍ:
category - ¿ì¼±µµÀÇ ¼³Á¤ÀÌ ÇØÁ¦µÇ´Â Ä«Å×°í¸®¸¦ ³ªÅ¸³»´Â Class °´Ã¼
firstProvider - ÀÌÀüÀÇ ¿ì¼± ÇÁ·Î¹ÙÀÌ´õ
secondProvider - firstProvider°¡ ÀÌÀü ¿ì¼±µÇ°í ÀÖ´ø ÇÁ·Î¹ÙÀÌ´õ
¹Ýȯ°ª:
ÀÌÀüÀ¸·Î ¼³Á¤µÈ ¼ø¼­ ¼³Á¤ÀÌ ÇØÁ¦µÇ¾úÀ» °æ¿ì´Â true
¿¹¿Ü:
IllegalArgumentException - ÇÁ·Î¹ÙÀÌ´õ°¡ nullÀΰ¡ ¶Ç´Â °°Àº °´Ã¼ÀÇ °æ¿ì
IllegalArgumentException - category¿¡ ´ëÀÀÇÏ´Â Ä«Å×°í¸®°¡ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì

deregisterAll

public void deregisterAll(Class <? > category)
ÇöÀç ÁöÁ¤µÈ Ä«Å×°í¸®¿¡ µî·ÏµÇ¾î ÀÖ´Â ¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ °´Ã¼¸¦ ¸ðµÎ µî·Ï ÇØÁ¦ÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
category - ºñ¿ì´Â Ä«Å×°í¸®
¿¹¿Ü:
IllegalArgumentException - category¿¡ ´ëÀÀÇÏ´Â Ä«Å×°í¸®°¡ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì

deregisterAll

public void deregisterAll()
ÇöÀç µî·ÏµÇ¾î ¸ðµç ¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ °´Ã¼¸¦, ¸ðµç Ä«Å×°í¸®·ÎºÎÅÍ µî·Ï ÇØÁ¦ÇÕ´Ï´Ù.


finalize

public void finalize()
              throws Throwable 
°¡ºñÁö Ä÷º¼ÇÀÇ Àü¿¡ ÀÌ °´Ã¼¸¦ ÆÄÀ̳ª¶óÀÌÁî ÇÕ´Ï´Ù. deregisterAll ¸Þ¼­µå¸¦ È£ÃâÇØ, ÇöÀç µî·ÏµÇ¾î ÀÖ´Â ¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ¸¦ ¸ðµÎ µî·Ï ÇØÁ¦ÇÕ´Ï´Ù. ÀÌ ¸Þ¼­µå¸¦, ¾îÇø®ÄÉÀÌ¼Ç ÄÚµå·ÎºÎÅÍ È£ÃâÇØ µÇÁö ¾Ê½À´Ï´Ù.

¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º Object ³»ÀÇ finalize
¿¹¿Ü:
Throwable - ½´ÆÛ Å¬·¡½ºÀÇ ÆÄÀ̳ª¶óÀÌÁî½Ã¿¡ ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì

JavaTM 2 Platform
Standard Ed. 5.0

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.