Class FileGenerator
java.lang.Object
org.instancio.internal.generator.AbstractGenerator<File>
org.instancio.internal.generator.io.FileGenerator
- All Implemented Interfaces:
AsStringGeneratorSpec<File>
,Generator<File>
,GeneratorSpec<File>
,AsGeneratorSpec<File>
,FilePathSpec<File>
,FileSpec
,NullableGeneratorSpec<File>
,PathAsGeneratorSpec<File>
,PathGeneratorSpec<File>
,ValueSpec<File>
public class FileGenerator
extends AbstractGenerator<File>
implements FileSpec, PathAsGeneratorSpec<File>
-
Constructor Summary
ConstructorDescriptionFileGenerator
(GeneratorContext context) FileGenerator
(GeneratorContext context, String... directories) -
Method Summary
Modifier and TypeMethodDescriptionReturns the public API method name of the generator spec.Terminal method to indicate that the generated path, including parent directories (if any), should be created as a directory in the file system.Terminal method to indicate that the generated path, including parent directories (if any), should be created as a file in the file system.createFile
(InputStream content) Terminal method to indicate that the generated path, including parent directories (if any), should be created as a file in the file system and content provided by the input stream written to the file.Generator for the file or directory name.nullable()
Indicates thatnull
value can be generated.File or directory name prefix.File or directory name suffix.tmp()
Generate path withjava.io.tmpdir
as the parent directory.protected File
tryGenerateNonNull
(Random random) Makes the best effort to return a non-null value.Methods inherited from class org.instancio.internal.generator.AbstractGenerator
generate, getContext, hints, isNullable, nullable
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.instancio.generator.specs.AsGeneratorSpec
as, asString
Methods inherited from interface org.instancio.generator.AsStringGeneratorSpec
asString
-
Constructor Details
-
FileGenerator
public FileGenerator() -
FileGenerator
-
FileGenerator
-
-
Method Details
-
apiMethod
Description copied from class:AbstractGenerator
Returns the public API method name of the generator spec. The returned name is used for reporting validation errors.- Specified by:
apiMethod
in classAbstractGenerator<File>
- Returns:
- spec name if defined, or
null
otherwise
-
tmp
Description copied from interface:PathGeneratorSpec
Generate path withjava.io.tmpdir
as the parent directory.- Specified by:
tmp
in interfaceFilePathSpec<File>
- Specified by:
tmp
in interfaceFileSpec
- Specified by:
tmp
in interfacePathAsGeneratorSpec<File>
- Specified by:
tmp
in interfacePathGeneratorSpec<File>
- Returns:
- spec builder
-
prefix
Description copied from interface:PathGeneratorSpec
File or directory name prefix. No prefix is added by default.- Specified by:
prefix
in interfaceFilePathSpec<File>
- Specified by:
prefix
in interfaceFileSpec
- Specified by:
prefix
in interfacePathAsGeneratorSpec<File>
- Specified by:
prefix
in interfacePathGeneratorSpec<File>
- Parameters:
prefix
- to add to the file or directory name- Returns:
- spec builder
-
suffix
Description copied from interface:PathGeneratorSpec
File or directory name suffix. No suffix is added by default.- Specified by:
suffix
in interfaceFilePathSpec<File>
- Specified by:
suffix
in interfaceFileSpec
- Specified by:
suffix
in interfacePathAsGeneratorSpec<File>
- Specified by:
suffix
in interfacePathGeneratorSpec<File>
- Parameters:
suffix
- to add to the file or directory name- Returns:
- spec builder
-
name
Description copied from interface:PathGeneratorSpec
Generator for the file or directory name.Generated path names are formed using the following elements:
[prefix][name][suffix]
- Prefix and suffix are optional and are
null
by default. - If no generator is supplied using this method, a random 16-character lowercase name will be generated.
- The concatenation of prefix, name, and suffix must not be blank.
Example:
List<Path> paths = Instancio.ofList(Path.class) .generate(all(Path.class), gen -> gen.nio().path() .prefix("queued_") .name(random -> random.alphanumeric(8)) .suffix(".csv")) .create(); // Sample paths: queued_t5LG4AUw.csv, queued_o0nBWkej.csv, etc
- Specified by:
name
in interfaceFilePathSpec<File>
- Specified by:
name
in interfaceFileSpec
- Specified by:
name
in interfacePathAsGeneratorSpec<File>
- Specified by:
name
in interfacePathGeneratorSpec<File>
- Parameters:
nameGenerator
- for generating the name- Returns:
- spec builder
- Prefix and suffix are optional and are
-
createFile
Description copied from interface:PathGeneratorSpec
Terminal method to indicate that the generated path, including parent directories (if any), should be created as a file in the file system and content provided by the input stream written to the file.If the file already exists, then no action will be taken.
- Specified by:
createFile
in interfaceFilePathSpec<File>
- Specified by:
createFile
in interfaceFileSpec
- Specified by:
createFile
in interfacePathAsGeneratorSpec<File>
- Specified by:
createFile
in interfacePathGeneratorSpec<File>
- Parameters:
content
- to write to the file- Returns:
- completed spec with no further methods
- See Also:
-
createFile
Description copied from interface:PathGeneratorSpec
Terminal method to indicate that the generated path, including parent directories (if any), should be created as a file in the file system.If the file already exists, then no action will be taken.
- Specified by:
createFile
in interfaceFilePathSpec<File>
- Specified by:
createFile
in interfaceFileSpec
- Specified by:
createFile
in interfacePathAsGeneratorSpec<File>
- Specified by:
createFile
in interfacePathGeneratorSpec<File>
- Returns:
- completed spec with no further methods
- See Also:
-
createDirectory
Description copied from interface:PathGeneratorSpec
Terminal method to indicate that the generated path, including parent directories (if any), should be created as a directory in the file system.If the directory already exists, then no action will be taken.
- Specified by:
createDirectory
in interfaceFilePathSpec<File>
- Specified by:
createDirectory
in interfaceFileSpec
- Specified by:
createDirectory
in interfacePathAsGeneratorSpec<File>
- Specified by:
createDirectory
in interfacePathGeneratorSpec<File>
- Returns:
- completed spec with no further methods
- See Also:
-
nullable
Description copied from interface:NullableGeneratorSpec
Indicates thatnull
value can be generated.- Specified by:
nullable
in interfaceNullableGeneratorSpec<File>
- Specified by:
nullable
in interfaceValueSpec<File>
- Overrides:
nullable
in classAbstractGenerator<File>
- Returns:
- spec builder
-
tryGenerateNonNull
Description copied from class:AbstractGenerator
Makes the best effort to return a non-null value. However, in certain cases this method will produce anull
.- Specified by:
tryGenerateNonNull
in classAbstractGenerator<File>
- Parameters:
random
- for generating the value- Returns:
- generated value, either a null or non-null
-