1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2002-2-1 (1.70)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Client Side: Using SIDL Classes and Methods</TITLE>
<META NAME="description" CONTENT="Client Side: Using SIDL Classes and Methods">
<META NAME="keywords" CONTENT="users_guide">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="users_guide.css">
<LINK REL="next" HREF="node152.html">
<LINK REL="previous" HREF="node150.html">
<LINK REL="up" HREF="node148.html">
<LINK REL="next" HREF="node152.html">
</HEAD>
<BODY >
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html2969"
HREF="node152.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html2963"
HREF="node148.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html2957"
HREF="node150.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html2965"
HREF="node14.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<A NAME="tex2html2967"
HREF="node317.html">
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html2970"
HREF="node152.html">Server Side: Writing SIDL</A>
<B> Up:</B> <A NAME="tex2html2964"
HREF="node148.html">Java Bindings</A>
<B> Previous:</B> <A NAME="tex2html2958"
HREF="node150.html">Basic Types</A>
<B> <A NAME="tex2html2966"
HREF="node14.html">Contents</A></B>
<B> <A NAME="tex2html2968"
HREF="node317.html">Index</A></B>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H1><A NAME="SECTION03530000000000000000"></A>
<A NAME="9032"></A><A NAME="9033"></A>
<BR>
Client Side: Using SIDL Classes and Methods
</H1>
<P>
SIDL's object model is very similar to Java's, and therefore maps
easily into Java's object model. A SIDL object is treated almost exactly the
same in Java as any other Java object, the only difference being that all data
held by the object is private, and all methods are public.
<P>
Importing SIDL packages and classes is also exactly the same as in
Java. For example, assume there is a package <TT>test</TT> that includes
the class <TT>HelloWorld</TT>, and you wish to print this message in
your program. The following code segment does this.
<P>
<BR>
<PRE CLASS="verbatim">import test.HelloWorld;
public static main(String args[]) {
HelloWorld hi = new HelloWorld();
hi.printMsg();
}
</PRE></td></tr></table></blockquote>
<P>
Writing the fully qualified class name would also have sufficed.
<TT>test.HelloWorld hi = new test.HelloWorld()</TT>
<P>
Babel also generates Java code in line with Java's use of directories
to organize packages and classes as files. For example, assume you
are generating babel code in a directory named <TT>babelcode</TT>.
Assume your package <TT>test</TT> contains 2
classes <TT>HelloWorld</TT> and <TT>GoodbyeWorld</TT>. After running
<TT>babel -cJava test.sidl</TT> you will have a new directory in
<TT>babelcode</TT> named <TT>test</TT> which will contain 2
files, <TT>HelloWorld.java</TT> and
<TT>GoodbyeWorld.java</TT>. These classes will be accessible
from your Java program as long as <TT>babelcode</TT> is in your
<TT>CLASSPATH</TT>.
<P>
<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
<A NAME="tex2html2969"
HREF="node152.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html2963"
HREF="node148.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html2957"
HREF="node150.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html2965"
HREF="node14.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<A NAME="tex2html2967"
HREF="node317.html">
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html2970"
HREF="node152.html">Server Side: Writing SIDL</A>
<B> Up:</B> <A NAME="tex2html2964"
HREF="node148.html">Java Bindings</A>
<B> Previous:</B> <A NAME="tex2html2958"
HREF="node150.html">Basic Types</A>
<B> <A NAME="tex2html2966"
HREF="node14.html">Contents</A></B>
<B> <A NAME="tex2html2968"
HREF="node317.html">Index</A></B> </DIV>
<!--End of Navigation Panel-->
<ADDRESS>
<br><br>babel-0.10.2<br>users_guide Last Modified 2005-03-23<br><br><a href="http://www.llnl.gov/CASC/components">http://www.llnl.gov/CASC/components</a><br><a href="mailto:components@llnl.gov">components@llnl.gov</a>
</ADDRESS>
</BODY>
</HTML>
|