org.jacorb.idl
Class ScopedName

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.ScopedName
All Implemented Interfaces:
org.jacorb.idl.SwitchTypeSpec

public class ScopedName
extends org.jacorb.idl.SimpleTypeSpec
implements org.jacorb.idl.SwitchTypeSpec


Field Summary
 java.lang.String typeName
           
 
Fields inherited from class org.jacorb.idl.TypeSpec
alias, type_spec
 
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
ScopedName(int num)
           
 
Method Summary
static void addRecursionScope(java.lang.String typeName)
           
 boolean basic()
           
 java.lang.Object clone()
           
static void definePseudoScope(java.lang.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 void enumMap(java.lang.String n, java.lang.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.
 void escapeName()
          A number of IDL constructs need to have their names checked for clashes with name reserved by Java or the Java Language Mapping.
 java.lang.String getTypeCodeExpression()
           
 java.lang.String holderName()
           
 java.lang.String id()
           
 java.lang.String IDLName()
           
 boolean is_pseudo()
          is this a PIDL symbol?
static boolean isPseudoScope(java.lang.String name)
           
static boolean isRecursionScope(java.lang.String typeName)
           
 boolean isSwitchable()
           
 void parse()
          empty parse
 void print(java.io.PrintWriter ps)
           
 java.lang.String printExtractExpression()
           
 java.lang.String printInsertExpression()
           
 java.lang.String printReadExpression(java.lang.String streamname)
           
 java.lang.String printWriteStatement(java.lang.String var_name, java.lang.String streamname)
           
static void removeRecursionScope(java.lang.String typeName)
           
 boolean resolved()
           
 java.lang.String resolvedName()
           
 TypeSpec resolvedTypeSpec()
           
 void setEnclosingSymbol(IdlSymbol s)
           
 void setId(java.lang.String _id)
           
 void setPackage(java.lang.String s)
           
 java.lang.String toString()
           
 java.lang.String typeName()
           
 TypeSpec typeSpec()
           
static java.lang.String unPseudoName(java.lang.String name)
          unPseudo transforms scoped names like module.Interface1.Interface2.Type_name to module.Interface1Package.Interface2Package.Type_name
 
Methods inherited from class org.jacorb.idl.TypeSpec
getIDLTypeName, getJavaTypeName, getTypeCodeExpression, printReadStatement, set_constr
 
Methods inherited from class org.jacorb.idl.IdlSymbol
accept, addImportedAlias, addImportedName, addImportedName, addImportedNameHolder, deEscapeName, generateIncluded, get_token, getEnclosingSymbol, is_included, 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

typeName

public java.lang.String typeName
Constructor Detail

ScopedName

public ScopedName(int num)
Method Detail

definePseudoScope

public static void definePseudoScope(java.lang.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


isPseudoScope

public static boolean isPseudoScope(java.lang.String name)

unPseudoName

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


enumMap

public static void enumMap(java.lang.String n,
                           java.lang.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.


clone

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

setId

public void setId(java.lang.String _id)

escapeName

public void escapeName()
Description copied from class: IdlSymbol
A number of IDL constructs need to have their names checked for clashes with name reserved by Java or the Java Language Mapping.

Overrides:
escapeName in class IdlSymbol

setEnclosingSymbol

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

parse

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

Overrides:
parse in class TypeSpec

resolved

public boolean resolved()

basic

public boolean basic()
Overrides:
basic in class TypeSpec
Returns:
true if this is a basic type

is_pseudo

public boolean is_pseudo()
Description copied from class: IdlSymbol
is this a PIDL symbol?

Overrides:
is_pseudo in class IdlSymbol

resolvedTypeSpec

public TypeSpec resolvedTypeSpec()

resolvedName

public java.lang.String resolvedName()

typeSpec

public TypeSpec typeSpec()
Overrides:
typeSpec in class TypeSpec

setPackage

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

typeName

public java.lang.String typeName()
Overrides:
typeName in class TypeSpec
Returns:
the fully qualified and resolved name in an intermediate format, i.e. with "Package" suffixes but without potential "omg.org" scopes

holderName

public java.lang.String holderName()
Overrides:
holderName in class TypeSpec

printReadExpression

public java.lang.String printReadExpression(java.lang.String streamname)
Overrides:
printReadExpression in class TypeSpec

printWriteStatement

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

printInsertExpression

public java.lang.String printInsertExpression()
Overrides:
printInsertExpression in class TypeSpec

printExtractExpression

public java.lang.String printExtractExpression()
Overrides:
printExtractExpression in class TypeSpec

getTypeCodeExpression

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

id

public java.lang.String id()
Overrides:
id in class IdlSymbol
Returns:
this symbol's repository Id

toString

public java.lang.String toString()
Overrides:
toString in class TypeSpec

print

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

IDLName

public java.lang.String IDLName()

addRecursionScope

public static void addRecursionScope(java.lang.String typeName)

removeRecursionScope

public static void removeRecursionScope(java.lang.String typeName)

isRecursionScope

public static boolean isRecursionScope(java.lang.String typeName)

isSwitchable

public boolean isSwitchable()
Specified by:
isSwitchable in interface org.jacorb.idl.SwitchTypeSpec