JavaTM 2
Platform
Std.  Ed.  v1. 4.0

java.beans
Ŭ·¡½º PersistenceDelegate

java.lang.Object 
  |
  +--java.beans.PersistenceDelegate
Á÷°èÀÇ ±âÁ¸ÀÇ ¼­ºê Ŭ·¡½º:
DefaultPersistenceDelegate

public abstract class PersistenceDelegate
extends Object

PersistenceDeligate Ŭ·¡½º´Â Ŭ·¡½ºÀÇ °ø°³ API ¿¡ Æ÷ÇԵǴ ¸Þ¼Òµå¿¡ ÀÇÇØ ÁöÁ¤ÀÇ Å¬·¡½ºÀÇ ÀνºÅϽº »óŸ¦ Ç¥ÇöÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, ÀÌ delegate ¸ðµ¨À» ä¿ëÇϰí ÀÖ´Â XMLEncoder µîÀÇ ½ºÆ®¸²Àº Áö±Ý±îÁö¿Í °°ÀÌ Áö¼Ó¼º°ú Ŭ·¡½º ÀÚü¸¦ °ü·ÃÁþ´Â ´ë½Å¿¡,ObjectOutputStream ·Î »ç¿ëµÇ´Â readObject ¸Þ¼Òµå¿Í writeObject ¸Þ¼Òµå¿¡ ÀÇÇØ, ±× µ¿ÀÛÀ» Ŭ·¡½º·ÎºÎÅÍ ¶¼¾î³» °ü¸®ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. Åë»ó, Ŭ·¡½º´Â ÀÌ delegate schema¸¦ »ç¿ëÇØ ÀÌ·¯ÇÑ Á¤º¸³ª ±Ô¾àÀ» °£´ÜÇÏ°Ô Ç¥ÇöÇϴµ¥ ÃÖÀûÀÇ Àå¼ÒÀÔ´Ï´Ù. ±×·¯³ª, ´Ü 1 °³ÀÇ Å¬·¡½º¿¡ »ç¼ÒÇÑ ¹®Á¦°¡ Æ÷ÇԵǾî ÀÖ´Â °Í¸¸À¸·Î, ¿ÀºêÁ§Æ® ±×·¡ÇÁ ÀüüÀÇ ±âÀÔÀ» ÇÒ ¼ö ¾ø°Ô µÇ´Â °æ¿ìµµ ÀÖ½À´Ï´Ù. ÀÌ °æ¿ì, ¾îÇø®ÄÉÀÌ¼Ç °³¹ßÀÚ´Â ¹®Á¦ÀÇ ¹ß»ýÇϰí Àִ Ŭ·¡½ºÀÇ ±×¸²ÀÚ¸¦ ·ÎÄ÷Πµ¶ÀÚÀûÀ¸·Î ÀÛ¼ºÇÏ´ÂÁö Áö¼Ó¼ºÀ» À¯ÁöÇϱâ À§ÇÑ ±× ¿ÜÀÇ ¼ö¹ýÀ» »Ì°Ô µË´Ï´Ù. ÀÌ·¯ÇÑ »óȲÀ¸·Î ÀÌ delegate ¸ðµ¨À» ÀÌ¿ëÇϸé, ¾îÇø®ÄÉÀÌ¼Ç °³¹ßÀÚ´Â ¾îÇø®ÄÉÀÌ¼Ç ÀÚü¿¡´Â Æ÷ÇÔµÇÁö ¾Ê´Â Ŭ·¡½ºÀÇ ±¸ÇöÀ¸·Î º¯°æÀ» ´õÇÏ´Â ÀÏ ¾øÀÌ, ºñ±³Àû ±ú²ýÇÑ ¹æ¹ýÀ¸·Î Á÷·ÄÈ­ ó¸®ÀÇ ¸ðµç ±¹¸éÀ» Á¦¾îÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.

