|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
| ÀüÀÇ Å¬·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ | ||||||||||
| °³¿ä: »óÀÚ | Çʵå | constructor | ¸Þ¼Òµå | »ó¼¼: Çʵå | constructor | ¸Þ¼Òµå | ||||||||||
java.lang.Object | +--org.omg.CORBA.Context
Request ¿ÀÆÛ·¹À̼ÇÀ¸·Î, ÀÌ È£Ãâ°ú ÇÔ²² ¼ÛÃâµÇ±â Àü¿¡ ¹®¸Æ ij¸¯ÅÍ ¶óÀÎÀ» ÇØ°áÇÒ Çʿ䰡 ÀÖ´Â ¹®¸Æ ¿ÀºêÁ§Æ®ÀÇ ÁöÁ¤À¸·Î »ç¿ëµÇ´Â ¿ÀºêÁ§Æ®ÀÔ´Ï´Ù. ÇØ°áµÈ ¹®¸Æ ij¸¯ÅÍ ¶óÀÎÀº ¿ä±¸ÀÇ È£Ãâ°ú ÇÔ²² º¸³»Áý´Ï´Ù. Context ¿ÀºêÁ§Æ®´Â NamedValue ¿ÀºêÁ§Æ®ÀÇ Çü½Ä¿¡¼ ÇÁ·ÎÆÛƼÀÇ ¸®½ºÆ®¸¦ ÀúÀåÇÕ´Ï´Ù. ±×·¯ÇÑ ÇÁ·ÎÆÛƼ´Â Ŭ¶óÀ̾ðÆ®, ȯ°æ, ¶Ç´Â ¿ä±¸ÀÇ »óȲ¿¡ ´ëÇÑ Á¤º¸¸¦ ³ªÅ¸³»¼ , Åë»ó, ÆÄ¶ó¹ÌÅͷμ °Ç³×ÁÖ´Â °ÍÀÌ ¾î·Á¿î ÇÁ·ÎÆÛƼÀÔ´Ï´Ù.
Context ¿ÀºêÁ§Æ®´Â ¿ì¼± ORB ¸Þ¼ÒµåÀÇ get_default_context ¸¦ È£ÃâÇØ, ´ÙÀ½¿¡ µðÆúÆ®ÀÇ ¹®¸ÆÀ¸·Î create_child ¸Þ¼Òµå¸¦ È£ÃâÇÏ´Â °Í¿¡ ÀÇÇØ ÀÛ¼ºµË´Ï´Ù.
Context ¿ÀºêÁ§Æ®ÀÇ °¢ ÇÁ·ÎÆÛƼ´Â NamedValue ¿ÀºêÁ§Æ®¿¡ ÀÇÇØ ³ªÅ¸³»Áý´Ï´Ù. ÇÁ·ÎÆÛƼ¸íÀº NamedValue ¿ÀºêÁ§Æ®ÀÇ name Çʵ忡 ÀúÀåµÇ¾î ±× À̸§¿¡ °ü·ÃÇÑ °ªÀº NamedValue ¿ÀºêÁ§Æ®ÀÇ value Çʵ忡 ÇÒ´çÇÒ ¼ö ÀÖ¾ú´ø Any ¿ÀºêÁ§Æ®¿¡ ÀúÀåµË´Ï´Ù.
Context ÀÇ ÇÁ·ÎÆÛƼ´Â ¼¹öÀÇ È¯°æ¿¡ º¸³»Áö´Â ( ¹× ¾Ï¹¬ÀûÀ¸·Î ±× ÀϺΰ¡ µÈ´Ù) Ŭ¶óÀÌ¾ðÆ® ¶Ç´Â ¾îÇø®ÄÉÀ̼ÇÀÇ È¯°æÀÇ ÀϺθ¦ ³ªÅ¸³¾ ¼ö°¡ ÀÖ½À´Ï´Ù (À©µµ¿ì ½Äº°ÀÚ³ª À¯Àú ¼³Á¤ Á¤º¸ µî). ¼¹ö°¡ ºÒ·Á °¡¸é(ÀÚ) (Áï ÇÁ·ÎÆÛƼ°¡ º¸³»Áø µÚ), ¼¹ö´Â get_values ¸Þ¼Òµå¸¦ »ç¿ëÇØ, ±× Context ¿ÀºêÁ§Æ®¿¡ ±× ÇÁ·ÎÆÛƼ¿¡ ´ëÇØ ¹®ÀÇÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.
¿ÀÆÛ·¹À̼ÇÀÇ ¼±¾ð¿¡ context ÀýÀÌ Á¤Àǵǰí ÀÖ´Â °æ¿ì, ±×·çÅÍ±â ¹× ½ºÄ̸®ÅÏÀº ±× ¹®¸Æ¿ëÀ¸·Î¼ ºÎ°¡ÀûÀÎ Àμö¸¦ °¡Áý´Ï´Ù. ¿ÀÆÛ·¹À̼ÇÀÇ È£ÃâÀÌ ¹ß»ýÇϸé(ÀÚ), ORB ´Â IDL ÀÇ ¿ÀÆÛ·¹ÀÌ¼Ç Á¤ÀÇ·Î À̸§ÀÌ ºÙ¿©Á®, Ŭ¶óÀ̾ðÆ®ÀÇ Context ¿ÀºêÁ§Æ®¿¡ ÀÖ´Â ÇÁ·ÎÆÛƼ°¡, ºÒ·Á °£ ¸Þ¼Òµå¿¡ÀÇ Context ¿ÀºêÁ§Æ® ÆÄ¶ó¹ÌÅÍ·Î Á¦°øµÇµµ·Ï(µíÀÌ) ÇÕ´Ï´Ù.
Context ÇÁ·ÎÆÛƼ¸í (ij¸¯ÅÍ ¶óÀÎ)Àº Åë»ó, OMG IDL ½Äº°ÀÚ ¶Ç´Â ÇǸ®¾îµå·Î ´Ü¶ôÁö¾îÁø ÀÏ·ÃÀÇ OMG IDL ½Äº°ÀÚÀÇ Çü½ÄÀÌ µË´Ï´Ù. ¹®¸Æ ÇÁ·ÎÆÛƼ¸íÀÇ ÆÐÅÏÀº ÇÁ·ÎÆÛƼ¸í, ¶Ç´Â 1 krÀÇ ¡¸*¡¹ÀÌ ¸»¹Ì¸¦ µÚµû¸£´Â ÇÁ·ÎÆÛƼ¸íÀÇ ¾î´À ÂÊÀÎÁöÀÔ´Ï´Ù. ¸»¹Ì¿¡ ¡¸*¡¹ÀÌ ºÙÁö ¾Ê´Â ÇÁ·ÎÆÛƼ¸í ÆÐÅÏÀº ±× ÇÁ·ÎÆÛƼ¸í ÀÚüÀÇ Ä³¸¯ÅÍ ¶óÀΰú¸¸ ÀÏÄ¡ÇÕ´Ï´Ù. ¡¸<À̸§>*¡¹Çü½ÄÀÇ ÇÁ·ÎÆÛƼ¸íÀÇ ÆÐÅÏÀº <À̸§ > ·Î ½ÃÀ۵Ǿî 0 ÀÌ»óÀÇ Ä³¸¯ÅͰ¡ °è¼ÓµÇ´Â ¾î´À ÇÁ·ÎÆÛƼ¸í°úµµ ÀÏÄ¡ÇÕ´Ï´Ù.
ÇÁ·ÎÆÛƼ¸íÀÇ ÆÐÅÏÀº ¿ÀÆÛ·¹ÀÌ¼Ç Á¤ÀÇÀÇ context Àý·Î, ¶Ç´Â Context.get_values ¸Þ¼ÒµåÀÇ ÆÄ¶ó¹ÌÅͷμ »ç¿ëµË´Ï´Ù.
Context ¿ÀºêÁ§Æ®´Â ƯÁ¤ÀÇ µðÆúÆ®ÀÇ µ¿ÀÛÀ» ½Ç½ÃÇϱâ À§Çؼ(¶§¹®¿¡) ¼·Î ¿¬¼â½Ãų ¼ö°¡ ÀÖ½À´Ï´Ù. create_child ¸Þ¼Òµå·Î ÀÛ¼ºµÈ Context ¿ÀºêÁ§Æ®´Â ±× ºÎ¸ð (±×°ÍÀ» ÀÛ¼ºÇÑ Context ¿ÀºêÁ§Æ®)¿¡°Ô ¿¬¼âµË´Ï´Ù. Áï ±× ºÎ¸ð´Â ÇÁ·ÎÆÛƼ¸íÀÇ °Ë»öÀ¸·Î ¾ÆÀÌÀÇ µÚ¿¡ °Ë»öµË´Ï´Ù.
¾î´À Context ¿ÀºêÁ§Æ®·Î Á¤ÀÇµÈ ÇÁ·ÎÆÛƼ´Â ±× 1 kr»óÀÇ ·¹º§·Î Á¤ÀÇµÈ ±× ÇÁ·ÎÆÛƼ¸¦ ¿À¹ö¶óÀ̵å(override) ÇÕ´Ï´Ù. ÇÁ·ÎÆÛƼÀÇ °Ë»öÀ¸·Î »ç¿ëµÇ´Â ¹üÀ§´Â get_values ¸Þ¼Òµå¸¦ È£ÃâÇÒ ¶§ °³½Ã ¹üÀ§¸¦ ÁöÁ¤ÇØ,CTX_RESTRICT_SCOPE Ç÷¡±×¸¦ »ç¿ëÇÏ´Â °ÍÀ¸·Î½á Á¦ÇÑÇÒ ¼ö ÀÖ½À´Ï´Ù.
Context ¿ÀºêÁ§Æ®´Â °³½Ã °Ë»ö ¹üÀ§¸¦ ÁöÁ¤ÇÏ´Â ¸ñÀûÀ¸·Î À̸§ ºÙÀÏ ¼ö°¡ ÀÖ½À´Ï´Ù.
| »ý¼ºÀÚÀÇ °³¿ä | |
Context ()
|
|
| ¸Þ¼ÒµåÀÇ °³¿ä | |
abstract String |
context_name ()
ÀÌ Context ¿ÀºêÁ§Æ®ÀÇ À̸§À» ÃëµæÇÕ´Ï´Ù. |
abstract Context |
create_child (String child_ctx_name)
ij¸¯ÅÍ ¶óÀÎÀ¸·Î À̸§À» ÁöÁ¤ÇØ, ÀÌ Context ¿ÀºêÁ§Æ®¸¦ ºÎ¸ð·Î ÇÏ´Â Context ¿ÀºêÁ§Æ®¸¦ »ý¼ºÇÕ´Ï´Ù.
|
abstract void |
delete_values (String propname)
name Çʵ尡, ÁöÁ¤µÈ ÇÁ·ÎÆÛƼ¸íÀ¸·Î ÀÏÄ¡ÇÏ´Â NamedValue ¿ÀºêÁ§Æ®¸¦, ÀÌ Context ¿ÀºêÁ§Æ®·ÎºÎÅÍ »èÁ¦ÇÕ´Ï´Ù. |
abstract NVList |
get_values (String start_scope,
int op_flags,
String pattern)
name Çʵ尡, ÁöÁ¤µÈ À̸§, ¶Ç´Â ÁöÁ¤µÈ À̸§ ÆÐÅϰú ÀÏÄ¡ÇÏ´Â NamedValue ¿ÀºêÁ§Æ®¸¦ ÃëµæÇÕ´Ï´Ù. |
abstract Context |
parent ()
ÀÌ Context ¿ÀºêÁ§Æ®ÀÇ ºÎ¸ð¸¦ ÃëµæÇÕ´Ï´Ù. |
abstract void |
set_one_value (String propname,
Any propvalue)
NamedValue ¿ÀºêÁ§Æ®¸¦ »ý¼ºÇØ, ±× ¿ÀºêÁ§Æ®¸¦ ÀÌ Context ¿ÀºêÁ§Æ®¿¡ Ãß°¡ÇÕ´Ï´Ù. |
abstract void |
set_values (NVList values)
ÀÌ Context ¿ÀºêÁ§Æ®ÀÇ 1 °³ ÀÌ»óÀÇ ÇÁ·ÎÆÛƼġ¸¦ ¼³Á¤ÇÕ´Ï´Ù. |
| Ŭ·¡½º java.lang. Object ¿¡¼ »ó¼Ó¹ÞÀº ¸Þ¼Òµå |
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
| »ý¼ºÀÚÀÇ »ó¼¼ |
public Context()
| ¸Þ¼ÒµåÀÇ »ó¼¼ |
public abstract String context_name()
Context ¿ÀºêÁ§Æ®ÀÇ À̸§À» ÃëµæÇÕ´Ï´Ù.
Context ¿ÀºêÁ§Æ®ÀÇ À̸§public abstract Context parent()
Context ¿ÀºêÁ§Æ®ÀÇ ºÎ¸ð¸¦ ÃëµæÇÕ´Ï´Ù.
Context ¿ÀºêÁ§Æ®ÀÇ ºÎ¸ðÀÎ Context ¿ÀºêÁ§Æ®public abstract Context create_child(String child_ctx_name)
Context ¿ÀºêÁ§Æ®¸¦ ºÎ¸ð·Î ÇÏ´Â Context ¿ÀºêÁ§Æ®¸¦ »ý¼ºÇÕ´Ï´Ù.
»õ·Î¿î Context ¿ÀºêÁ§Æ®´Â ±× ºÎ¸ðÀÎ Context ¿ÀºêÁ§Æ®¿¡ ¿¬¼âµË´Ï´Ù. Áï, ÀÏÄ¡ÇÏ´Â ÇÁ·ÎÆÛƼ¸íÀÇ °Ë»öÀ¸·Î, ÀÏÄ¡ÇÏ´Â ÇÁ·ÎÆÛƼ¸íÀÌ ÀÌ ¹®¸ÆÀ¸·Î ¹ß°ßµÇÁö ¾Ê´Â °æ¿ì, ±× ºÎ¸ð·Î °Ë»öÀÌ °è¼ÓµË´Ï´Ù. ºÎ¸ð¶óµµ ÀÏÄ¡ÇÏ´Â ÇÁ·ÎÆÛƼ¸íÀÌ ¹ß°ßµÇÁö ¾Ê´Â °æ¿ì´Â ÇÑÃþ ´õ ±× ºÎ¸ð (Á¸ÀçÇÏ´Â °æ¿ì)·Î, °Ë»öÀº Â÷·ÊÂ÷·Ê·Î °è¼ÓµË´Ï´Ù.
child_ctx_name - »õ·Î¿î Context ¿ÀºêÁ§Æ®ÀÇ À̸§À¸·Î¼ ¼³Á¤µÇ´Â String ¿ÀºêÁ§Æ®
Context ¿ÀºêÁ§Æ®
public abstract void set_one_value(String propname,
Any propvalue)
NamedValue ¿ÀºêÁ§Æ®¸¦ »ý¼ºÇØ, ±× ¿ÀºêÁ§Æ®¸¦ ÀÌ Context ¿ÀºêÁ§Æ®¿¡ Ãß°¡ÇÕ´Ï´Ù. »õ·Î¿î NamedValue ¿ÀºêÁ§Æ®ÀÇ name Çʵå´Â ÁöÁ¤µÈ ij¸¯ÅÍ ¶óÀÎÀ¸·Î ¼³Á¤µÇ¾îvalue Çʵå´Â ÁöÁ¤µÈ Any ¿ÀºêÁ§Æ®·Î ¼³Á¤µÇ¾îflags Çʵå´Â 0 À¸·Î ¼³Á¤µË´Ï´Ù.
propname - ¼³Á¤µÇ´Â ÇÁ·ÎÆÛƼÀÇ À̸§propvalue - ÇÁ·ÎÆÛƼġÀÇ ¼³Á¤ ´ë»óÀÌ µÇ´Â Any ¿ÀºêÁ§Æ®. Any ¿ÀºêÁ§Æ®ÀÇ value Çʵå´Â ÁöÁ¤µÈ propname ¿Í °ü·ÃÇÏ´Â °ªÀ» ÀúÀåÇÑ´Ù. kind Çʵå´Â TCKind.tk_string ·Î ¼³Á¤µÇÁö ¾ÊÀ¸¸é ¾È µÈ´Ùpublic abstract void set_values(NVList values)
Context ¿ÀºêÁ§Æ®ÀÇ 1 °³ ÀÌ»óÀÇ ÇÁ·ÎÆÛƼġ¸¦ ¼³Á¤ÇÕ´Ï´Ù. ÀÌ ¸Þ¼Òµå·Î ÁöÁ¤µÈ NVList ´Â 1 kr ÀÌ»óÀÇ NamedValue ¿ÀºêÁ§Æ®¸¦ ÀúÀåÇÕ´Ï´Ù. °¢ NamedValue ¿ÀºêÁ§Æ®¿¡¼´Â name Çʵå´Â ÇÁ·ÎÆÛƼ¸íÀ» °¡Á®,flags Çʵå´Â 0 À¸·Î ¼³Á¤µË´Ï´Ù. NamedValue ¿ÀºêÁ§Æ®ÀÇ value Çʵå´Â Any ¿ÀºêÁ§Æ®¸¦ ÀúÀåÇØ, ±× Any ¿ÀºêÁ§Æ®´Â ÇÁ·ÎÆÛƼÀÇ °ªÀ» ÀúÀåÇÕ´Ï´Ù. °ªÀº Ç×»ó ij¸¯ÅÍ ¶óÀÎÀ̱â (À§ÇØ)¶§¹®¿¡,Any ¿ÀºêÁ§Æ®¿¡¼´Â ±× TypeCode ÀÇ kind Çʵ带 TCKind.tk_string ·Î ¼³Á¤ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.
values - ÇÁ·ÎÆÛƼ¸í, ¹× °Å±â¿¡ °ü·ÃÇÏ´Â ¼³Á¤Ä¡¸¦ ÀúÀåÇÏ´Â NVListget_values(java.lang.String, int, java.lang.String) ,
NamedValue ,
Any public abstract void delete_values(String propname)
name Çʵ尡, ÁöÁ¤µÈ ÇÁ·ÎÆÛƼ¸íÀ¸·Î ÀÏÄ¡ÇÏ´Â NamedValue ¿ÀºêÁ§Æ®¸¦, ÀÌ Context ¿ÀºêÁ§Æ®·ÎºÎÅÍ »èÁ¦ÇÕ´Ï´Ù. propname ·Î ÁöÁ¤µÈ String ¿ÀºêÁ§Æ®ÀÇ ¸»¹Ì¿¡ ¿ÍÀϵå Ä«µå ij¸¯ÅÍ (*)°¡ ÀÖ´Â °æ¿ì,name Çʵ尡 ÀÏÄ¡ÇÏ´Â ¸ðµç NamedValue ¿ÀºêÁ§Æ®°¡ »èÁ¦µË´Ï´Ù. °Ë»ö ¹üÀ§´Â Ç×»ó ÀÌ Context ¿ÀºêÁ§Æ®¿¡ Á¦Çѵ˴ϴÙ.
ÀÏÄ¡ÇÏ´Â ÇÁ·ÎÆÛƼ°¡ ¹ß°ßµÇÁö ¾Ê´Â °æ¿ì´Â ¿¹¿Ü°¡ µ¹·ÁÁÖ¾îÁý´Ï´Ù.
propname - »èÁ¦µÇ´Â ÇÁ·ÎÆÛƼÀÇ À̸§
public abstract NVList get_values(String start_scope,
int op_flags,
String pattern)
name Çʵ尡, ÁöÁ¤µÈ À̸§, ¶Ç´Â ÁöÁ¤µÈ À̸§ ÆÐÅϰú ÀÏÄ¡ÇÏ´Â NamedValue ¿ÀºêÁ§Æ®¸¦ ÃëµæÇÕ´Ï´Ù. ÀÌ ¸Þ¼Òµå¿¡¼´Â ¿ÍÀϵå Ä«µå °Ë»ö À» ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. Áï, ÀÏÄ¡ÇÏ´Â ÇÁ·ÎÆÛƼ°¡ ´Ù¼ö ÀÖ´Â °æ¿ì´Â º¹¼öÀÇ °ªÀÌ µ¹·ÁÁÖ¾îÁý´Ï´Ù. ÇÁ·ÎÆÛƼ°¡ ÁöÁ¤µÈ ·¹º§·Î ¹ß°ßµÇÁö ¾Ê´Â °æ¿ì, ÀÏÄ¡ÇÏ´Â ÇÁ·ÎÆÛƼ°¡ ¹ß°ßµÉ ¶§±îÁö ȤÀº ¿¬¼â³»ÀÇ ¸ðµç Context ¿ÀºêÁ§Æ®°¡ °Ë»öµÉ ¶§±îÁö ¹®¸Æ ¿ÀºêÁ§Æ® Æ®¸®ÀÇ À¹æÇâ¿¡ °Ë»öÀÌ °è¼ÓµË´Ï´Ù.
ÀÏÄ¡ÇÏ´Â ÇÁ·ÎÆÛƼ°¡ ¹ß°ßµÇÁö ¾Ê´Â °æ¿ì´Â ¿¡·¯°¡ µ¹·ÁÁÖ¾îÁ® ÇÁ·ÎÆÛƼ ¸®½ºÆ®´Â µ¹·ÁÁÖ¾îÁöÁö ¾Ê½À´Ï´Ù.
start_scope - ÁöÁ¤µÈ ÇÁ·ÎÆÛƼÀÇ °Ë»öÀ» °³½ÃÇÏ´Â ¹®¸Æ ¿ÀºêÁ§Æ® ·¹º§À» ³ªÅ¸³»´Â String ¿ÀºêÁ§Æ® (_USER, _GROUP, _SYSTEM µî). À¯È¿ÇÑ ¹üÀ§¸íÀº ±¸Çö¿¡ °íÀ¯. ¹üÀ§¸íÀÌ »ý·« µÇ¸é(ÀÚ), °Ë»öÀº ÁöÁ¤µÈ ¹®¸Æ ¿ÀºêÁ§Æ®·Î °³½ÃµÈ´Ù. ÁöÁ¤µÈ ¹üÀ§¸íÀÌ ¹ß°ßµÇÁö ¾Ê´Â °æ¿ì´Â ¿¹¿Ü°¡ µ¹·ÁÁÖ¾îÁö´Âop_flags - ¿ÀÆÛ·¹ÀÌ¼Ç Ç÷¡±×. ÁöÁ¤ÇÒ ¼ö ÀÖ´Â À¯ÀÏÇÑ Ç÷¡±×´Â CTX_RESTRICT_SCOPE. ÀÌ Ç÷¡±×°¡ ÁöÁ¤µÇ¸é(ÀÚ), °Ë»öÀº ÁöÁ¤µÈ start_scope, Áï, ÀÌ Context ¿ÀºêÁ§Æ®¿¡ Á¦ÇѵǴÂpattern - Ä¡°¡ ÃëµæµÇ´Â ÇÁ·ÎÆÛƼ¸í. pattern ´Â À̸§, ¶Ç´Â ¸»¹Ì¿¡ ¿ÍÀϵå Ä«µå ij¸¯ÅÍ (*)¸¦ °¡Áö´Â À̸§
NamedValue ¿ÀºêÁ§Æ®ÀÇ Çü½Ä)¸¦ ÀúÀåÇϰí ÀÖ´Â NVListset_values(org.omg.CORBA.NVList) ,
NamedValue
|
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.