Package com.sun.tools.corba.ee.idl
Class ValueEntry
java.lang.Object
com.sun.tools.corba.ee.idl.SymtabEntry
com.sun.tools.corba.ee.idl.InterfaceEntry
com.sun.tools.corba.ee.idl.ValueEntry
- All Implemented Interfaces:
InterfaceType
- Direct Known Subclasses:
ValueBoxEntry
This is the symbol table entry for values.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate boolean
private Vector
<MethodEntry> private boolean
private Vector
<SymtabEntry> (package private) static ValueGen
Fields inherited from class com.sun.tools.corba.ee.idl.InterfaceEntry
_allMethods, forwardedDerivers, interfaceGen
Fields inherited from class com.sun.tools.corba.ee.idl.SymtabEntry
includeStack, maxKey, setEmit
Fields inherited from interface com.sun.tools.corba.ee.idl.InterfaceType
ABSTRACT, LOCAL, LOCAL_SIGNATURE_ONLY, LOCALSERVANT, NORMAL
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
protected
ValueEntry
(SymtabEntry that, IDLID clone) protected
ValueEntry
(ValueEntry that) -
Method Summary
Modifier and TypeMethodDescriptionvoid
addSupport
(SymtabEntry supports) Add an InterfaceEntry to the list of interfaces which this value supports.void
addSupportName
(String name) Add to the list of support names.clone()
This is a shallow copy clone(package private) void
derivedFromAddElement
(SymtabEntry e, boolean isSafe, Scanner scanner) Add a parent value type to the list of parent types for the value.(package private) void
derivedFromAddElement
(SymtabEntry e, Scanner scanner) void
generate
(Hashtable symbolTable, PrintWriter stream) Invoke the interface generator.Access the value generator.(package private) void
initializersAddElement
(MethodEntry method, Scanner scanner) boolean
isCustom()
Get the 'custom' marshaling property.boolean
isSafe()
Return whether or not the value type can be "safely" truncated to its concrete parent type.boolean
replaceForwardDecl
(ForwardEntry oldEntry, InterfaceEntry newEntry) void
setCustom
(boolean isCustom) Set the 'custom' marshaling property.supports()
This method returns a vector ofInterfaceEntry
s.This method returns a vector of Strings, each of which is a fully qualified name of an interface.void
Tag all methods introduced by the value type as 'value methods' so they can be differentiated in the emitters from any interface methods that the value type supports.Methods inherited from class com.sun.tools.corba.ee.idl.InterfaceEntry
addContained, addDerivedFrom, addDerivedFromName, addMethod, addParentType, addStateElement, addToForwardedAllMethods, allMethods, contained, derivedFrom, derivedFromNames, getInterfaceType, initState, isAbstract, isLocal, isLocalServant, isLocalSignature, methods, methodsAddElement, setInterfaceType, state
Methods inherited from class com.sun.tools.corba.ee.idl.SymtabEntry
comment, comment, container, container, dynamicVariable, dynamicVariable, emit, emit, enteringInclude, exitingInclude, fullName, getVariableKey, growVars, initDynamicVars, isReferencable, isReferencable, module, module, name, name, repositoryID, repositoryID, sourceFile, sourceFile, type, type, typeName, typeName
-
Field Details
-
_supportsNames
-
_supports
-
_initializers
-
_custom
private boolean _custom -
_isSafe
private boolean _isSafe -
valueGen
-
-
Constructor Details
-
ValueEntry
protected ValueEntry() -
ValueEntry
-
ValueEntry
-
-
Method Details
-
clone
Description copied from class:SymtabEntry
This is a shallow copy clone- Overrides:
clone
in classInterfaceEntry
-
generate
Invoke the interface generator.- Overrides:
generate
in classInterfaceEntry
- Parameters:
symbolTable
- The symbol table is a hash table whose key is a fully qualified type name and whose value is a SymtabEntry or a subclass of SymtabEntry.stream
- The stream to which the generator should sent its output.- See Also:
-
generator
Access the value generator.- Overrides:
generator
in classInterfaceEntry
- Returns:
- an object which implements the ValueGen interface.
- See Also:
-
addSupport
Add an InterfaceEntry to the list of interfaces which this value supports. During parsing, the parameter to this method COULD be a ForwardEntry, but when parsing is complete, calling supports will return a vector which only contains InterfaceEntry's.- Parameters:
supports
- aForwardEntry
orInterfaceEntry
-
supports
This method returns a vector ofInterfaceEntry
s.- Returns:
- a
Vector
ofInterfaceEntry
-
addSupportName
Add to the list of support names.- Parameters:
name
- name to add
-
supportsNames
This method returns a vector of Strings, each of which is a fully qualified name of an interface. This vector corresponds to the supports vector. The first element of this vector is the name of the first element of the supports vector, etc. -
derivedFromAddElement
Add a parent value type to the list of parent types for the value. This method:- Allows only the first added class to be concrete if the receiver is concrete.
- Does not allow any added classes to be concrete if the receiver is abstract.
- Does not allow duplicate classes to be added.
-
derivedFromAddElement
- Overrides:
derivedFromAddElement
in classInterfaceEntry
-
replaceForwardDecl
- Overrides:
replaceForwardDecl
in classInterfaceEntry
-
initializersAddElement
-
initializers
-
tagMethods
public void tagMethods()Tag all methods introduced by the value type as 'value methods' so they can be differentiated in the emitters from any interface methods that the value type supports. -
isCustom
public boolean isCustom()Get the 'custom' marshaling property.- Returns:
- if the entry should be marshaled customly
-
setCustom
public void setCustom(boolean isCustom) Set the 'custom' marshaling property.- Parameters:
isCustom
- if the entry should be marshaled customly
-
isSafe
public boolean isSafe()Return whether or not the value type can be "safely" truncated to its concrete parent type.- Returns:
- true if it can be safely truncated
-