ÀÌ Áö¼Ó schema´Â delegate ¸ðµ¨À» »ç¿ëÇÑ´Ù°í ÇÏ´Â Á¡ »Ó¸¸ÀÌ ¾Æ´Ï¶ó, ´ëÀÀÇÏ´Â readObject ¸Þ¼Òµå¾øÀÌ writeObject ¸Þ¼ÒµåÀÇ ¾Æ³¯·Î±×¸¦ ¿ä±¸ÇÑ´Ù°í ÇÏ´Â Á¡¿¡¼­µµ, Á¾·¡ÀÇ Á÷·ÄÈ­ schema¿Í´Â ´Ù¸¨´Ï´Ù. writeObject ¸Þ¼ÒµåÀÇ ¾Æ³¯·Î±×´Â °ø°³ API ¸¦ »ç¿ëÇØ °³°³ÀÇ ÀνºÅϽº¸¦ ÄÚµåÈ­ÇÕ´Ï´Ù. Á÷·ÄÈ­ µÈ ÆûÀÇ µ¶ÇØ ¼ö¼ÓÀº Java ¾ð¾î »ç¾ç¿¡ ±â·ÏµÇ°í ÀÖ´Â ´ë·Î, ¸Þ¼Òµå È£ÃâÀÇ ½Ã¸àƽ½º¿¡ ÀÇÇØ Á¤Àǵǰí ÀÖ±â (À§ÇØ)¶§¹®¿¡,readObject ¸Þ¼ÒµåÀÇ ¾Æ³¯·Î±×¸¦ Á¤ÀÇÇÒ ÇÊ¿ä´Â ¾ø½À´Ï´Ù. ÀÌ ¼ö¹ýÀ¸·Î ÀÛ¼ºµÈ ¾îÄ«À̺ê(archive)°¡ ÂüÁ¶Ã³ Ŭ·¡½ºÀÇ ºñ°ø°³ ±¸ÇöÀÇ º¯°æÀÇ ¿µÇâÀ» ¹ÞÁö ¾Ê°Ô ÇÏ·Á¸é , ¹öÁ¯ ¸¶´Ù º¯È­ÇÑ´Ù°í »ý°¢µÇ´Â writeObject ¿Í readObject ÀÇ ±¸ÇöÀÇ ÀÇÁ¸°ü°è(dependencies)À» Á¦°ÅÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.

ÀÌÇÏ¿Í °°ÀÌ, Áö¼ÓÀûÀÎ Delegate´Â ¿ÀºêÁ§Æ®ÀÇ Áö¼Ó¼º¿¡ °üÇÑ ¸ðµç ±¹¸éÀ» Á¦¾îÇÕ´Ï´Ù.

µµÀÔµÈ ¹öÁ¯:
1.4
°ü·Ã Ç׸ñ:
XMLEncoder

»ý¼ºÀÚÀÇ °³¿ä
PersistenceDelegate ()
           
 
¸Þ¼ÒµåÀÇ °³¿ä
protected  void initialize (Class  type, Object  oldInstance, Object  newInstance, Encoder  out)
          newInstance ¿¡ ´ëÇØ¼­, »õ·Î¿î ÀνºÅϽº°¡ oldInstance ¿Í ¡¸µî°¡¡¹°¡ µÈ´Ù°í ÇÏ´Â ºÎÀÛ¿ëÀ» ¹ÌÄ¡´Â ÀÏ·ÃÀÇ ¹®ÀåÀ» »ý¼ºÇÕ´Ï´Ù.
protected abstract  Expression instantiate (Object  oldInstance, Encoder  out)
          °ª oldInstance ¸¦ °¡Áö´Â ½ÄÀ» µ¹·ÁÁÝ´Ï´Ù.
protected  boolean mutatesTo (Object  oldInstance, Object  newInstance)
          newInstance ¿¡ ÀÏ·ÃÀÇ ¹®ÀåÀ» Àû¿ëÇÏ´Â °ÍÀ¸·Î½á oldInstance ¿Í µî°¡ÀÇ Ä«ÇǸ¦ ÀÛ¼ºÇÒ ¼ö ÀÖ´Â °æ¿ì´Â true ¸¦ µ¹·ÁÁÝ´Ï´Ù.
 void writeObject (Object  oldInstance, Encoder  out)
          writeObject ´Â Áö¼Ó¼ºÀ» ½ÇÇöÇÏ´Â À¯ÀÏÇÑ ¼ö´ÜÀ¸·Î¼­Encoder ¿¡ ÀÇÇØ, Á¾·¡ÀÇ delegate ¸ðµå·Î »ç¿ëµË´Ï´Ù.
 
