public String buildStructClasses()

in dbus-java-utils/src/main/java/org/freedesktop/dbus/utils/generator/StructTreeBuilder.java [46:85]


    public String buildStructClasses(String _dbusSig, String _structName, ClassBuilderInfo _clzBldr, List<ClassBuilderInfo> _generatedClasses) throws DBusException {

        if (StringUtil.isBlank(_dbusSig) || _generatedClasses == null) {
            return null;
        }

        List<StructTree> structTree = buildTree(_dbusSig);

        String parentType = null;
        if (!structTree.isEmpty() && Collection.class.isAssignableFrom(structTree.get(0).getDataType())) {
            parentType = structTree.get(0).getDataType().getName();
            structTree = structTree.get(0).getSubType();
        }

        int cnt = 0;
        for (StructTree treeItem : structTree) {
            ClassBuilderInfo info = new ClassBuilderInfo();
            info.setClassName(StringUtil.upperCaseFirstChar(_structName));
            info.setPackageName(_clzBldr.getPackageName());
            info.setExtendClass(Struct.class.getName());
            info.setClassType(ClassType.CLASS);

            _clzBldr.getImports().add(info.getFqcn());

            _generatedClasses.add(info);

            if (cnt == 0 && parentType != null) {
                parentType += "<" + info.getClassName() + ">";
                cnt++;
            }

            if (!treeItem.getSubType().isEmpty()) {
                createNested(treeItem.getSubType(), info, _generatedClasses);
            }
            _clzBldr.getImports().addAll(info.getImports());
        }

        return parentType == null ? _clzBldr.getPackageName() + "." + _structName : parentType;

    }