Package org.wildfly.iiop.openjdk.rmi
Class ContainerAnalysis
java.lang.Object
org.wildfly.iiop.openjdk.rmi.ClassAnalysis
org.wildfly.iiop.openjdk.rmi.ContainerAnalysis
- Direct Known Subclasses:
InterfaceAnalysis,ValueAnalysis
Common base class of ValueAnalysis and InterfaceAnalysis.
Routines here are conforming to the "Java(TM) Language to IDL Mapping
Specification", version 1.1 (01-06-07).
- Version:
- $Revision: 63378 $
- Author:
- Ole Husgaard, Dimitris Andreadis
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected ValueAnalysis[]Array of analysis of the abstract base valuetypes implemented/extended here.protected AttributeAnalysis[]Array of attributes.protected longThe class hash code, as specified in "The Common Object Request Broker: Architecture and Specification" (01-02-33), section 10.6.2.protected ConstantAnalysis[]Array of Constants.protected final byteFlags a field as being a constant (public final static).protected byte[]Array with flags for all java fields.protected final byteFlags a field as being the specialpublic final static java.io.ObjectStreamField[] serialPersistentFieldsfield.protected Field[]Array of all java fields.protected InterfaceAnalysis[]Array of analysis of the interfaces implemented/extended here.protected byte[]Array with flags for all java methods.protected final byteFlags a method as being inherited.protected final byteFlags a method as overloaded.protected final byteFlags a method as the accessor of a read-write property.protected final byteFlags a method as the accessor of a read-only property.protected final byteFlags a method as the mutator of a read-write property.protected final byteFlags a method as being the writeObject() method used for serialization.protected StringThe prefix and postfix of members repository ID.protected StringThe prefix and postfix of members repository ID.protected Method[]Array of all java methods.protected int[]Index of the mutator for read-write attributes.protected OperationAnalysis[]Array of operations.protected StringThe repository ID.Fields inherited from class org.wildfly.iiop.openjdk.rmi.ClassAnalysis
cls -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidAnalyse attributes.protected voidAnalyse constants.protected voidAnalyze the fields of the class.protected voidAnalyze the interfaces of the class.protected voidAnalyze the methods of the class.protected voidAnalyse operations.protected StringattributeReadName(String name) Convert an attribute read method name in Java format to an attribute name in Java format.protected StringattributeWriteName(String name) Convert an attribute write method name in Java format to an attribute name in Java format.protected voidReturn the class hash code, as specified in "The Common Object Request Broker: Architecture and Specification" (01-02-33), section 10.6.2.protected voidReturn the IR global ID of the given class or interface.protected voidprotected StringescapeIRName(String name) Escape non-ISO characters for an IR name.protected voidFixup names differing only in case.protected voidFixup overloaded operation names.Return the abstract base valuetypes.Return the attributes.Return the constants.protected abstract ArrayListReturn a list of all the entries contained here.Return the fully qualified IDL module name that this analysis should be placed in.Return my unqualified IDL name.Return the interfaces.Return my unqualified java name.getMemberRepositoryId(String memberName) Return a repository ID for a member.Return the operations.Return the repository ID.protected booleanCheck if a method throws anything checked other than java.rmi.RemoteException and its subclasses.protected booleanisAccessor(Method m) Check if a method is an accessor.protected booleanCheck if a method is a mutator.protected StringtoHexString(int i) Convert an integer to a 16-digit hex string.protected StringtoHexString(long l) Convert a long to a 16-digit hex string.Methods inherited from class org.wildfly.iiop.openjdk.rmi.ClassAnalysis
getCls
-
Field Details
-
M_OVERLOADED
protected final byte M_OVERLOADEDFlags a method as overloaded.- See Also:
-
M_READ
protected final byte M_READFlags a method as the accessor of a read-write property.- See Also:
-
M_WRITE
protected final byte M_WRITEFlags a method as the mutator of a read-write property.- See Also:
-
M_READONLY
protected final byte M_READONLYFlags a method as the accessor of a read-only property.- See Also:
-
M_INHERITED
protected final byte M_INHERITEDFlags a method as being inherited.- See Also:
-
M_WRITEOBJECT
protected final byte M_WRITEOBJECTFlags a method as being the writeObject() method used for serialization.- See Also:
-
F_CONSTANT
protected final byte F_CONSTANTFlags a field as being a constant (public final static).- See Also:
-
F_SPFFIELD
protected final byte F_SPFFIELDFlags a field as being the specialpublic final static java.io.ObjectStreamField[] serialPersistentFieldsfield.- See Also:
-
methods
Array of all java methods. -
m_flags
protected byte[] m_flagsArray with flags for all java methods. -
mutators
protected int[] mutatorsIndex of the mutator for read-write attributes. Only entriesiwhere(m_flags[i]&M_READ) != 0are used. These entries contain the index of the mutator method corresponding to the accessor method. -
fields
Array of all java fields. -
f_flags
protected byte[] f_flagsArray with flags for all java fields. -
classHashCode
protected long classHashCodeThe class hash code, as specified in "The Common Object Request Broker: Architecture and Specification" (01-02-33), section 10.6.2. -
repositoryId
The repository ID. This is in the RMI hashed format, like "RMI:java.util.Hashtable:C03324C0EA357270:13BB0F25214AE4B8". -
memberPrefix
The prefix and postfix of members repository ID. These are used to calculate member repository IDs and are like "RMI:java.util.Hashtable." and ":C03324C0EA357270:13BB0F25214AE4B8". -
memberPostfix
The prefix and postfix of members repository ID. These are used to calculate member repository IDs and are like "RMI:java.util.Hashtable." and ":C03324C0EA357270:13BB0F25214AE4B8". -
interfaces
Array of analysis of the interfaces implemented/extended here. -
abstractBaseValuetypes
Array of analysis of the abstract base valuetypes implemented/extended here. -
attributes
Array of attributes. -
constants
Array of Constants. -
operations
Array of operations.
-
-
Constructor Details
-
ContainerAnalysis
-
-
Method Details
-
doAnalyze
- Throws:
RMIIIOPViolationException
-
getInterfaces
Return the interfaces. -
getAbstractBaseValuetypes
Return the abstract base valuetypes. -
getAttributes
Return the attributes. -
getConstants
Return the constants. -
getOperations
Return the operations. -
getRepositoryId
Return the repository ID. -
getMemberRepositoryId
Return a repository ID for a member.- Parameters:
memberName- The Java name of the member.
-
getIDLModuleName
Return the fully qualified IDL module name that this analysis should be placed in. -
toHexString
Convert an integer to a 16-digit hex string. -
toHexString
Convert a long to a 16-digit hex string. -
isAccessor
Check if a method is an accessor. -
isMutator
Check if a method is a mutator. -
hasNonAppExceptions
Check if a method throws anything checked other than java.rmi.RemoteException and its subclasses. -
analyzeFields
protected void analyzeFields()Analyze the fields of the class. This will fill in thefieldsandf_flagsarrays. -
analyzeInterfaces
Analyze the interfaces of the class. This will fill in theinterfacesarray.- Throws:
RMIIIOPViolationException
-
analyzeMethods
protected void analyzeMethods()Analyze the methods of the class. This will fill in themethodsandm_flagsarrays. -
attributeReadName
Convert an attribute read method name in Java format to an attribute name in Java format. -
attributeWriteName
Convert an attribute write method name in Java format to an attribute name in Java format. -
analyzeConstants
Analyse constants. This will fill in theconstantsarray.- Throws:
RMIIIOPViolationException
-
analyzeAttributes
Analyse attributes. This will fill in theattributesarray.- Throws:
RMIIIOPViolationException
-
analyzeOperations
Analyse operations. This will fill in theoperationsarray. This implementation just creates an empty array; override in subclasses for a real analysis.- Throws:
RMIIIOPViolationException
-
fixupOverloadedOperationNames
Fixup overloaded operation names. As specified in section 1.3.2.6.- Throws:
RMIIIOPViolationException
-
fixupCaseNames
Fixup names differing only in case. As specified in section 1.3.2.7.- Throws:
RMIIIOPViolationException
-
getContainedEntries
Return a list of all the entries contained here. -
calculateClassHashCode
protected void calculateClassHashCode()Return the class hash code, as specified in "The Common Object Request Broker: Architecture and Specification" (01-02-33), section 10.6.2. -
escapeIRName
Escape non-ISO characters for an IR name. -
calculateRepositoryId
protected void calculateRepositoryId()Return the IR global ID of the given class or interface. This is described in section 1.3.5.7. The returned string is in the RMI hashed format, like "RMI:java.util.Hashtable:C03324C0EA357270:13BB0F25214AE4B8". -
getIDLName
Return my unqualified IDL name. -
getJavaName
Return my unqualified java name.
-