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 µµ ÂüÁ¶ÇϽʽÿÀ.