Interface IBindingConfiguration

All Known Implementing Classes:
DefaultBindingConfiguration

public interface IBindingConfiguration
Provides configuration for Java class binding generation from Metaschema modules.

This interface defines how Metaschema module elements are mapped to Java classes, including package names, class names, base classes, and superinterfaces.

  • Method Summary

    Modifier and Type
    Method
    Description
    getBindingConfigurationForDefinition(dev.metaschema.core.model.IModelDefinition definition)
    Retrieve the binding configuration for the provided definition.
    getClassName(dev.metaschema.core.model.IModelDefinition definition)
    Get the Java class name for the provided field or assembly definition.
    getClassName(dev.metaschema.core.model.IModule module)
    Get the Java class name for the provided Module module.
    getPackageNameForModule(dev.metaschema.core.model.IModule module)
    Generates a Java package name for the provided Module module.
    getQualifiedBaseClassName(dev.metaschema.core.model.IModelDefinition definition)
    Get the Java class name of the base class to use for the class associated with the provided definition.
    getQualifiedSuperinterfaceClassNames(dev.metaschema.core.model.IModelDefinition definition)
    Get the Java class names of the superinterfaces to use for the class associated with the provided definition.
  • Method Details

    • getPackageNameForModule

      @NonNull String getPackageNameForModule(@NonNull dev.metaschema.core.model.IModule module)
      Generates a Java package name for the provided Module module.
      Parameters:
      module - the Module module to generate a package name for
      Returns:
      a Java package name
    • getClassName

      @NonNull String getClassName(@NonNull dev.metaschema.core.model.IModelDefinition definition)
      Get the Java class name for the provided field or assembly definition.
      Parameters:
      definition - the definition to generate the Java class name for
      Returns:
      a Java class name
    • getClassName

      @NonNull String getClassName(@NonNull dev.metaschema.core.model.IModule module)
      Get the Java class name for the provided Module module.
      Parameters:
      module - the Module module to generate the Java class name for
      Returns:
      a Java class name
    • getQualifiedBaseClassName

      @Nullable String getQualifiedBaseClassName(@NonNull dev.metaschema.core.model.IModelDefinition definition)
      Get the Java class name of the base class to use for the class associated with the provided definition.
      Parameters:
      definition - a definition that may be built as a class
      Returns:
      the name of the base class or null if no base class is to be used
    • getQualifiedSuperinterfaceClassNames

      @NonNull List<String> getQualifiedSuperinterfaceClassNames(@NonNull dev.metaschema.core.model.IModelDefinition definition)
      Get the Java class names of the superinterfaces to use for the class associated with the provided definition.
      Parameters:
      definition - a definition that may be built as a class
      Returns:
      a list of superinterface class names
    • getBindingConfigurationForDefinition

      @Nullable IDefinitionBindingConfiguration getBindingConfigurationForDefinition(@NonNull dev.metaschema.core.model.IModelDefinition definition)
      Retrieve the binding configuration for the provided definition.
      Parameters:
      definition - the definition to get the configuration for
      Returns:
      the binding configuration, or null if there is no configuration for this definition