org.jacorb.idl

Class ScopedName

public class ScopedName extends SimpleTypeSpec implements SwitchTypeSpec

IDL scoped names

Version: $Id: ScopedName.java,v 1.37 2006/06/20 12:14:35 alphonse.bendt Exp $

Author: Gerald Brose

Field Summary
StringtypeName
Constructor Summary
ScopedName(int num)
Method Summary
static voidaddRecursionScope(String typeName)
booleanbasic()
Objectclone()
static voiddefinePseudoScope(String name)
Interfaces define a new scope, but since we can't do that in Java, this kind of scope is called a 'pseudo scope' and is just prepended to the interface name
static voidenumMap(String n, String m)
enumerations don't define new scopes in IDL, but their mapping to Java introduces a new scope by generating a new class for the enum's type.
voidescapeName()
StringgetTypeCodeExpression()
StringholderName()
Stringid()
booleanisEscaped(String name)
static booleanisPseudoScope(String name)
static booleanisRecursionScope(String typeName)
booleanisSwitchable()
booleanis_pseudo()
StringIDLName()
voidparse()
voidprint(PrintWriter ps)
StringprintExtractExpression()
StringprintInsertExpression()
StringprintReadExpression(String streamname)
StringprintWriteStatement(String var_name, String streamname)
static voidremoveRecursionScope(String typeName)
booleanresolved()
StringresolvedName()
TypeSpecresolvedTypeSpec()
voidsetEnclosingSymbol(IdlSymbol s)
voidsetId(String _id)
voidsetPackage(String s)
StringtoString()
StringtypeName()
TypeSpectypeSpec()
static StringunPseudoName(String name)
unPseudo transforms scoped names like module.Interface1.Interface2.Type_name to module.Interface1Package.Interface2Package.Type_name

Field Detail

typeName

public String typeName

Constructor Detail

ScopedName

public ScopedName(int num)

Method Detail

addRecursionScope

public static void addRecursionScope(String typeName)

basic

public boolean basic()

clone

public Object clone()

definePseudoScope

public static void definePseudoScope(String name)
Interfaces define a new scope, but since we can't do that in Java, this kind of scope is called a 'pseudo scope' and is just prepended to the interface name

enumMap

public static void enumMap(String n, String m)
enumerations don't define new scopes in IDL, but their mapping to Java introduces a new scope by generating a new class for the enum's type. Thus, enumeration values have to be additionally scoped in Java.

escapeName

public void escapeName()

getTypeCodeExpression

public String getTypeCodeExpression()

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

holderName

public String holderName()

id

public String id()

isEscaped

public boolean isEscaped(String name)

isPseudoScope

public static boolean isPseudoScope(String name)

isRecursionScope

public static boolean isRecursionScope(String typeName)

isSwitchable

public boolean isSwitchable()

is_pseudo

public boolean is_pseudo()

IDLName

public String IDLName()

parse

public void parse()

print

public void print(PrintWriter ps)

printExtractExpression

public String printExtractExpression()

printInsertExpression

public String printInsertExpression()

printReadExpression

public String printReadExpression(String streamname)

printWriteStatement

public String printWriteStatement(String var_name, String streamname)

removeRecursionScope

public static void removeRecursionScope(String typeName)

resolved

public boolean resolved()

resolvedName

public String resolvedName()

resolvedTypeSpec

public TypeSpec resolvedTypeSpec()

setEnclosingSymbol

public void setEnclosingSymbol(IdlSymbol s)

setId

public void setId(String _id)

setPackage

public void setPackage(String s)

toString

public String toString()

typeName

public String typeName()

Returns: the fully qualified and resolved name in an intermediate format, i.e. with "Package" suffixes but without potential "omg.org" scopes

typeSpec

public TypeSpec typeSpec()

unPseudoName

public static String unPseudoName(String name)
unPseudo transforms scoped names like module.Interface1.Interface2.Type_name to module.Interface1Package.Interface2Package.Type_name