@Override public void loadExtension(@NotNull JpsProject project, @NotNull Element componentTag) { JpsJavaProjectExtension extension = getService().getOrCreateProjectExtension(project); final Element output = componentTag.getChild(OUTPUT_TAG); if (output != null) { String url = output.getAttributeValue(URL_ATTRIBUTE); if (url != null) { extension.setOutputUrl(url); } } String languageLevel = componentTag.getAttributeValue(LANGUAGE_LEVEL_ATTRIBUTE); if (languageLevel != null) { extension.setLanguageLevel(LanguageLevel.valueOf(languageLevel)); } }
@Override public void saveExtension(@NotNull JpsProject project, @NotNull Element componentTag) { JpsJavaProjectExtension extension = getService().getProjectExtension(project); if (extension == null) return; String outputUrl = extension.getOutputUrl(); if (outputUrl != null) { componentTag.addContent(new Element(OUTPUT_TAG).setAttribute(URL_ATTRIBUTE, outputUrl)); } LanguageLevel level = extension.getLanguageLevel(); componentTag.setAttribute(LANGUAGE_LEVEL_ATTRIBUTE, level.name()); componentTag.setAttribute( "assert-keyword", Boolean.toString(level.compareTo(LanguageLevel.JDK_1_4) >= 0)); componentTag.setAttribute( "jdk-15", Boolean.toString(level.compareTo(LanguageLevel.JDK_1_5) >= 0)); }