org.jacorb.idl

Class SequenceType

public class SequenceType extends VectorType

IDL sequences.

Version: $Id: SequenceType.java,v 1.43 2006/07/13 10:41:56 alphonse.bendt Exp $

Author: Gerald Brose

Field Summary
ConstExprmax
Constructor Summary
SequenceType(int num)
Method Summary
StringclassName()
Objectclone()
Stringfull_name()
static intgetNumber()
StringgetTypeCodeExpression()
StringhelperName()
StringholderName()
intlength()
voidparse()
The parsing phase.
voidprint(PrintWriter out)
read
voidprintExtractResult(PrintWriter out, String resultname, String anyname, String resulttype)
voidprintInsertIntoAny(PrintWriter out, String anyname, String varname)
StringprintReadStatement(String var_name, String streamname)
We have to distinguish between sequence types that have been explicitly declared as types with a typedef and those that are declared as anonymous types in structs or unions.
StringprintWriteStatement(String var_name, String streamname)
voidsetEnclosingSymbol(IdlSymbol symbol)
voidsetPackage(String pkg)
TypeSpectypeSpec()
since the sequence type's name depends on a declarator given in the typedef, the name varilabe has to be set explicitly by the TypeDef object before this sequence type can be used.

Field Detail

max

public ConstExpr max

Constructor Detail

SequenceType

public SequenceType(int num)

Method Detail

className

public String className()

clone

public Object clone()

full_name

public String full_name()

getNumber

public static int getNumber()

getTypeCodeExpression

public String getTypeCodeExpression()

Returns: a string for an expression of type TypeCode that describes this type

helperName

public String helperName()

holderName

public String holderName()

length

public int length()

parse

public void parse()
The parsing phase.

print

public void print(PrintWriter out)
read

printExtractResult

public void printExtractResult(PrintWriter out, String resultname, String anyname, String resulttype)

printInsertIntoAny

public void printInsertIntoAny(PrintWriter out, String anyname, String varname)

printReadStatement

public String printReadStatement(String var_name, String streamname)
We have to distinguish between sequence types that have been explicitly declared as types with a typedef and those that are declared as anonymous types in structs or unions. In the latter case, we have to generate marshalling code in-line because there are no helpers for anonymous types

printWriteStatement

public String printWriteStatement(String var_name, String streamname)

setEnclosingSymbol

public void setEnclosingSymbol(IdlSymbol symbol)

setPackage

public void setPackage(String pkg)

typeSpec

public TypeSpec typeSpec()
since the sequence type's name depends on a declarator given in the typedef, the name varilabe has to be set explicitly by the TypeDef object before this sequence type can be used.