org.wegra.util.multicast
Class Multicaster

java.lang.Object
  extended byorg.wegra.util.multicast.Multicaster
All Implemented Interfaces:
Subscriber

public class Multicaster
extends java.lang.Object
implements Subscriber

Multicaster Ŭ·¡½º¸¦ ( AWTEventMulticaster ÀÇ ¹æ¹ýÀ» µµÀÔÇØ) "±¸µ¶ÀÚ"ÀÇ ¸®½ºÆ®¸¦ ºñ±³Àû ª°Ô °ü¸®ÇÏ´Â È¿À²ÀûÀÎ ¹æ¹ýÀ» Á¦°øÇØÁØ´Ù.

°¢ Multicaster °´Ã¼´Â µÎ °³ÀÇ "Subscriber" °´Ã¼¸¦ ÂüÁ¶ÇÒ ¼ö ÀÖÀ¸¸ç ÀÌ Áß Çϳª ȤÀº µÑ ´Ù ¶Ç ´Ù¸¥ Multicaster°¡ µÉ ¼ö ÀÖ´Ù.
"Ãâ°£" ¸Þ½ÃÁö´Â °¡Àå ÃÖ»óÀ§ÀÇ Multicaster¿¡°Ô °Ç³×Áö¸ç ÃÖ»óÀ§ ¸ÖƼ ij½ºÅͷκÎÅÍ ÀÚ½ÅÀÌ ÂüÁ¶ÇÏ´Â ±¸µ¶ÀÚ¿¡°Ô Àç±ÍÀûÀ¸·Î "Ãâ°£"¸Þ½ÃÁö°¡ ÀüÇØÁö°Ô µÈ´Ù.

Multicaster´Â ºÒº¯°´Ã¼À̹ǷΠ±× °ªÀ» ¼öÁ¤ÇÒ ¼ö ¾ø´Ù.
¿¹¸¦ µé¾î, "add()" ¸Þ¼Òµå¸¦ È£ÃâÇÒ ¶§ µÎ °³ÀÇ Multicaster¸¦ ³Ñ±â¸é ¿ø·¡ÀÇ µÎ ¸ÖƼ ij½ºÅ͸¦ øÁ¶ÇÏ´Â »õ·Î¿î ±¸µ¶ÀÚ°¡ ¹ÝȯµÈ´Ù.
ÀÌ·± ÀÌÀ¯·Î ÀÎÇÏ¿© add()°¡ ½ÇÇàµÉ ¶§ ÁøÇà ÁßÀ̾ú´ø ÅëÁö´Â add()ÀÇ ¿µÇâÀ» ¹ÞÁö ¾Ê´Â´Ù.
µû¶ó¼­, ¾î¶² ½º·¹µå°¡ ÅëÁö¸¦ ÁøÇà ÁßÀÎ ¶§¿¡µµ ´Ù¸¥ ½º·¹µå¿¡¼­´Â ÀÚÀ¯·Ó°Ô ¸ÖƼij½ºÅÍ¿¡ ¿ø¼Ò¸¦ Áý¾î³Ö°Å³ª »©³¾ ¼ö ÀÖ´Ù.
±¸µ¶Àڵ鿡°Ô ÅëÁö°¡ °¡´Â ¼ø¼­´Â Á¤ÇØÁ® ÀÖÁö ¾Ê´Ù.

Version:
1.0 (2001-08-03)
Author:
wegra (Bok-Youn Lee)
See Also:
AWTEventMulticaster, Subscriber

Nested Class Summary
static class Multicaster.Test
          Å×½ºÆ®¿ë Ŭ·¡½º
 
Method Summary
static Subscriber add(Subscriber a, Subscriber b)
          »õ·Î¿î ±¸µ¶ÀÚ¸¦ ¸®½ºÆ®¿¡ Ãß°¡ÇÑ´Ù.
 void execute(java.lang.Object publication)
          ¸ÖƼ ij½ºÅÍ¿¡°Ô ±¸µ¶ÀÚµéÀÌ publicationÀ» ¹ÞÀ» ¼ö ÀÖµµ·Ï ¿äûÇÑ´Ù.
static Subscriber remove(Subscriber list, Subscriber target)
          ¸®½ºÆ®·ÎºÎÅÍ ÁöÁ¤µÈ ±¸µ¶ÀÚ¸¦ Á¦°ÅÇÑ´Ù.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

add

public static Subscriber add(Subscriber a,
                             Subscriber b)
