org.jacorb.idl
Class SequenceType

java.lang.Object
  extended byorg.jacorb.idl.runtime.symbol
      extended byorg.jacorb.idl.IdlSymbol
          extended byorg.jacorb.idl.TypeSpec
              extended byorg.jacorb.idl.SimpleTypeSpec
                  extended byorg.jacorb.idl.TemplateTypeSpec
                      extended byorg.jacorb.idl.VectorType
                          extended byorg.jacorb.idl.SequenceType

public class SequenceType
extends VectorType

IDL sequences.

Version:
$Id: SequenceType.java,v 1.35 2004/01/15 12:38:18 nick.cross Exp $
Author:
Gerald Brose

Field Summary
 org.jacorb.idl.ConstExpr max
           
 
Fields inherited from class org.jacorb.idl.VectorType
typedefd
 
Fields inherited from class org.jacorb.idl.TypeSpec
alias
 
Fields inherited from class org.jacorb.idl.IdlSymbol
_id, enclosing_symbol, fileSeparator, included, inhibitionFlag, is_pseudo, omg_package_prefix, pack_name
 
Fields inherited from class org.jacorb.idl.runtime.symbol
parse_state, sym
 
Constructor Summary
SequenceType(int num)
           
 
Method Summary
 java.lang.String className()
           
 java.lang.Object clone()
           
 java.lang.String full_name()
           
static int getNumber()
           
 java.lang.String getTypeCodeExpression()
           
 java.lang.String helperName()
           
 java.lang.String holderName()
           
 int length()
           
 void parse()
          The parsing phase.
 void print(java.io.PrintWriter _ps)
           
 java.lang.String printReadStatement(java.lang.String var_name, java.lang.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.
 java.lang.String printWriteStatement(java.lang.String var_name, java.lang.String streamname)
           
 void setEnclosingSymbol(IdlSymbol s)
           
 void setPackage(java.lang.String s)
           
 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.
 
Methods inherited from class org.jacorb.idl.VectorType
basic, elementTypeExpression, elementTypeName, elementTypeSpec, markTypeDefd, printReadExpression, setTypeSpec, toString, typeName
 
Methods inherited from class org.jacorb.idl.TypeSpec
getIDLTypeName, getJavaTypeName, getTypeCodeExpression, printExtractExpression, printInsertExpression, set_constr
 
Methods inherited from class org.jacorb.idl.IdlSymbol
accept, addImportedAlias, addImportedName, addImportedName, addImportedNameHolder, deEscapeName, escapeName, generateIncluded, get_token, getEnclosingSymbol, id, is_included, is_pseudo, isEscaped, name, new_num, omgPrefix, printIdMethod, printImport, set_name, set_pseudo, set_token, setPrintPhaseNames
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

max

public org.jacorb.idl.ConstExpr max
Constructor Detail

SequenceType

public SequenceType(int num)
Method Detail

clone

public java.lang.Object clone()
Overrides:
clone in class TypeSpec

setEnclosingSymbol

public void setEnclosingSymbol(IdlSymbol s)
Overrides:
setEnclosingSymbol in class TypeSpec

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.

Overrides:
typeSpec in class TypeSpec

setPackage

public void setPackage(java.lang.String s)
Overrides:
setPackage in class TypeSpec

length

public int length()
Specified by:
length in class VectorType
Returns:
the length of this array or sequence. For multi-dimensional vectors, this is the outermost dimension. For open sequences, this length is 0.

getTypeCodeExpression

public java.lang.String getTypeCodeExpression()
Overrides:
getTypeCodeExpression in class TypeSpec
Returns:
a string for an expression of type TypeCode that describes this type

getNumber

public static int getNumber()

printReadStatement

public java.lang.String printReadStatement(java.lang.String var_name,
                                           java.lang.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

Overrides:
printReadStatement in class TypeSpec

printWriteStatement

public java.lang.String printWriteStatement(java.lang.String var_name,
                                            java.lang.String streamname)
Overrides:
printWriteStatement in class TypeSpec

holderName

public java.lang.String holderName()
Specified by:
holderName in class VectorType

helperName

public java.lang.String helperName()
Specified by:
helperName in class VectorType

className

public java.lang.String className()

parse

public void parse()
The parsing phase.


full_name

public java.lang.String full_name()
Returns:
fully scoped IDL identifier

print

public void print(java.io.PrintWriter _ps)
Overrides:
print in class TypeSpec