Ŭ·¡½º java.lang. Object ¿¡¼­ »ó¼Ó¹ÞÀº ¸Þ¼Òµå
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

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

PersistenceDelegate

public PersistenceDelegate()
¸Þ¼ÒµåÀÇ »ó¼¼

writeObject

public void writeObject(Object  oldInstance,
                        Encoder  out)
writeObject ´Â Áö¼Ó¼ºÀ» ½ÇÇöÇÏ´Â À¯ÀÏÇÑ ¼ö´ÜÀ¸·Î¼­Encoder ¿¡ ÀÇÇØ, Á¾·¡ÀÇ delegate ¸ðµå·Î »ç¿ëµË´Ï´Ù. ÀÌ ¸Þ¼Òµå´Â ÆÄÀ̳ÎÀÌ ¾Æ´Õ´Ï´Ù¸¸, Åë»ó, ¼­ºê Ŭ·¡½ºÈ­ÀÇ ÇÊ¿ä´Â ¾ø½À´Ï´Ù.

ÀÌ ±¸ÇöÀº ÃÖÃÊ·Î, ½ºÆ®¸²ÀÌ ¹ú½á ÀÌ ¿ÀºêÁ§Æ®¸¦ °ËÃâÇϰí ÀÖÀ»Áö ¾î¶³Áö¸¦ È®ÀÎÇÕ´Ï´Ù. ´ÙÀ½¿¡, ½ºÆ®¸²À¸·ÎºÎÅÍ µ¹·ÁÁÖ¾îÁø È帰¡ oldInstance ÀÇ Á¤È®ÇÑ Ä«ÇÇ·Î º¯°æ °¡´ÉÇѰ¡ ¾î¶²°¡¸¦ È®ÀÎÇϱâ À§ÇØ(¶§¹®¿¡),mutatesTo ¸Þ¼Òµå°¡ ºÒ·Á °©´Ï´Ù. º¯°æ °¡´ÉÇÑ °æ¿ì,initialize ¸Þ¼Òµå°¡ ºÒ·Á °¡ ÃʱâÈ­¸¦ ÇÕ´Ï´Ù. º¯°æÇÒ ¼ö ¾ø´Â °æ¿ì, È帴 ½ºÆ®¸²À¸·ÎºÎÅÍ »èÁ¦µÇ¾îinstantiate ¸Þ¼ÒµåÀÇ È£Ãâ¿¡ ÀÇÇØ, ÀÌ ¿ÀºêÁ§Æ®ÀÇ »õ·Î¿î È帰¡ ÀÛ¼ºµË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
oldInstance - ÀÌ ½Ä¿¡¼­ ÀÛ¼ºµÇ´Â ÀνºÅϽº
out - ÀÌ ½ÄÀÌ ±âÀÔÇØÁö´Â ½ºÆ®¸²
¹Ýȯ°ª:
Ä¡ oldInstance ¸¦ °¡Áö´Â ½Ä

mutatesTo

protected boolean mutatesTo(Object  oldInstance,
                            Object  newInstance)
newInstance ¿¡ ÀÏ·ÃÀÇ ¹®ÀåÀ» Àû¿ëÇÏ´Â °ÍÀ¸·Î½á oldInstance ¿Í µî°¡ÀÇ Ä«ÇǸ¦ ÀÛ¼ºÇÒ ¼ö ÀÖ´Â °æ¿ì´Â true ¸¦ µ¹·ÁÁÝ´Ï´Ù. ÀÌ ¸Þ¼ÒµåÀÇ »ç¾ç¿¡¼­´Â °ø°³ API ¿¡ Æ÷ÇԵǾî ÀÖ´Â °ü·Ã ¸Þ¼ÒµåÀÇ µ¿ÀÛÀ» ºñ±³ÇßÀ» ¶§, º¯°æ ÈÄÀÇ ÀνºÅϽº¿Í oldInstance ¸¦ ±¸º°ÇÒ ¼ö ¾ø´Â °æ¿ì¿¡, À̰͵éÀ» ¡¸µî°¡ÀÌ´Ù¡¹¶ó°í ÇÕ´Ï´Ù. µ¡ºÙ¿© ¿©±â¿¡¼­´Â ÀüÇô ºÐº°ÀÌ µÇÁö ¾Ê´Â Ä«ÇǸ¦ »ý¼ºÇÏ´Â °ÍÀ» ¹æÇØÇÏ´Â hashCode ³ª toString ¿Í °°Àº ¸Þ¼Òµå°¡ ÀÖ´Â °ÍÀ» °í·ÁÇØ, ¡¸¸ðµç ¸Þ¼Òµå¡¹¶ó°í Çϴ ǥÇöÀº ¾Æ´Ï°í ¡¸°ü·Ã ¸Þ¼Òµå¡¹¶ó°í Çϴ ǥÇöÀ» »ç¿ëÇϰí ÀÖ½À´Ï´Ù.

