001/* 002 * SPDX-FileCopyrightText: none 003 * SPDX-License-Identifier: CC0-1.0 004 */ 005// Generated from: ../../../../../../metaschema/metaschema-bindings.yaml 006// Do not edit - changes will be lost when regenerated. 007 008package dev.metaschema.databind.config.binding; 009 010import java.net.URI; 011import java.util.List; 012 013import dev.metaschema.core.datatype.markup.MarkupLine; 014import dev.metaschema.core.datatype.markup.MarkupMultiline; 015import dev.metaschema.databind.IBindingContext; 016import dev.metaschema.databind.model.AbstractBoundModule; 017import dev.metaschema.databind.model.IBoundModule; 018import dev.metaschema.databind.model.annotations.MetaschemaModule; 019 020/** 021 * Metaschema Binding Configuration 022 * <p> 023 * This module defines the binding configuration format used to customize Java 024 * code generation from Metaschema modules. It allows specifying package names, 025 * class names, interface implementations, base classes, and collection types 026 * for generated binding classes. 027 * </p> 028 */ 029@MetaschemaModule( 030 assemblies = MetaschemaBindings.class, 031 remarks = "This module defines the binding configuration format used to customize\n" 032 + "Java code generation from Metaschema modules. It allows specifying\n" 033 + "package names, class names, interface implementations, base classes,\n" 034 + "and collection types for generated binding classes.") 035public final class MetaschemaBindingsModule 036 extends AbstractBoundModule { 037 private static final MarkupLine NAME = MarkupLine.fromMarkdown("Metaschema Binding Configuration"); 038 039 private static final String SHORT_NAME = "metaschema-bindings"; 040 041 private static final String VERSION = "1.0.0"; 042 043 private static final URI XML_NAMESPACE = URI.create("https://csrc.nist.gov/ns/metaschema-binding/1.0"); 044 045 private static final URI JSON_BASE_URI = URI.create("https://csrc.nist.gov/ns/metaschema-binding/1.0"); 046 047 private static final MarkupMultiline REMARKS 048 = MarkupMultiline.fromMarkdown("This module defines the binding configuration format used to customize\n" 049 + "Java code generation from Metaschema modules. It allows specifying\n" 050 + "package names, class names, interface implementations, base classes,\n" 051 + "and collection types for generated binding classes."); 052 053 /** 054 * Construct a new module instance. 055 * 056 * @param importedModules 057 * modules imported by this module 058 * @param bindingContext 059 * the binding context to associate with this module 060 */ 061 public MetaschemaBindingsModule(List<? extends IBoundModule> importedModules, 062 IBindingContext bindingContext) { 063 super(importedModules, bindingContext); 064 } 065 066 @Override 067 public MarkupLine getName() { 068 return NAME; 069 } 070 071 @Override 072 public String getShortName() { 073 return SHORT_NAME; 074 } 075 076 @Override 077 public String getVersion() { 078 return VERSION; 079 } 080 081 @Override 082 public URI getXmlNamespace() { 083 return XML_NAMESPACE; 084 } 085 086 @Override 087 public URI getJsonBaseUri() { 088 return JSON_BASE_URI; 089 } 090 091 @Override 092 public MarkupMultiline getRemarks() { 093 return REMARKS; 094 } 095}