JavaTM 2
Platform
Std.  Ed.  v1. 4.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

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

»ý¼ºÀÚÀÇ »ó¼¼

ServiceRegistry

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

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

lookupProviders

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

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

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

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

lookupProviders

public static Iterator  lookupProviders(Class  providerClass)
¹®¸Æ Ŭ·¡½º ·Î´õ¸¦ »ç¿ëÇØ, ÁöÁ¤µÈ ¼­ºñ½ºÀÇ »ç¿ë °¡´ÉÇÑ ÇÁ·Î¹ÙÀÌ´õ¸¦ °ËÃâÇØ ´Ü°èÀûÀ¸·Î ÀνºÅϽºÈ­ÇÕ´Ï´Ù. ÀÌ Æí¸®ÇÑ ¸Þ¼Òµå´Â ´ÙÀ½ÀÇ ÁöÁ¤°ú °°½À´Ï´Ù.
   ClassLoader cl = Thread.currentThread(). getContextClassLoader();
   return Service.providers(service, cl);
 

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

getCategories

public Iterator  getCategories()
ÇöÀçÀÇ Ä«Å×°í¸® ¼¼Æ®¸¦ ³ªÅ¸³»´Â Class ¿ÀºêÁ§Æ®ÀÇ Iterator ¸¦ µ¹·ÁÁÝ´Ï´Ù. Ä«Å×°í¸®°¡ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì, ¹Ýº¹ÀÚ´Â ÇÏ´ÃÀÔ´Ï´Ù.

¹Ýȯ°ª:
Class ¿ÀºêÁ§Æ®¸¦ Æ÷ÇÔÇÑ Iterator

registerServiceProvider

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

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

getServiceProviders

public Iterator  getServiceProviders(Class  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 Object  getServiceProviderByClass(Class  providerClass)
ÇöÀç µî·ÏµÇ¾î ÀÖ´Â ÁöÁ¤µÈ Ŭ·¡½ºÇüÀÇ ÇÁ·Î¹ÙÀÌ´õ ¿ÀºêÁ§Æ®¸¦ µ¹·ÁÁÝ´Ï´Ù. ÇÑ ¹ø¿¡ µî·ÏÇÒ ¼ö Àִ ƯÁ¤ Ŭ·¡½ºÀÇ ¿ÀºêÁ§Æ®´Â 1 °³ »ÓÀÔ´Ï´Ù. µî·ÏµÇ¾î ÀÖ´Â ¿ÀºêÁ§Æ®°¡ ¸ñÀûÀÇ Å¬·¡½ºÇüÀÌ ¾Æ´Ñ °æ¿ì´Â null ¸¦ µ¹·ÁÁÝ´Ï´Ù.

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

setOrdering

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

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

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

unsetOrdering

public boolean unsetOrdering(Class  category,
                             Object  firstProvider,
                             Object  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
Std.  Ed.  v1. 4.0

¹ö±×ÀÇ º¸°í¿Í ±â´ÉÀÇ ¸®Äù½ºÆ®
ÀÌ¿ÜÀÇ API ·¹ÆÛ·±½º ¹× °³¹ßÀÚ¿ë ¹®¼­¿¡ ´ëÇØ¼­´Â Java 2 SDK SE °³¹ßÀÚ¿ë ¹®¼­¸¦ ÂüÁ¶ÇØ ÁÖ¼¼¿ä. °³¹ßÀÚÀü¿ëÀÇ »ó¼¼ÇÑ ÇØ¼³, °³³äÀÇ °³¿ä, ¿ë¾îÀÇ Á¤ÀÇ, ¹ö±×ÀÇ È¸ÇÇÃ¥, ¹× ÄÚµå ½Ç·Ê°¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù.

Java, Java 2 D, ¹× JDBC ´Â ¹Ì±¹ ¹× ±× ¿ÜÀÇ ³ª¶ó¿¡ À־ÀÇ ¹Ì±¹ Sun Microsystems, Inc. ÀÇ »óÇ¥ ȤÀº µî·Ï»óÇ¥ÀÔ´Ï´Ù.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.