static Plugin fromJson()

in log4j-converter-plugin-descriptor/src/main/java/org/apache/logging/log4j/converter/plugins/internal/PluginDescriptors.java [310:341]


        static Plugin fromJson(final JsonParser parser, final String className) throws IOException {
            final Set<String> pluginNames = new TreeSet<>();
            final List<String> builderHierarchy = new ArrayList<>();
            String elementName = null;
            boolean printable = false, defer = false;
            assertObjectStart(parser);
            while (parser.nextToken() == JsonToken.FIELD_NAME) {
                switch (parser.currentName()) {
                    case PLUGIN_NAMES:
                        readArray(parser, pluginNames);
                        break;
                    case BUILDER_HIERARCHY:
                        // read and ignore
                        readArray(parser, builderHierarchy);
                        break;
                    case ELEMENT_NAME:
                        elementName = parser.nextTextValue();
                        break;
                    case DEFER:
                        defer = parser.nextBooleanValue();
                        break;
                    case PRINTABLE:
                        printable = parser.nextBooleanValue();
                        break;
                    default:
                        throw new IOException(
                                "Unknown property " + parser.currentName() + " for Plugin element " + className);
                }
            }
            assertObjectEnd(parser);
            return new Plugin(pluginNames, elementName, className, printable, defer, builderHierarchy);
        }