@@ -7494,6 +7494,206 @@ public final class Todo implements Model {
7494
7494
"
7495
7495
`;
7496
7496
7497
+ exports[`AppSyncModelVisitor should avoid name collision on builder step 1`] = `
7498
+ "package com.amplifyframework.datastore.generated.model;
7499
+
7500
+ import com.amplifyframework.core.model.temporal.Temporal;
7501
+
7502
+ import java.util.List;
7503
+ import java.util.UUID;
7504
+ import java.util.Objects;
7505
+
7506
+ import androidx.core.util.ObjectsCompat;
7507
+
7508
+ import com.amplifyframework.core.model.Model;
7509
+ import com.amplifyframework.core.model.annotations.Index;
7510
+ import com.amplifyframework.core.model.annotations.ModelConfig;
7511
+ import com.amplifyframework.core.model.annotations.ModelField;
7512
+ import com.amplifyframework.core.model.query.predicate.QueryField;
7513
+
7514
+ import static com.amplifyframework.core.model.query.predicate.QueryField.field;
7515
+
7516
+ /** This is an auto generated class representing the MyObject type in your schema. */
7517
+ @SuppressWarnings(\\"all\\")
7518
+ @ModelConfig(pluralName = \\"MyObjects\\")
7519
+ public final class MyObject implements Model {
7520
+ public static final QueryField ID = field (\\" MyObject\\ " , \\" id\\ " );
7521
+ public static final QueryField TUTORIAL = field (\\" MyObject\\ " , \\" tutorial\\ " );
7522
+ public static final QueryField FORM_CUES = field (\\" MyObject\\ " , \\" formCues\\ " );
7523
+ private final @ModelField (targetType = \\" ID\\ " , isRequired = true ) String id ;
7524
+ private final @ModelField (targetType = \\" TutorialStep\\ " , isRequired = true ) List <TutorialStep > tutorial;
7525
+ private final @ModelField(targetType=\\"FormCue\\", isRequired = true) List<FormCue > formCues;
7526
+ private @ModelField(targetType=\\"AWSDateTime\\", isReadOnly = true) Temporal.DateTime createdAt;
7527
+ private @ModelField(targetType=\\"AWSDateTime\\", isReadOnly = true) Temporal.DateTime updatedAt;
7528
+ public String getId() {
7529
+ return id ;
7530
+ }
7531
+
7532
+ public List<TutorialStep > getTutorial() {
7533
+ return tutorial ;
7534
+ }
7535
+
7536
+ public List<FormCue > getFormCues() {
7537
+ return formCues ;
7538
+ }
7539
+
7540
+ public Temporal.DateTime getCreatedAt() {
7541
+ return createdAt ;
7542
+ }
7543
+
7544
+ public Temporal.DateTime getUpdatedAt() {
7545
+ return updatedAt ;
7546
+ }
7547
+
7548
+ private MyObject(String id, List<TutorialStep > tutorial, List<FormCue > formCues) {
7549
+ this .id = id ;
7550
+ this .tutorial = tutorial ;
7551
+ this .formCues = formCues ;
7552
+ }
7553
+
7554
+ @Override
7555
+ public boolean equals(Object obj) {
7556
+ if (this == obj ) {
7557
+ return true;
7558
+ } else if (obj == null || getClass () != obj .getClass ()) {
7559
+ return false;
7560
+ } else {
7561
+ MyObject myObject = (MyObject ) obj;
7562
+ return ObjectsCompat.equals(getId (), myObject.getId()) &&
7563
+ ObjectsCompat.equals(getTutorial (), myObject.getTutorial()) &&
7564
+ ObjectsCompat.equals(getFormCues (), myObject.getFormCues()) &&
7565
+ ObjectsCompat.equals(getCreatedAt (), myObject.getCreatedAt()) &&
7566
+ ObjectsCompat.equals(getUpdatedAt (), myObject.getUpdatedAt());
7567
+ }
7568
+ }
7569
+
7570
+ @Override
7571
+ public int hashCode() {
7572
+ return new StringBuilder ()
7573
+ .append (getId ())
7574
+ .append (getTutorial ())
7575
+ .append (getFormCues ())
7576
+ .append (getCreatedAt ())
7577
+ .append (getUpdatedAt ())
7578
+ .toString ()
7579
+ .hashCode ();
7580
+ }
7581
+
7582
+ @Override
7583
+ public String toString() {
7584
+ return new StringBuilder ()
7585
+ .append (\\" MyObject {\\ " )
7586
+ .append (\\" id=\\ " + String .valueOf (getId ()) + \\" , \\ " )
7587
+ .append (\\" tutorial=\\ " + String .valueOf (getTutorial ()) + \\" , \\ " )
7588
+ .append (\\" formCues=\\ " + String .valueOf (getFormCues ()) + \\" , \\ " )
7589
+ .append (\\" createdAt=\\ " + String .valueOf (getCreatedAt ()) + \\" , \\ " )
7590
+ .append (\\" updatedAt=\\ " + String .valueOf (getUpdatedAt ()))
7591
+ .append (\\" }\\ " )
7592
+ .toString ();
7593
+ }
7594
+
7595
+ public static TutorialBuildStep builder() {
7596
+ return new Builder ();
7597
+ }
7598
+
7599
+ /**
7600
+ * WARNING: This method should not be used to build an instance of this object for a CREATE mutation.
7601
+ * This is a convenience method to return an instance of the object with only its ID populated
7602
+ * to be used in the context of a parameter in a delete mutation or referencing a foreign key
7603
+ * in a relationship.
7604
+ * @param id the id of the existing item this instance will represent
7605
+ * @return an instance of this model with only ID populated
7606
+ */
7607
+ public static MyObject justId(String id) {
7608
+ return new MyObject (
7609
+ id ,
7610
+ null ,
7611
+ null
7612
+ );
7613
+ }
7614
+
7615
+ public CopyOfBuilder copyOfBuilder() {
7616
+ return new CopyOfBuilder (id ,
7617
+ tutorial ,
7618
+ formCues );
7619
+ }
7620
+ public interface TutorialBuildStep {
7621
+ FormCuesStep tutorial (List <TutorialStep > tutorial);
7622
+ }
7623
+
7624
+
7625
+ public interface FormCuesStep {
7626
+ BuildStep formCues (List <FormCue > formCues);
7627
+ }
7628
+
7629
+
7630
+ public interface BuildStep {
7631
+ MyObject build ();
7632
+ BuildStep id (String id );
7633
+ }
7634
+
7635
+
7636
+ public static class Builder implements TutorialBuildStep, FormCuesStep, BuildStep {
7637
+ private String id ;
7638
+ private List <TutorialStep > tutorial;
7639
+ private List<FormCue > formCues;
7640
+ @Override
7641
+ public MyObject build() {
7642
+ String id = this .id != null ? this .id : UUID .randomUUID ().toString ();
7643
+
7644
+ return new MyObject (
7645
+ id ,
7646
+ tutorial ,
7647
+ formCues );
7648
+ }
7649
+
7650
+ @Override
7651
+ public FormCuesStep tutorial(List<TutorialStep > tutorial) {
7652
+ Objects .requireNonNull (tutorial );
7653
+ this .tutorial = tutorial ;
7654
+ return this ;
7655
+ }
7656
+
7657
+ @Override
7658
+ public BuildStep formCues(List<FormCue > formCues) {
7659
+ Objects .requireNonNull (formCues );
7660
+ this .formCues = formCues ;
7661
+ return this ;
7662
+ }
7663
+
7664
+ /**
7665
+ * @param id id
7666
+ * @return Current Builder instance, for fluent method chaining
7667
+ */
7668
+ public BuildStep id(String id) {
7669
+ this .id = id ;
7670
+ return this ;
7671
+ }
7672
+ }
7673
+
7674
+
7675
+ public final class CopyOfBuilder extends Builder {
7676
+ private CopyOfBuilder (String id , List <TutorialStep > tutorial, List<FormCue > formCues) {
7677
+ super .id (id );
7678
+ super .tutorial (tutorial )
7679
+ .formCues (formCues );
7680
+ }
7681
+
7682
+ @Override
7683
+ public CopyOfBuilder tutorial(List<TutorialStep > tutorial) {
7684
+ return (CopyOfBuilder ) super .tutorial (tutorial );
7685
+ }
7686
+
7687
+ @Override
7688
+ public CopyOfBuilder formCues(List<FormCue > formCues) {
7689
+ return (CopyOfBuilder ) super .formCues (formCues );
7690
+ }
7691
+ }
7692
+
7693
+ }
7694
+ "
7695
+ `;
7696
+
7497
7697
exports[`AppSyncModelVisitor should generate Temporal type for AWSDate* scalars 1`] = `
7498
7698
"package com.amplifyframework.datastore.generated.model;
7499
7699
0 commit comments