<html> <head> <title>Service Converter</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link rel="stylesheet" type="text/css" href="../../../../idl.css"> </head> <body> <div id="adc-idlref"> <a name="_top_"> </a><table class="navimain" border="0" cellpadding="3"> <tr> <td class="navimain"><a href="../module-ix.html" class="navimain">Overview</a></td> <td class="navimain"><a href="module-ix.html" class="navimain">Module</a></td> <td class="navimain"><a href="Converter-xref.html" class="navimain">Use</a></td> <td class="navimain"><a href="http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/AdvUNO/UNO_Reflection_API" class="navimain">Devguide</a></td> <td class="navimain"><a href="../../../../index-files/index-1.html" class="navimain">Index</a></td> </tr> </table> <table class="navisub" border="0" cellpadding="0"> <tr> <td class="navisub">Included Services</td> <td class="navisub"><a href="#ExportedInterfaces" class="navisub">Exported Interfaces</a></td> <td class="navisub">Properties' Summary</td> <td class="navisub">Properties' Details</td> </tr> </table> <hr> <table border="0" width="100%" cellpadding="5" cellspacing="3" class="title-table" style="margin-bottom:6pt;"> <tr> <td><p class="namechain"><a href="../../../../module-ix.html" class="namechain">::</a> <a href="../../../module-ix.html" class="namechain">com</a> :: <a href="../../module-ix.html" class="namechain">sun</a> :: <a href="../module-ix.html" class="namechain">star</a> :: <a href="module-ix.html" class="namechain">script</a> :: </p> </td> </tr> <tr> <td class="title">service Converter</td> </tr> <tr> <td><dl> <dt><b>Description</b></dt> <dd>This service provides a widening converter converting from one type to another, if possible. </dd> <dd><p>What is possible? <ul> <li>byte: byte, (short *1), (long *1), (hyper *1), (float *1), (double *1), (enum *2), (any *3), boolean, (char *4), (string *5)</li> <li>short: byte, short, (long *1), (hyper *1), (float *7), (double *7), (enum *2), (any *3), boolean, char, (string *5)</li> <li>long: byte, short, long, (hyper *1), (float *7), (double *7), enum, (any *3), boolean, char, (string *5)</li> <li>hyper: byte, short, long, hyper, (float *7), (double *7), enum, (any *3), boolean, char, (string *5)</li> <li>float: byte, short, long, hyper, float, (double *7), (enum *8), (any *3), boolean, char, (string *5)</li> <li>double: byte, short, long, hyper, float, double, enum, (any *3), boolean, char, (string *5)</li> <li>enum: (byte *9), (short *9), (long *9), (hyper *9), (float *9), (double *9), (enum *10), (any *3), (string *11)</li> <li>void: ok for all types</li> <li>any: ok for all types</li> <li>boolean: byte, short, long, hyper, float, double, (any *3), boolean, char, (string *12). 0 => false, != 0 => true</li> <li>char: byte, short, (long *1), (hyper *1), (float *7), (double *7), enum, (any *3), boolean, char, (string *13)</li> <li>string: byte, short, long, hyper, float, double, enum, (any *3), boolean, char, string</li> <li>struct: (any *3), (struct *14)</li> <li>interface: (any *3), (struct *14)</li> <li>exception: (any *3), (exception *14)</li> <li>union: (any *3), (union *14)</li> <li>sequence: (any *3), (sequence *15)</li> </ul> rules: <ul> <li>1: only converts if the value is in the range of the target type.</li> <li>2: only converts if the value, not the position, of the enum is in the range of the target type.</li> <li>3: get value until it is not an any. Then convert it with the other rules.</li> <li>4: only converts if the value of the character is between 0 - 255.</li> <li>5: only converts if the value represents a decimal, hexadecimal (0x...) or a floating point number. Examples: 10, 0x10, 10.045, 10,555, +10, +10.6e10, -10.6e-10, .16.</li> <li>7: only converts if the value is in the range of the target type. The value is rounded to an integer.</li> <li>8: only converts if the float can be converted back to the same enum value.</li> <li>9: only converts if the number is one of the enumeration type values. Normally you need reflection information of the enum type.</li> <li>10: only converts if it is the same enumeration type.</li> <li>11: only converts if the string contains the name of an enumeration type value. Normally you need core reflection information of the enum type.</li> <li>12: only converts if the value of the string is "1", "true" or "0", "false". The comparision is case insensitive.</li> <li>13: only converts if the length of the string is 1 or 0.</li> <li>14: only converts if the types are equal or the source type is derived from the destination type.</li> <li>15: only converts if each element of the source sequence can be converted to an element of the destination sequence.</li> </ul> </dd> </dl> <a name="devmanual"> </a><dl> <dt><b>Developers Guide</b></dt> <dd><a href="http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/AdvUNO/UNO_Reflection_API">AdvUNO - UNO Reflection API</a></dd> </dl> </td> </tr> </table> <hr> <a name="ExportedInterfaces"/><table border="1" width="100%" cellpadding="5" cellspacing="0" class="subtitle"> <tr> <td class="subtitle" colspan="2">Exported Interfaces</td> </tr> <tr> <td class="imsum_left"><a href="XTypeConverter.html">XTypeConverter</a></td> <td class="imsum_right"><dl> <dt><b>Description</b></dt> <dd>Conversion interface. </dd> </dl> </td> </tr> </table> <br> <a href="#_top_">Top of Page</a><hr size="3"><p class="copyright" align="center">Copyright © 2008 Sun Microsystems, Inc.</p> </div> <!-- id="adc-idlref" --> </body> </html>