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 booleanprivate Vector<MethodEntry> private booleanprivate Vector<SymtabEntry> (package private) static ValueGenFields inherited from class InterfaceEntry
_allMethods, forwardedDerivers, interfaceGenFields inherited from class SymtabEntry
includeStack, maxKey, setEmitFields inherited from interface InterfaceType
ABSTRACT, LOCAL, LOCAL_SIGNATURE_ONLY, LOCALSERVANT, NORMAL -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedprotectedValueEntry(SymtabEntry that, IDLID clone) protectedValueEntry(ValueEntry that) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddSupport(SymtabEntry supports) Add an InterfaceEntry to the list of interfaces which this value supports.voidaddSupportName(String name) Add to the list of support names.clone()This is a shallow copy clone(package private) voidderivedFromAddElement(SymtabEntry e, boolean isSafe, Scanner scanner) Add a parent value type to the list of parent types for the value.(package private) voidderivedFromAddElement(SymtabEntry e, Scanner scanner) voidgenerate(Hashtable symbolTable, PrintWriter stream) Invoke the interface generator.Access the value generator.(package private) voidinitializersAddElement(MethodEntry method, Scanner scanner) booleanisCustom()Get the 'custom' marshaling property.booleanisSafe()Return whether or not the value type can be "safely" truncated to its concrete parent type.booleanreplaceForwardDecl(ForwardEntry oldEntry, InterfaceEntry newEntry) voidsetCustom(boolean isCustom) Set the 'custom' marshaling property.supports()This method returns a vector ofInterfaceEntrys.This method returns a vector of Strings, each of which is a fully qualified name of an interface.voidTag 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 InterfaceEntry
addContained, addDerivedFrom, addDerivedFromName, addMethod, addParentType, addStateElement, addToForwardedAllMethods, allMethods, contained, derivedFrom, derivedFromNames, getInterfaceType, initState, isAbstract, isLocal, isLocalServant, isLocalSignature, methods, methodsAddElement, setInterfaceType, stateMethods inherited from class 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:SymtabEntryThis is a shallow copy clone- Overrides:
clonein classInterfaceEntry
-
generate
Invoke the interface generator.- Overrides:
generatein 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:
generatorin 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- aForwardEntryorInterfaceEntry
-
supports
This method returns a vector ofInterfaceEntrys.- Returns:
- a
VectorofInterfaceEntry
-
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:
derivedFromAddElementin classInterfaceEntry
-
replaceForwardDecl
- Overrides:
replaceForwardDeclin 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
-