【Java开源代码栏目提醒】:网学会员在Java开源代码频道为大家收集整理了ListContentsAModule.java提供大家参考,希望对大家有所帮助!
package ejava.corbach15.irquery;
public class ListContentsAModule
{
public static String getIDLName(org.omg.CORBA.IDLType idlType)
{
org.omg.CORBA.Contained contained =
org.omg.CORBA.ContainedHelper.narrow(idlType);
if(contained == null){
return idlType.type().toString();
}else{
return contained.absolute_name();
}
}
private static void printStruct(org.omg.CORBA.StructDef structDef)
{
System.out.println("struct " + structDef.name() + " {");
org.omg.CORBA.StructMember[] structMemembers = structDef.members();
for(int i = 0; i < structMemembers.length; i++) {
String printValue = structMemembers[i].name;
System.out.println(printValue);
}
System.out.println("};");
}
public static void printAModule(org.omg.CORBA.Container container)
{
// get content of a module
org.omg.CORBA.Contained[] contained =
container.contents(org.omg.CORBA.DefinitionKind.dk_all, true);
// For each element, run through case statement to print info
for(int i = 0; i < contained.length; i++) {
{
switch(contained[i].def_kind().value())
{
case org.omg.CORBA.DefinitionKind._dk_Attribute:
{
org.omg.CORBA.AttributeDef attributeDef =
org.omg.CORBA.AttributeDefHelper.narrow(contained[i]);
String readonly = "";
if( attributeDef.mode() ==
org.omg.CORBA.AttributeMode.ATTR_READONLY ){
readonly = "readonly \" : \"";
}
System.out.println(readonly + "attribute " +
getIDLName(attributeDef.type_def()) + " " +
attributeDef.name() + ";");
}
break;
case org.omg.CORBA.DefinitionKind._dk_Constant:
{
org.omg.CORBA.ConstantDef constantDef =
org.omg.CORBA.ConstantDefHelper.narrow(contained[i]);
System.out.println("const " +
getIDLName(constantDef.type_def()) +
" " + constantDef.name() + " = " + constantDef.value() +
";");
}
break;
case org.omg.CORBA.DefinitionKind._dk_Exception:
{
org.omg.CORBA.ExceptionDef exceptionDef =
org.omg.CORBA.ExceptionDefHelper.narrow(contained[i]);
System.out.println("exception " + exceptionDef.name() + " {");
org.omg.CORBA.StructMember[] members = exceptionDef.members();
for(int j = 0; j < members.length; j++) {
System.out.println(getIDLName(members[j].type_def) + " " +
members[j].name + ";");
}
}
break;
case org.omg.CORBA.DefinitionKind._dk_Interface:
{
org.omg.CORBA.InterfaceDef interfaceDef =
org.omg.CORBA.InterfaceDefHelper.narrow(contained[i]);
org.omg.CORBA.InterfaceDefPackage.FullInterfaceDescription
interfaceDescription =
interfaceDef.describe_interface();
System.out.println("Operations in :"+interfaceDef.name());
for(int i1 = 0; i1 < interfaceDescription.operations.length;
i1++){
System.out.println(" " +
interfaceDescription.operations[i1].name +";");
}
for(int i2 = 0; i2 < interfaceDescription.attributes.length;
i2++){
System.out.println(" " +
interfaceDescription.attributes[i2].name +";");
}
}
break;
case org.omg.CORBA.DefinitionKind._dk_Operation:
{
System.out.println("Error : not implemented operation");
}
break;
case org.omg.CORBA.DefinitionKind._dk_Module:
{
org.omg.CORBA.ModuleDef module =
org.omg.CORBA.ModuleDefHelper.narrow(contained[i]);
System.out.println("Module name :" + module.name());
printAModule(org.omg.CORBA.ModuleDefHelper.narrow(contained[i]));
}
break;
case org.omg.CORBA.DefinitionKind._dk_Alias:
{
System.out.println("Error :not implemented alias");
}
break;
case org.omg.CORBA.DefinitionKind._dk_Struct:
{
org.omg.CORBA.StructDef structDef =
org.omg.CORBA.StructDefHelper.narrow(contained[i]);
System.out.println("struct " + structDef.name() + " {");
org.omg.CORBA.StructMember[] structMemembers = structDef.members();
for(int j = 0; j < structMemembers.length; j++)
{
String printValue = structMemembers[j].name;
System.out.println(printValue);
}
System.out.println("};");
}
break;
case org.omg.CORBA.DefinitionKind._dk_Union:
{
System.out.println("Error : not implemented Union");
}
break;
case org.omg.CORBA.DefinitionKind._dk_Enum:
{
System.out.println("Error : not implemented Enum");
}
break;
case org.omg.CORBA.DefinitionKind._dk_none:
{
System.out.println("Error : not implemented none");
}
break;
case org.omg.CORBA.DefinitionKind._dk_all:
{
System.out.println("Error : not implemented All");
}
break;
case org.omg.CORBA.DefinitionKind._dk_Typedef:
{
System.out.println("Error : not implemented Typedef");
}
break;
case org.omg.CORBA.DefinitionKind._dk_Primitive:
{
System.out.println("Error :not implemented Primitive");
}
break;
case org.omg.CORBA.DefinitionKind._dk_String:
{
System.out.println("Error :not implemented String");
}
break;
case org.omg.CORBA.DefinitionKind._dk_Sequence:
{
System.out.println("Error :not implemented Sequence");
}
break;
case org.omg.CORBA.DefinitionKind._dk_Array:
{
System.out.println("Error :not implemented Array");
}
break;
default:
break;
}
}
}
}
public static void main(String[] args)
{
if ( args.length == 0 ) {
System.out.println("Error: java ejava.corbach15.irquery. "+
" ListContentsOfAnIDL IdlName");
System.exit(1);
}
String queryingFor = args[0];
org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(args,null);
org.omg.CORBA.Repository repository =
org.omg.CORBA.RepositoryHelper.bind(orb);
org.omg.CORBA.ModuleDef moduleDefinition =
org.omg.CORBA.ModuleDefHelper.
narrow(repository.lookup(queryingFor));
printAModule(moduleDefinition);
}
}
上一篇:
ListContentProvider.java
下一篇:
Function GetIp(IP) 获得ip asp