private static void printInterface(int indent, Interface intf) throws IOException { indentLine( indent, "<" + intf.getInterfaceClassName() + " number='" + intf.getNumber() + "' alt='" + intf.getAlternateSetting() + "' endpoints='" + intf.getNumEndpoints() + "'"); indentLine( indent + 4, "class='" + intf.getInterfaceClass() + "' subclass='" + intf.getInterfaceSubClass() + "' protocol='" + intf.getInterfaceProtocol() + "'>"); indent += 2; maybePrintDescriptors(indent, intf.nextDescriptor()); for (int ep = 0; ep < intf.getNumEndpoints(); ep++) try { printEndpoint(indent, intf.getEndpoint(ep)); } catch (IOException e) { indentLine(indent, "<!-- CAN'T GET ENDPOINT: "); e.printStackTrace(System.out); indentLine(indent, "-->"); } // FIXME: can print interface class details indentLine(indent, "</" + intf.getInterfaceClassName() + ">"); }