|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
ÀüÀÇ Å¬·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ | ||||||||||
°³¿ä: »óÀÚ | Çʵå | constructor | ¸Þ¼Òµå | »ó¼¼: Çʵå | constructor | ¸Þ¼Òµå |
java.lang.Object | +--java.beans.PersistenceDelegate
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´Â ¿ÀºêÁ§Æ®ÀÇ Áö¼Ó¼º¿¡ °üÇÑ ¸ðµç ±¹¸éÀ» Á¦¾îÇÕ´Ï´Ù.
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 |
»ý¼ºÀÚÀÇ »ó¼¼ |
public PersistenceDelegate()
¸Þ¼ÒµåÀÇ »ó¼¼ |
public void writeObject(Object oldInstance, Encoder out)
writeObject
´Â Áö¼Ó¼ºÀ» ½ÇÇöÇÏ´Â À¯ÀÏÇÑ ¼ö´ÜÀ¸·Î¼Encoder
¿¡ ÀÇÇØ, Á¾·¡ÀÇ delegate ¸ðµå·Î »ç¿ëµË´Ï´Ù. ÀÌ ¸Þ¼Òµå´Â ÆÄÀ̳ÎÀÌ ¾Æ´Õ´Ï´Ù¸¸, Åë»ó, ¼ºê Ŭ·¡½ºÈÀÇ ÇÊ¿ä´Â ¾ø½À´Ï´Ù.
ÀÌ ±¸ÇöÀº ÃÖÃÊ·Î, ½ºÆ®¸²ÀÌ ¹ú½á ÀÌ ¿ÀºêÁ§Æ®¸¦ °ËÃâÇϰí ÀÖÀ»Áö ¾î¶³Áö¸¦ È®ÀÎÇÕ´Ï´Ù. ´ÙÀ½¿¡, ½ºÆ®¸²À¸·ÎºÎÅÍ µ¹·ÁÁÖ¾îÁø È帰¡ oldInstance
ÀÇ Á¤È®ÇÑ Ä«ÇÇ·Î º¯°æ °¡´ÉÇѰ¡ ¾î¶²°¡¸¦ È®ÀÎÇϱâ À§ÇØ(¶§¹®¿¡),mutatesTo
¸Þ¼Òµå°¡ ºÒ·Á °©´Ï´Ù. º¯°æ °¡´ÉÇÑ °æ¿ì,initialize
¸Þ¼Òµå°¡ ºÒ·Á °¡ Ãʱâȸ¦ ÇÕ´Ï´Ù. º¯°æÇÒ ¼ö ¾ø´Â °æ¿ì, È帴 ½ºÆ®¸²À¸·ÎºÎÅÍ »èÁ¦µÇ¾îinstantiate
¸Þ¼ÒµåÀÇ È£Ãâ¿¡ ÀÇÇØ, ÀÌ ¿ÀºêÁ§Æ®ÀÇ »õ·Î¿î È帰¡ ÀÛ¼ºµË´Ï´Ù.
oldInstance
- ÀÌ ½Ä¿¡¼ ÀÛ¼ºµÇ´Â ÀνºÅϽºout
- ÀÌ ½ÄÀÌ ±âÀÔÇØÁö´Â ½ºÆ®¸²
oldInstance
¸¦ °¡Áö´Â ½Äprotected boolean mutatesTo(Object oldInstance, Object newInstance)
newInstance
¿¡ ÀÏ·ÃÀÇ ¹®ÀåÀ» Àû¿ëÇÏ´Â °ÍÀ¸·Î½á oldInstance
¿Í µî°¡ÀÇ Ä«ÇǸ¦ ÀÛ¼ºÇÒ ¼ö ÀÖ´Â °æ¿ì´Â true ¸¦ µ¹·ÁÁÝ´Ï´Ù. ÀÌ ¸Þ¼ÒµåÀÇ »ç¾ç¿¡¼´Â °ø°³ API ¿¡ Æ÷ÇԵǾî ÀÖ´Â °ü·Ã ¸Þ¼ÒµåÀÇ µ¿ÀÛÀ» ºñ±³ÇßÀ» ¶§, º¯°æ ÈÄÀÇ ÀνºÅϽº¿Í oldInstance
¸¦ ±¸º°ÇÒ ¼ö ¾ø´Â °æ¿ì¿¡, À̰͵éÀ» ¡¸µî°¡ÀÌ´Ù¡¹¶ó°í ÇÕ´Ï´Ù. µ¡ºÙ¿© ¿©±â¿¡¼´Â ÀüÇô ºÐº°ÀÌ µÇÁö ¾Ê´Â Ä«ÇǸ¦ »ý¼ºÇÏ´Â °ÍÀ» ¹æÇØÇÏ´Â hashCode
³ª toString
¿Í °°Àº ¸Þ¼Òµå°¡ ÀÖ´Â °ÍÀ» °í·ÁÇØ, ¡¸¸ðµç ¸Þ¼Òµå¡¹¶ó°í Çϴ ǥÇöÀº ¾Æ´Ï°í ¡¸°ü·Ã ¸Þ¼Òµå¡¹¶ó°í Çϴ ǥÇöÀ» »ç¿ëÇϰí ÀÖ½À´Ï´Ù.
2 °³ÀÇ ÀνºÅϽºÀÇ Å¬·¡½º°¡ °°Àº °æ¿ì´Â µðÆúÆ®·Î true
°¡ µ¹·ÁÁÖ¾îÁý´Ï´Ù.
oldInstance
- Ä«ÇǵǴ ÀνºÅϽºnewInstance
- º¯°æµÇ´Â ÀνºÅϽº
oldInstance
·Î ÀÏ·ÃÀÇ º¯°æÀ» Àû¿ëÇÏ´Â °Í¿¡ ÀÇÇØ,newInstance
¿Í µî°¡ÀÇ Ä«ÇǸ¦ ÀÛ¼ºÇÒ ¼ö ÀÖ´Â °æ¿ì trueprotected 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
¸¦ °¡Áö´Â ½Ä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 |
||||||||||
ÀüÀÇ Å¬·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ | ||||||||||
°³¿ä: »óÀÚ | Çʵå | constructor | ¸Þ¼Òµå | »ó¼¼: Çʵå | constructor | ¸Þ¼Òµå |
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.