|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: NESTED | Çʵå | constructor | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå |
java.lang.Objectjava.beans.PersistenceDelegate
public abstract class PersistenceDelegate
PersistenceDeligate Ŭ·¡½º´Â
Ŭ·¡½ºÀÇ °ø°³ API ¿¡ Æ÷ÇԵǴ ¸Þ¼µå¿¡
ÇØ ÁöÁ¤µÈ Ŭ·¡½ºÀÇ ÀνºÅϽº »óŸ¦ Ç¥ÇöÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, ÀÌ À§¾ç ¸ðµ¨À» ä¿ëÇϰí ÀÖ´Â XMLEncoder
µîÀÇ ½ºÆ®¸²Àº, Áö±Ý±îÁö¿Í °°ÀÌ Áö¼Ó¼º°ú Ŭ·¡½º ÀÚü¸¦ °ü·ÃÁþ´Â ´ë½Å¿¡
ObjectOutputStream
·Î »ç¿ëµÇ´Â readObject
¸Þ¼µå¿Í writeObject
¸Þ¼µå¿¡
ÇØ, ±× µ¿ÀÛÀ» Ŭ·¡½º·ÎºÎÅÍ ¶¼¾î³» °ü¸®ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. º¸Åë
, Ŭ·¡½º´Â
ÀÌ À§¾ç schema¸¦ »ç¿ëÇØ ÀÌ·¯ÇÑ Á¤º¸³ª ±Ô¾àÀ» °£´ÜÇÏ°Ô Ç¥ÇöÇϴµ¥ ÃÖÀûÀÇ Àå¼ÒÀÔ´Ï´Ù. ±×·¯³ª, ´Ü 1 °³ÀÇ Å¬·¡½º¿¡ »ç¼ÒÇÑ ¹®Á¦°¡ Æ÷ÇԵǾî ÀÖ´Â °Í¸¸À¸·Î ¿ÀºêÁ§Æ® ±×·¡ÇÁ ÀüüÀÇ write¸¦
ÇÒ ¼ö ¾ø°Ô µÇ´Â °æ¿ìµµ ÀÖ½À´Ï´Ù. ÀÌ °æ¿ì, ¾îÇø®ÄÉÀÌ¼Ç °³¹ßÀÚ´Â
¹®Á¦ÀÇ ¹ß»ýÇϰí Àִ Ŭ·¡½ºÀÇ ±×¸²ÀÚ¸¦ ·ÎÄ÷Πµ¶ÀÚÀûÀ¸·Î ÀÛ¼ºÇÏ´ÂÁö, Áö¼Ó¼ºÀ» À¯ÁöÇϱâ À§ÇÑ ±× ¿ÜÀÇ ¼ö¹ýÀ» »Ì°Ô µË´Ï´Ù. ÀÌ·¯ÇÑ »óȲÀ¸·Î ÀÌ À§¾ç ¸ðµ¨À» ÀÌ¿ëÇϸé, ¾îÇø®ÄÉÀÌ¼Ç °³¹ßÀÚ´Â
¾îÇø®ÄÉÀÌ¼Ç ÀÚü¿¡´Â Æ÷ÇÔµÇÁö ¾Ê´Â Ŭ·¡½ºÀÇ ±¸ÇöÀ¸·Î º¯°æÀ» ´õÇÏ´Â ÀÏ ¾øÀÌ, ºñ±³Àû ±ú²ýÇÑ ¹æ¹ýÀ¸·Î Á÷·ÄÈ Ã³¸®ÀÇ ¸ðµç ±¹¸éÀ» Á¦¾îÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.
ÀÌ Áö¼Ó schema´Â
À§¾ç ¸ðµ¨À» »ç¿ëÇÑ´Ù°í ÇÏ´Â Á¡ »Ó¸¸ÀÌ ¾Æ´Ï¶ó, ´ëÀÀÇÏ´Â readObject
¸Þ¼µå¾øÀÌ writeObject
¸Þ¼µåÀÇ ¾Æ³¯·Î±×¸¦ ¿ä±¸ÇÑ´Ù°í ÇÏ´Â Á¡¿¡¼µµ, Á¾·¡ÀÇ Á÷·ÄÈ schema¿Í´Â ´Ù¸¨´Ï´Ù. writeObject
¸Þ¼µåÀÇ ¾Æ³¯·Î±×´Â
°ø°³ API¸¦
»ç¿ëÇØ °³°³ÀÇ ÀνºÅϽº¸¦ encode ÇÕ´Ï´Ù. Á÷·ÄÈ µÈ ÆûÀÇ read ¼ö¼ÓÀº, 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 ¿¡
ÇØ, Á¾·¡ÀÇ À§¾ç ¸ðµå·Î »ç¿ëµË´Ï´Ù. |
Ŭ·¡½º 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
¿¡
ÇØ, Á¾·¡ÀÇ À§¾ç ¸ðµå·Î »ç¿ëµË´Ï´Ù. ÀÌ ¸Þ¼µå´Â ÆÄÀ̳ÎÀÌ ¾Æ´Õ´Ï´Ù¸¸, º¸Åë
, ¼ºê Ŭ·¡½ºÈÀÇ ÇÊ¿ä´Â ¾ø½À´Ï´Ù.
ÀÌ ±¸ÇöÀº, ÃÖÃÊ·Î ½ºÆ®¸²ÀÌ ¹ú½á ÀÌ ¿ÀºêÁ§Æ®¸¦ °ËÃâÇϰí ÀÖÀ»Áö ¾î¶³Áö¸¦ È®ÀÎÇÕ´Ï´Ù. ´ÙÀ½¿¡
½ºÆ®¸²·ÎºÎÅÍ µ¹·ÁÁÖ°íÁø È帰¡ oldInstance
Á¤È®ÇÑ Ä«ÇÇ·Î º¯°æ °¡´ÉÇѰ¡ ¾î¶²°¡¸¦ È®ÀÎÇϱâ À§ÇØ,mutatesTo
¸Þ¼µå°¡ ºÒ·Á °©´Ï´Ù. º¯°æ °¡´ÉÇÑ °æ¿ì,initialize
¸Þ¼µå°¡ ºÒ·Á °¡ Ãʱâȸ¦ ÇÕ´Ï´Ù. º¯°æÇÒ ¼ö ¾ø´Â °æ¿ì, È帴 ½ºÆ®¸²·ÎºÎÅÍ »èÁ¦µÇ¾îinstantiate
¸Þ¼µåÀÇ È£Ãâ¿¡
ÇØ, ÀÌ ¿ÀºêÁ§Æ®ÀÇ »õ·Î¿î È帰¡ ÀÛ¼ºµË´Ï´Ù.
oldInstance
- ÀÌ ½Ä¿¡¼ ÀÛ¼ºµÇ´Â ÀνºÅϽºout
- ÀÌ ½ÄÀÌ ±âÀÔÇØÁö´Â ½ºÆ®¸²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
¸¦
°¡Áö´Â ½ÄÀ» µ¹·ÁÁÝ´Ï´Ù. ÀÌ ¸Þ¼µå¸¦ »ç¿ëÇØ, ÁöÁ¤µÈ ¿ÀºêÁ§Æ®ÀÇ ÀÛ¼º¿¡ »ç¿ëÇÏ´Â »ý¼ºÀÚ
¶Ç´Â ÆÑÅ丮 ¸Þ¼µåÀÇ Æ¯Â¡À» ±â¼úÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î,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
¿Í ±× °ø°³ °¡´É »óÅÂ ¿Ü¿¡
¹«¾ùÀÌ ÀϾ´ÂÁö¸¦ ³ªÅ¸³»´Â ÀÏ·ÃÀÇ ¹®ÀåÀ» »ý¼ºÇÏ´Â °ÍÀ¸·Î½á, ÀÌ ¸ñÀûÀ» ´Þ¼ºÇÕ´Ï´Ù. ÀÌ·¯ÇÑ ¹®ÀåÀº, read½Ã¿¡ ÀÔ·Â ½ºÆ®¸² »óŸ¦ ½Ã¹Ä·¹ÀÌÆ® ÇÏ´Â º¹Á¦µÈ ȯ°æÀÇ ¿ä¼Ò°¡ Æ÷ÇÔµÈ ½ÄÀ» µ¹·ÁÁÖ´Â writeExpression
¸Þ¼µå¿¡
ÇØ, Ãâ·Â ½ºÆ®¸²¿¡ ¼Û½ÅµË´Ï´Ù. µ¹·ÁÁÖ°íÁö´Â °¢ ¹®Àº, ³°Àº ȯ°æÀÇ ¸ðµç ÀνºÅϽº¸¦ »õ·Î¿î ȯ°æÀÇ ¿ÀºêÁ§Æ®·Î ¿Å°Ü³õ½À´Ï´Ù. ƯÈ÷, ÀÌ·¯ÇÑ ¹®ÀåÀÇ Å¸°ÙÀÇ ÂüÁ¶ (óÀ½Àº oldInstance
¿¡ÀÇ ÂüÁ¶)´Â
newInstance
ÂüÁ¶·Î¼ µ¹·ÁÁÖ°íÁý´Ï´Ù. ÀÌ·¯ÇÑ ¹®ÀåÀ» ½ÇÇàÇϸé, »õ·Î¿î ȯ°æÀÇ ¿ÀºêÁ§Æ®·Î º¯°æÀÌ ´õÇØÁö´Â °Í°ú µ¿½Ã¿¡
2 °³ÀÇ ¿ÀºêÁ§Æ® »óŰ¡ ¼¼È÷ °¡±î¿öÁ® °©´Ï´Ù. Initialize ¸Þ¼µå°¡ µ¹·ÁÁÖ°íÁú ¶§´Â
°ø°³ API ·Î 2 °³ÀÇ ÀνºÅϽº¸¦ ±¸º°ÇÒ ¼ö ¾ø°Ô µÇ°í ÀÖÀ» °ÍÀÔ´Ï´Ù. ¹«¾ùº¸´Ù Áß¿äÇÑ °ÍÀº, ÀÌ·¯ÇÑ ¿ÀºêÁ§Æ®¸¦ µî°¡·Î ÇÏ´Â ¼ö¼ÓÀÌ Ãâ·Â ½ºÆ®¸²¿¡
ÇØ ±â·ÏµÇ¾î ½ºÆ®¸²ÀÇ Ç÷¡½Ã½Ã¿¡ ½ÇÁ¦ÀÇ Ãâ·ÂÀ» Çü¼ºÇÑ´Ù°í ÇÏ´Â Á¡ÀÔ´Ï´Ù.
µðÆúÆ® ±¸ÇöÀº, ÀÌ ÇüÅÂÀÇ ½´ÆÛ Ŭ·¡½ºÀÇ initialize
¸Þ¼µå¸¦ È£ÃâÇÕ´Ï´Ù.
oldInstance
- Ä«ÇǵǴ ÀνºÅϽºnewInstance
- º¯°æµÇ´Â ÀνºÅϽºout
- Ãʱâȹ®ÀÌ ±âÀÔÇØÁö´Â ½ºÆ®¸²
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: NESTED | Çʵå | constructor | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.