org.jacorb.idl
Class ArrayTypeSpec

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.ArrayTypeSpec

public class ArrayTypeSpec
extends VectorType

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

Field Summary
 
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
ArrayTypeSpec(int num, TypeSpec elem, org.jacorb.idl.ArrayDeclarator ad, java.lang.String pack_name)
           
 
Method Summary
 java.lang.String className()
           
 java.lang.Object clone()
          clone this ArrayTypeSpec.
 java.lang.String getTypeCodeExpression()
           
 java.lang.String helperName()
           
 java.lang.String holderName()
           
 int length()
           
 void markTypeDefd()
          we have to be able to distinguish between explicitly typedef'd type names and anonymously defined type names
 void parse()
          empty parse
 void print(java.io.PrintWriter _ps)
           
 java.lang.String printReadStatement(java.lang.String var_name, java.lang.String streamname)
           
 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()
           
 
Methods inherited from class org.jacorb.idl.VectorType
basic, elementTypeExpression, elementTypeName, elementTypeSpec, 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
 

Constructor Detail

ArrayTypeSpec

public ArrayTypeSpec(int num,
                     TypeSpec elem,
                     org.jacorb.idl.ArrayDeclarator ad,
                     java.lang.String pack_name)
Method Detail

clone

public java.lang.Object clone()
clone this ArrayTypeSpec. The cloned object will not be parsed again.

Overrides:
clone in class TypeSpec

setEnclosingSymbol

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

typeSpec

public TypeSpec typeSpec()
Overrides:
typeSpec in class TypeSpec

setPackage

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

markTypeDefd

public void markTypeDefd()
we have to be able to distinguish between explicitly typedef'd type names and anonymously defined type names


parse

public void parse()
           throws ParseException
Description copied from class: IdlSymbol
empty parse

Throws:
ParseException

getTypeCodeExpression

public java.lang.String getTypeCodeExpression()
Overrides:
getTypeCodeExpression in class TypeSpec
Returns:
a string for an expression of type TypeCode that describes this type Array and sequence types always have this expression inlined in their containing classes because arrays and sequences can be locally defined (e,g, in a struct) without there being helper classes (so Helper.type() is not an option)

helperName

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

holderName

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

className

public java.lang.String className()

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.

printReadStatement

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

print

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