Record Class SourceGeneratorConfig
java.lang.Object
java.lang.Record
io.micronaut.jsonschema.generator.utils.SourceGeneratorConfig
- Record Components:
inputStream- The Input Stream of the JSON schema to be processed.jsonUrl- The URL of the JSON schema file to be downloaded or processed.jsonFile- The JSON schema file, typically ending in.schema.json.inputFolder- The path to the folder where the input files (JSON schemas) are located.outputPath- The path where generated source files will be saved. This is a required field. The path should be a valid, writable directory path.outputPackageName- The package name to be applied to the generated source files. This field is optional and can benullif no package name is needed.outputFileName- The name of the file where the generated source code will be written. This field is optional.javadoc- Configuration specific to Javadoc.recordAdoptionStrategy- Strategy specifying when to generate records vs classes. Defaults to preferring records.
public record SourceGeneratorConfig(InputStream inputStream, String jsonUrl, File jsonFile, Path inputFolder, Path outputPath, String outputPackageName, String outputFileName, SourceGeneratorConfig.JavadocConfig javadoc, SourceGeneratorConfig.RecordAdoptionStrategy recordAdoptionStrategy)
extends Record
A configuration class for the JSON schema source generator, encapsulating the configuration
properties related to the input and output paths, file names, and URL.
This class is used to specify:
- The URL of the JSON schema file to be processed (
jsonUrl) - The name of the JSON schema file (
jsonFileName) - The input folder where schema files might be located (
inputFolder) - The output directory for generated source files (
outputPath) - The package name to be applied to the generated source files (
outputPackageName) - The output file name for the generated source (
outputFileName)
- Author:
- Elif Kurtay
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final recordA sub-configuration used for generated Javadoc.static enumStrategy enum that specifies when to generate records vs classes. -
Constructor Summary
ConstructorsConstructorDescriptionSourceGeneratorConfig(InputStream inputStream, String jsonUrl, File jsonFile, Path inputFolder, Path outputPath, String outputPackageName, String outputFileName, SourceGeneratorConfig.JavadocConfig javadoc, SourceGeneratorConfig.RecordAdoptionStrategy recordAdoptionStrategy) Creates an instance of aSourceGeneratorConfigrecord class. -
Method Summary
Modifier and TypeMethodDescriptionfinal booleanIndicates whether some other object is "equal to" this one.final inthashCode()Returns a hash code value for this object.Returns the value of theinputFolderrecord component.Returns the value of theinputStreamrecord component.javadoc()Returns the value of thejavadocrecord component.jsonFile()Returns the value of thejsonFilerecord component.jsonUrl()Returns the value of thejsonUrlrecord component.Returns the value of theoutputFileNamerecord component.Returns the value of theoutputPackageNamerecord component.Returns the value of theoutputPathrecord component.Returns the value of therecordAdoptionStrategyrecord component.Convert this configuration to builder.final StringtoString()Returns a string representation of this record class.
-
Constructor Details
-
SourceGeneratorConfig
public SourceGeneratorConfig(InputStream inputStream, String jsonUrl, File jsonFile, Path inputFolder, Path outputPath, String outputPackageName, String outputFileName, SourceGeneratorConfig.JavadocConfig javadoc, SourceGeneratorConfig.RecordAdoptionStrategy recordAdoptionStrategy) Creates an instance of aSourceGeneratorConfigrecord class.- Parameters:
inputStream- the value for theinputStreamrecord componentjsonUrl- the value for thejsonUrlrecord componentjsonFile- the value for thejsonFilerecord componentinputFolder- the value for theinputFolderrecord componentoutputPath- the value for theoutputPathrecord componentoutputPackageName- the value for theoutputPackageNamerecord componentoutputFileName- the value for theoutputFileNamerecord componentjavadoc- the value for thejavadocrecord componentrecordAdoptionStrategy- the value for therecordAdoptionStrategyrecord component
-
-
Method Details
-
getInputName
-
toBuilder
Convert this configuration to builder.- Returns:
- The builder
-
toString
Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components. -
hashCode
public final int hashCode()Returns a hash code value for this object. The value is derived from the hash code of each of the record components. -
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared withObjects::equals(Object,Object). -
inputStream
Returns the value of theinputStreamrecord component.- Returns:
- the value of the
inputStreamrecord component
-
jsonUrl
Returns the value of thejsonUrlrecord component.- Returns:
- the value of the
jsonUrlrecord component
-
jsonFile
Returns the value of thejsonFilerecord component.- Returns:
- the value of the
jsonFilerecord component
-
inputFolder
Returns the value of theinputFolderrecord component.- Returns:
- the value of the
inputFolderrecord component
-
outputPath
Returns the value of theoutputPathrecord component.- Returns:
- the value of the
outputPathrecord component
-
outputPackageName
Returns the value of theoutputPackageNamerecord component.- Returns:
- the value of the
outputPackageNamerecord component
-
outputFileName
Returns the value of theoutputFileNamerecord component.- Returns:
- the value of the
outputFileNamerecord component
-
javadoc
Returns the value of thejavadocrecord component.- Returns:
- the value of the
javadocrecord component
-
recordAdoptionStrategy
Returns the value of therecordAdoptionStrategyrecord component.- Returns:
- the value of the
recordAdoptionStrategyrecord component
-