// THIS FILE IS AUTO-GENERATED. DO NOT EDIT
package ai.verta.modeldb.versioning.autogenerated._public.modeldb.versioning.model;

import ai.verta.modeldb.versioning.*;
import ai.verta.modeldb.versioning.blob.diff.*;
import com.pholser.junit.quickcheck.generator.*;
import com.pholser.junit.quickcheck.generator.java.util.*;
import com.pholser.junit.quickcheck.random.*;
import java.util.*;

public class AutogenPathDatasetComponentBlobGen extends Generator<AutogenPathDatasetComponentBlob> {
  public AutogenPathDatasetComponentBlobGen() {
    super(AutogenPathDatasetComponentBlob.class);
  }

  @Override
  public AutogenPathDatasetComponentBlob generate(SourceOfRandomness r, GenerationStatus status) {
    // if (r.nextBoolean())
    //     return null;

    AutogenPathDatasetComponentBlob obj = new AutogenPathDatasetComponentBlob();
    if (r.nextBoolean()) {
      obj.setBasePath(Utils.removeEmpty(new StringGenerator().generate(r, status)));
    }
    if (r.nextBoolean()) {
      obj.setInternalVersionedPath(Utils.removeEmpty(new StringGenerator().generate(r, status)));
    }
    if (r.nextBoolean()) {
      obj.setLastModifiedAtSource(Utils.removeEmpty(gen().type(Long.class).generate(r, status)));
    }
    if (r.nextBoolean()) {
      obj.setMd5(Utils.removeEmpty(new StringGenerator().generate(r, status)));
    }
    if (r.nextBoolean()) {
      obj.setPath(Utils.removeEmpty(new StringGenerator().generate(r, status)));
    }
    if (r.nextBoolean()) {
      obj.setSha256(Utils.removeEmpty(new StringGenerator().generate(r, status)));
    }
    if (r.nextBoolean()) {
      obj.setSize(Utils.removeEmpty(gen().type(Long.class).generate(r, status)));
    }
    return obj;
  }
}
