JavaTM 2 Platform
Standard Ed. 5.0

java.beans
Ŭ·¡½º PersistenceDelegate

java.lang.Object 
  »óÀ§¸¦ È®Àå java.beans.PersistenceDelegate
¾Ë·ÁÁø Á÷°è ¼­ºê Ŭ·¡½º:
DefaultPersistenceDelegate

public abstract class PersistenceDelegate
extends Object

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

ÀÌ Áö¼Ó schema´Â À§¾ç ¸ðµ¨À» »ç¿ëÇÑ´Ù°í ÇÏ´Â Á¡ »Ó¸¸ÀÌ ¾Æ´Ï¶ó, ´ëÀÀÇÏ´Â readObject ¸Þ¼­µå¾øÀÌ writeObject ¸Þ¼­µåÀÇ ¾Æ³¯·Î±×¸¦ ¿ä±¸ÇÑ´Ù°í ÇÏ´Â Á¡¿¡¼­µµ, Á¾·¡ÀÇ Á÷·ÄÈ­ schema¿Í´Â ´Ù¸¨´Ï´Ù. writeObject ¸Þ¼­µåÀÇ ¾Æ³¯·Î±×´Â °ø°³ API¸¦ »ç¿ëÇØ °³°³ÀÇ ÀνºÅϽº¸¦ encode ÇÕ´Ï´Ù. Á÷·ÄÈ­ µÈ ÆûÀÇ read ¼ö¼ÓÀº 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¿¡ ÀÇÇØ Á¾·¡ÀÇ À§¾ç ¸ðµå·Î »ç¿ëµË´Ï´Ù.
 
Ŭ·¡½º 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¿¡ ÀÇÇØ Á¾·¡ÀÇ À§¾ç ¸ðµå·Î »ç¿ëµË´Ï´Ù. ÀÌ ¸Þ¼­µå´Â ÆÄÀ̳ÎÀÌ ¾Æ´Õ´Ï´Ù¸¸, º¸Åë, »ó¼ÓÀÇ ÇÊ¿ä´Â ¾ø½À´Ï´Ù.

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

ÆĶó¹ÌÅÍ:
oldInstance - ÀÌ ½Ä¿¡¼­ ÀÛ¼ºµÇ´Â ÀνºÅϽº
out - ÀÌ ½ÄÀÌ Ãâ·ÂÇØÁö´Â ½ºÆ®¸²

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

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

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

JavaTM 2 Platform
Standard Ed. 5.0

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