»õ·Î¿î ±¸µ¶ÀÚ¸¦ ¸®½ºÆ®¿¡ Ãß°¡ÇÑ´Ù. ÀÌ ¸Þ¼ÒµåÀÇ È°¿ë ¹æ½Ä¿¡ µû¶ó ±¸µ¶ÀÚ·ÎÀÇ ÅëÁö ¼ø¼­°¡ ´Þ¶óÁø´Ù(execute(Object) Âü°í). ÀÌ ¸Þ¼Òµå¸¦ È£ÃâÇÏ´Â Ãø¿¡¼­´Â ÀûÀýÇÏ°Ô µ¿±âÈ­¸¦ ÇØÁÖ¾î¾ß Çϴµ¥ ÀÌ´Â add() °¡ ¹ÝȯÇÑ °ªÀÌ ¸®½ºÆ®ÀÇ Çìµå ÂüÁ¶ÀÚ·Î ÇÒ´çµÇ±â Àü¿¡ ´Ù¸¥ ½º·¹µå°¡ Á¦¾î±ÇÀ» °¡Á®°¥ ¼ö Àֱ⠶§¹®ÀÌ´Ù.

Parameters:
a - ÀϹÝÀûÀ¸·Î ¸®½ºÆ®ÀÇ ¸Ó¸®¸¦ °¡¸®Å°´Â ãÁ¶ÀÚ°¡ µÈ´Ù.
b - ÀϹÝÀûÀ¸·Î ¸®½ºÆ®¿¡ »õ·Î Ãß°¡ÇÑ ±¸µ¶ÀÚ°¡ µÈ´Ù.

execute

public void execute(java.lang.Object publication)
¸ÖƼ ij½ºÅÍ¿¡°Ô ±¸µ¶ÀÚµéÀÌ publicationÀ» ¹ÞÀ» ¼ö ÀÖµµ·Ï ¿äûÇÑ´Ù. Áï, Ãâ°£À» ¿äûÇÑ´Ù. ±¸µ¶ÀÚµéÀÌ ÅëÁö¸¦ ¹Þ´Â ¼ø¼­´Â Á¤ÇØÁ® ÀÖÁö ¾Ê´Ù. ÇÏÁö¸¸ ¸¸¾à ¼ø¼­´ë·Î ÅëÁöÇϱ⸦ ¿øÇÑ´Ù¸é ¸ðµç °æ¿ì¿¡ ´ÙÀ½°ú °°ÀÌ ³ëµå¸¦ Ãß°¡ÇØÁÖ¸é µÈ´Ù. subscriberList = Multicater.add( SubscriptionList, newNode); ( subscriberList ´Â ¸®½ºÆ®ÀÇ Çìµå¿¡ ´ëÇÑ ÂüÁ¶ÀÚÀ̸ç newNode ´Â Ãß°¡ÇÑ ³ëµå¿¡ ´ëÇÑ ÂüÁ¶ÀÚÀÌ´Ù) ÀÌ·¸°Ô Çϸé Ãß°¡µÈ ¼ø¼­´ë·Î ÅëÁö°¡ °¡°Ô µÈ´Ù. ³ëµå¸¦ Á¦°ÅÇÑ´Ù°í ÇØµµ ÅëÁöÀÇ ¼ø¼­´Â ¹Ù²îÁö ¾Ê´Â´Ù. subscriptionList = Multicaster.add( newNode, subscriptionList ); ÀÌ·¸°Ô Çϸé ÅëÁöÀÇ ¼ø¼­µµ ¹Ù²î°Ô µÈ´Ù.

Specified by:
execute in interface Subscriber

remove

public static Subscriber remove(Subscriber list,
                                Subscriber target)
¸®½ºÆ®·ÎºÎÅÍ ÁöÁ¤µÈ ±¸µ¶ÀÚ¸¦ Á¦°ÅÇÑ´Ù. Ãß°¡ÇÒ ¶§¿Í ¸¶Âù°¡Áö·Î remove()°¡ ¹ÝȯÇÑ °ªÀÌ À̽ºÆ®ÀÇ Çìµå ÂüÁ¶ÀÚ·Î ÇÒ´çµÇ±â Àü¿¡ ´Ù¸¥ ½º·¹µå°¡ Á¦¾î±ÇÀ» °¡Á®°¡Áö ¾Êµµ·Ï Çϱâ À§Çؼ­ ÀÌ ¸Þ¼Òµå¸¦ ÀûÀýÇÏ°Ô µ¿±âÈ­ÇØ¼­ »ç¿ëÇØ¾ß ÇÑ´Ù.