2 °³ÀÇ ÀνºÅϽºÀÇ Å¬·¡½º°¡ °°Àº °æ¿ì´Â µðÆúÆ®·Î true °¡ µ¹·ÁÁÖ¾îÁý´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
oldInstance - Ä«ÇǵǴ ÀνºÅϽº
newInstance - º¯°æµÇ´Â ÀνºÅϽº
¹Ýȯ°ª:
oldInstance ·Î ÀÏ·ÃÀÇ º¯°æÀ» Àû¿ëÇÏ´Â °Í¿¡ ÀÇÇØ,newInstance ¿Í µî°¡ÀÇ Ä«ÇǸ¦ ÀÛ¼ºÇÒ ¼ö ÀÖ´Â °æ¿ì true

instantiate

protected abstract Expression  instantiate(Object  oldInstance,
                                          Encoder  out)
°ª oldInstance ¸¦ °¡Áö´Â ½ÄÀ» µ¹·ÁÁÝ´Ï´Ù. ÀÌ ¸Þ¼Òµå¸¦ »ç¿ëÇØ, ÁöÁ¤ÀÇ ¿ÀºêÁ§Æ®ÀÇ ÀÛ¼º¿¡ »ç¿ëÇÏ´Â constructor ¶Ç´Â ÆÑÅ丮 ¸Þ¼ÒµåÀÇ Æ¯Â¡À» ±â¼úÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î,Field Ŭ·¡½ºÀÇ Áö¼ÓÀûÀÎ DelegateÀÇ instantiate ¸Þ¼Òµå´Â ´ÙÀ½°ú °°ÀÌ Á¤Àǵ˴ϴÙ.
 Field f = (Field) oldInstance;
 return new Expression(f, f.getDeclaringClass(), "getField", new Object[]{f.getName()});
 
µ¹·ÁÁÖ¾îÁö´Â ½ÄÀÇ °ªÀ» ¼±¾ðÇϰí ÀÖ±â (À§ÇØ)¶§¹®¿¡, ½ÄÀÇ °ªÀº (getValue ·ÎºÎÅÍ µ¹·ÁÁÖ¾îÁö´Â °ª°ú °°°Ô) oldInstance ¿Í µ¿ÀÏÇÏ°Ô µË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
oldInstance - ÀÌ ½Ä¿¡¼­ ÀÛ¼ºµÇ´Â ÀνºÅϽº
out - ÀÌ ½ÄÀÌ ±âÀÔÇØÁö´Â ½ºÆ®¸²
¹Ýȯ°ª:
Ä¡ oldInstance ¸¦ °¡Áö´Â ½Ä

initialize

protected void initialize(Class  type,
                          Object  oldInstance,
                          Object  newInstance,
                          Encoder  out)
newInstance ¿¡ ´ëÇØ¼­, »õ·Î¿î ÀνºÅϽº°¡ oldInstance ¿Í ¡¸µî°¡¡¹°¡ µÈ´Ù°í ÇÏ´Â ºÎÀÛ¿ëÀ» ¹ÌÄ¡´Â ÀÏ·ÃÀÇ ¹®ÀåÀ» »ý¼ºÇÕ´Ï´Ù. ÀÌ ¸Þ¼ÒµåÀÇ »ç¾ç¿¡¼­´Â ¸Þ¼Òµå·ÎºÎÅÍ °ªÀÌ µ¹·ÁÁÖ¾îÁø µÚ, °ø°³ API ¿¡ Æ÷ÇԵǴ ¸ðµç ¸Þ¼ÒµåÀÇ µ¿ÀÛÀ» ºñ±³ÇßÀ» ¶§, º¯°æ ³¡³­ ÀνºÅϽº¿Í newInstance ¸¦ ±¸º°ÇÒ ¼ö ¾ø´Â °æ¿ì¿¡, À̰͵éÀ» ¡¸µî°¡ÀÌ´Ù¡¹¶ó°í ÇÕ´Ï´Ù.

