Class InterfaceGen
- java.lang.Object
-
- com.sun.tools.corba.ee.idl.toJavaPortable.InterfaceGen
-
- All Implemented Interfaces:
Generator
,InterfaceGen
,JavaGenerator
public class InterfaceGen extends java.lang.Object implements InterfaceGen, JavaGenerator
-
-
Field Summary
Fields Modifier and Type Field Description protected int
emit
protected Factories
factories
protected InterfaceEntry
i
protected int
intfType
protected static int
OPERATIONS
protected static int
SIGNATURE
protected java.io.PrintWriter
stream
protected java.util.Hashtable
symbolTable
-
Constructor Summary
Constructors Constructor Description InterfaceGen()
Public zero-argument constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
closeStream()
void
generate(java.util.Hashtable symbolTable, InterfaceEntry i, java.io.PrintWriter stream)
Generate the interface and all the files associated with it.protected void
generateHelper()
Generate a Helper when the user does not want just the server-side code.protected void
generateHolder()
Generate a Holder when the user does not want just the server-side code.private void
generateInterface()
Generate the interface.protected void
generateSkeleton()
Generate a Skeleton when the user does not want just the client-side code.protected void
generateStub()
Generate a Stub when the user does not want just the server-side code.void
helperRead(java.lang.String entryName, SymtabEntry entry, java.io.PrintWriter stream)
int
helperType(int index, java.lang.String indent, TCOffsets tcoffsets, java.lang.String name, SymtabEntry entry, java.io.PrintWriter stream)
void
helperWrite(SymtabEntry entry, java.io.PrintWriter stream)
protected void
init()
Initialize members unique to this generator.private boolean
isPseudo(InterfaceEntry i)
protected void
openStream()
int
read(int index, java.lang.String indent, java.lang.String name, SymtabEntry entry, java.io.PrintWriter stream)
int
type(int index, java.lang.String indent, TCOffsets tcoffsets, java.lang.String name, SymtabEntry entry, java.io.PrintWriter stream)
int
write(int index, java.lang.String indent, java.lang.String name, SymtabEntry entry, java.io.PrintWriter stream)
protected void
writeClosing()
protected void
writeHeading()
protected void
writeOperationsBody()
protected void
writeOperationsHeading()
protected void
writeSignatureBody()
protected void
writeSignatureHeading()
-
-
-
Field Detail
-
emit
protected int emit
-
factories
protected Factories factories
-
symbolTable
protected java.util.Hashtable symbolTable
-
i
protected InterfaceEntry i
-
stream
protected java.io.PrintWriter stream
-
SIGNATURE
protected static final int SIGNATURE
- See Also:
- Constant Field Values
-
OPERATIONS
protected static final int OPERATIONS
- See Also:
- Constant Field Values
-
intfType
protected int intfType
-
-
Method Detail
-
generate
public void generate(java.util.Hashtable symbolTable, InterfaceEntry i, java.io.PrintWriter stream)
Generate the interface and all the files associated with it. Provides general algorithm for binding generation: 1.) Initialize symbol table and symbol table entry members, common to all generators. 2.) Generate the skeleton if required by calling generateSkeletn () 3.) Generate the holder by calling generateHolder () 4.) Generate the helper by calling generateHelper () 5.) Generate the stub if required by calling generateStub () 6.) Generate the interface by calling generateInterface ()- Specified by:
generate
in interfaceInterfaceGen
-
init
protected void init()
Initialize members unique to this generator.
-
generateSkeleton
protected void generateSkeleton()
Generate a Skeleton when the user does not want just the client-side code.
-
generateStub
protected void generateStub()
Generate a Stub when the user does not want just the server-side code.
-
generateHelper
protected void generateHelper()
Generate a Helper when the user does not want just the server-side code.
-
generateHolder
protected void generateHolder()
Generate a Holder when the user does not want just the server-side code.
-
generateInterface
private void generateInterface()
Generate the interface. Provides general algorithm for binding generation: 1.) Initialize members unique to this generator. - init () 2.) Open print stream - openStream () 3.) Write class heading (package, prologue, class statement, open curly - writeHeading () 4.) Write class body (member data and methods) - write*Body () 5.) Write class closing (close curly) - writeClosing () 6.) Close the print stream - closeStream () For CORBA 2.3, interfaces are mapped to Operations and Signature interfaces. The Operations interface contains the method definitions. The Signature interface extends the Operations interface and adds CORBA::Object.
-
openStream
protected void openStream()
-
writeHeading
protected void writeHeading()
-
writeSignatureHeading
protected void writeSignatureHeading()
-
writeOperationsHeading
protected void writeOperationsHeading()
-
writeOperationsBody
protected void writeOperationsBody()
-
writeSignatureBody
protected void writeSignatureBody()
-
writeClosing
protected void writeClosing()
-
closeStream
protected void closeStream()
-
helperType
public int helperType(int index, java.lang.String indent, TCOffsets tcoffsets, java.lang.String name, SymtabEntry entry, java.io.PrintWriter stream)
- Specified by:
helperType
in interfaceJavaGenerator
-
type
public int type(int index, java.lang.String indent, TCOffsets tcoffsets, java.lang.String name, SymtabEntry entry, java.io.PrintWriter stream)
- Specified by:
type
in interfaceJavaGenerator
-
helperRead
public void helperRead(java.lang.String entryName, SymtabEntry entry, java.io.PrintWriter stream)
- Specified by:
helperRead
in interfaceJavaGenerator
-
helperWrite
public void helperWrite(SymtabEntry entry, java.io.PrintWriter stream)
- Specified by:
helperWrite
in interfaceJavaGenerator
-
read
public int read(int index, java.lang.String indent, java.lang.String name, SymtabEntry entry, java.io.PrintWriter stream)
- Specified by:
read
in interfaceJavaGenerator
-
write
public int write(int index, java.lang.String indent, java.lang.String name, SymtabEntry entry, java.io.PrintWriter stream)
- Specified by:
write
in interfaceJavaGenerator
-
isPseudo
private boolean isPseudo(InterfaceEntry i)
- Returns:
- true if the entry is for a CORBA pseudo-object.
-
-