Lines 741-783
Link Here
|
741 |
ModelElement element; |
741 |
ModelElement element; |
742 |
Collection ancestors = new ArrayList(); |
742 |
Collection ancestors = new ArrayList(); |
743 |
Collection supertypes = objPackage.getSupertypes(); |
743 |
Collection supertypes = objPackage.getSupertypes(); |
744 |
String typeName; |
|
|
745 |
String elementName; |
746 |
|
747 |
for (Iterator it = supertypes.iterator(); it.hasNext();) { |
744 |
for (Iterator it = supertypes.iterator(); it.hasNext();) { |
748 |
ancestors.add(tagProvider.getTypeFullName((ModelElement) it.next()) + PACKAGE_POSTFIX); |
745 |
ancestors.add(tagProvider.getTypeFullName((ModelElement) it.next()) + PACKAGE_POSTFIX); |
749 |
} |
746 |
} |
750 |
if (ancestors.size() == 0) ancestors.add("javax.jmi.reflect.RefPackage"); |
747 |
if (ancestors.size() == 0) ancestors.add("javax.jmi.reflect.RefPackage"); |
751 |
interfaceHeader(tagProvider.getTypePrefix(objPackage), tagProvider.getSubstName(objPackage) + PACKAGE_POSTFIX, ancestors.toArray(), objPackage, DOC_PACKAGE); |
748 |
interfaceHeader(tagProvider.getTypePrefix(objPackage), tagProvider.getSubstName(objPackage) + PACKAGE_POSTFIX, ancestors.toArray(), objPackage, DOC_PACKAGE); |
752 |
|
749 |
|
|
|
750 |
ArrayList nestedPackages = new ArrayList(); |
751 |
ArrayList classes = new ArrayList(); |
752 |
ArrayList associations = new ArrayList(); |
753 |
ArrayList structureTypes = new ArrayList(); |
754 |
|
753 |
elements = objPackage.getContents(); |
755 |
elements = objPackage.getContents(); |
754 |
for (Iterator it = elements.iterator(); it.hasNext();) { |
756 |
for (Iterator it = elements.iterator(); it.hasNext();) { |
755 |
element = (ModelElement) it.next(); |
757 |
element = (ModelElement) it.next(); |
756 |
typeName = tagProvider.getTypeFullName(element); |
|
|
757 |
elementName = tagProvider.getSubstName(element); |
758 |
if (element instanceof Association) { |
758 |
if (element instanceof Association) { |
|
|
759 |
associations.add(element); |
759 |
} else if (element instanceof javax.jmi.model.MofClass) { |
760 |
} else if (element instanceof javax.jmi.model.MofClass) { |
760 |
typeName += CLASS_POSTFIX; |
761 |
classes.add(element); |
761 |
} else if (element instanceof MofPackage) { |
762 |
} else if (element instanceof MofPackage) { |
762 |
typeName += PACKAGE_POSTFIX; |
763 |
nestedPackages.add(element); |
763 |
} else if (element instanceof StructureType) { |
764 |
} else if (element instanceof StructureType) { |
764 |
structTemplate(element); |
765 |
structureTypes.add(element); |
765 |
continue; |
|
|
766 |
} else if (element instanceof Import) { |
766 |
} else if (element instanceof Import) { |
|
|
767 |
// addProxyGetter cannot handle Imports, and Imports come first |
768 |
// in the mapping, so go ahead and just generate the necessary |
769 |
// method now. |
767 |
Import imp = (Import) element; |
770 |
Import imp = (Import) element; |
768 |
if (imp.isClustered() && imp.getVisibility().equals(VisibilityKindEnum.PUBLIC_VIS)) { |
771 |
if (imp.isClustered() && VisibilityKindEnum.PUBLIC_VIS.equals(imp.getVisibility())) { |
769 |
Namespace namespace = imp.getImportedNamespace(); |
772 |
Namespace ns = imp.getImportedNamespace(); |
770 |
if (namespace instanceof MofPackage) { |
773 |
if (ns instanceof MofPackage && |
771 |
typeName = tagProvider.getTypeFullName(namespace) + PACKAGE_POSTFIX; |
774 |
VisibilityKindEnum.PUBLIC_VIS.equals(((MofPackage) ns).getVisibility())) { |
772 |
element = namespace; |
775 |
String typeName = tagProvider.getTypeFullName(element) + PACKAGE_POSTFIX; |
|
|
776 |
String elementName = tagProvider.getSubstName(element); |
777 |
interfaceMethod(typeName, "get" + elementName, null, null); |
773 |
} |
778 |
} |
774 |
} else { |
779 |
} else { |
775 |
Logger.getDefault().log("import: " + imp.getName() + " mofid: " + imp.refMofId() + " clustered: " + imp.isClustered() + " visibility: " + imp.getVisibility()); |
780 |
Logger.getDefault().log("import: " + imp.getName() + " mofid: " + imp.refMofId() + " clustered: " + imp.isClustered() + " visibility: " + imp.getVisibility()); |
776 |
continue; |
|
|
777 |
} |
781 |
} |
778 |
} else continue; |
782 |
} |
|
|
783 |
} |
784 |
|
785 |
addProxyGetter(objPackage, nestedPackages, PACKAGE_POSTFIX); |
786 |
addProxyGetter(objPackage, classes, CLASS_POSTFIX); |
787 |
addProxyGetter(objPackage, associations, ""); |
788 |
|
789 |
for (Iterator i = structureTypes.iterator(); i.hasNext(); ) { |
790 |
structTemplate((StructureType) i.next()); |
791 |
} |
792 |
|
793 |
interfaceFooter(tagProvider.getSubstName(objPackage) + PACKAGE_POSTFIX); |
794 |
} |
779 |
|
795 |
|
780 |
if (((GeneralizableElement) element).getVisibility().equals(VisibilityKindEnum.PUBLIC_VIS)) { |
796 |
void addProxyGetter(MofPackage objPackage, ArrayList list, String suffix) throws IOException { |
|
|
797 |
for (Iterator i = list.iterator(); i.hasNext(); ) { |
798 |
GeneralizableElement element = (GeneralizableElement) i.next(); |
799 |
if (VisibilityKindEnum.PUBLIC_VIS.equals(element.getVisibility())) { |
781 |
String methodComment = null, returnComment = null; |
800 |
String methodComment = null, returnComment = null; |
782 |
if (element instanceof Import) { |
801 |
if (element instanceof Import) { |
783 |
methodComment = DOC_PACKAGE_GET_IMPORT; |
802 |
methodComment = DOC_PACKAGE_GET_IMPORT; |
Lines 792-805
Link Here
|
792 |
methodComment = DOC_PACKAGE_GET_ASSOC; |
811 |
methodComment = DOC_PACKAGE_GET_ASSOC; |
793 |
returnComment = DOC_PACKAGE_GET_ASSOC_RETURN; |
812 |
returnComment = DOC_PACKAGE_GET_ASSOC_RETURN; |
794 |
} |
813 |
} |
|
|
814 |
String typeName = tagProvider.getTypeFullName(element); |
815 |
String elementName = tagProvider.getSubstName(element); |
795 |
if (methodComment != null) |
816 |
if (methodComment != null) |
796 |
methodJavaDoc(objPackage, false, methodComment, returnComment, null, null, new String [] {elementName}); |
817 |
methodJavaDoc(objPackage, false, methodComment, returnComment, null, null, new String [] {elementName}); |
797 |
interfaceMethod(typeName, "get" + elementName, null, null); |
818 |
interfaceMethod(typeName + suffix, "get" + elementName, null, null); |
798 |
} |
819 |
} |
799 |
} |
820 |
} |
800 |
|
|
|
801 |
interfaceFooter(tagProvider.getSubstName(objPackage) + PACKAGE_POSTFIX); |
802 |
} |
821 |
} |
|
|
822 |
|
803 |
|
823 |
|
804 |
// generates class for an exception |
824 |
// generates class for an exception |
805 |
protected void exceptionTemplate(MofException objException) throws IOException { |
825 |
protected void exceptionTemplate(MofException objException) throws IOException { |