Åë»ó, ±¸ÇöÀº oldInstance ¿Í ±× °ø°³ °¡´É »óÅ ¿Ü¿¡, ¹«¾ùÀÌ ÀϾ´ÂÁö¸¦ ³ªÅ¸³»´Â ÀÏ·ÃÀÇ ¹®ÀåÀ» »ý¼ºÇÏ´Â °ÍÀ¸·Î½á, ÀÌ ¸ñÀûÀ» ´Þ¼ºÇÕ´Ï´Ù. ÀÌ·¯ÇÑ ¹®ÀåÀº µ¶Çؽÿ¡ ÀÔ·Â ½ºÆ®¸² »óŸ¦ ½Ã¹Ä·¹ÀÌÆ® ÇÏ´Â º¹Á¦µÈ ȯ°æÀÇ ¿ä¼Ò°¡ Æ÷ÇÔµÈ ½ÄÀ» µ¹·ÁÁÖ´Â writeExpression ¸Þ¼Òµå¿¡ ÀÇÇØ, Ãâ·Â ½ºÆ®¸²¿¡ ¼Û½ÅµË´Ï´Ù. µ¹·ÁÁÖ¾îÁö´Â °¢ ¹®Àº ³°Àº ȯ°æÀÇ ¸ðµç ÀνºÅϽº¸¦ »õ·Î¿î ȯ°æÀÇ ¿ÀºêÁ§Æ®·Î ¿Å°Ü³õ½À´Ï´Ù. ƯÈ÷, ÀÌ·¯ÇÑ ¹®ÀåÀÇ Å¸°ÙÀÇ ÂüÁ¶ (óÀ½Àº oldInstance ¿¡ÀÇ ÂüÁ¶)´Â newInstance ÀÇ ÂüÁ¶·Î¼­ µ¹·ÁÁÖ¾îÁý´Ï´Ù. ÀÌ·¯ÇÑ ¹®ÀåÀ» ½ÇÇàÇϸé(ÀÚ), »õ·Î¿î ȯ°æÀÇ ¿ÀºêÁ§Æ®·Î º¯°æÀÌ ´õÇØÁö´Â °Í°ú µ¿½Ã¿¡, 2 °³ÀÇ ¿ÀºêÁ§Æ® »óŰ¡ ¼­¼­È÷ °¡±î¿öÁ® °©´Ï´Ù. Initialize ¸Þ¼Òµå°¡ µ¹·ÁÁÖ¾îÁú ¶§´Â °ø°³ API ·Î 2 °³ÀÇ ÀνºÅϽº¸¦ ±¸º°ÇÒ ¼ö ¾ø°Ô µÇ°í ÀÖÀ» °ÍÀÔ´Ï´Ù. ¹«¾ùº¸´Ù Áß¿äÇÑ °ÍÀº ÀÌ·¯ÇÑ ¿ÀºêÁ§Æ®¸¦ µî°¡·Î ÇÏ´Â ¼ö¼ÓÀÌ Ãâ·Â ½ºÆ®¸²¿¡ ÀÇÇØ ±â·ÏµÇ¾î ½ºÆ®¸²ÀÇ Ç÷¡½Ã½Ã¿¡ ½ÇÁ¦ÀÇ Ãâ·ÂÀ» Çü¼ºÇÑ´Ù°í ÇÏ´Â Á¡ÀÔ´Ï´Ù.

µðÆúÆ® ±¸ÇöÀº ÇüÅÂÀÇ ½´ÆÛ Ŭ·¡½ºÀÇ initialize ¸Þ¼Òµå¸¦ È£ÃâÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
oldInstance - Ä«ÇǵǴ ÀνºÅϽº
newInstance - º¯°æµÇ´Â ÀνºÅϽº
out - ÃʱâÈ­¹®ÀÌ ±âÀÔÇØÁö´Â ½ºÆ®¸²

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.