package Ġcom . ap ol log raph ql . apollo 3 . compiler . codegen . java . file Ċ Ċ import Ġcom . ap ol log raph ql . apollo 3 . compiler . codegen . java . Code gen Java File Ċ import Ġcom . ap ol log raph ql . apollo 3 . compiler . codegen . java . Java Class Builder Ċ import Ġcom . ap ol log raph ql . apollo 3 . compiler . codegen . java . Java Context Ċ import Ġcom . ap ol log raph ql . apollo 3 . compiler . codegen . java . helpers . maybe Add De precation Ċ import Ġcom . ap ol log raph ql . apollo 3 . compiler . codegen . java . helpers . maybe Add Description Ċ import Ġcom . ap ol log raph ql . apollo 3 . compiler . ir . Ir Object Ċ import Ġcom . squareup . jav ap o et . ClassName Ċ import Ġcom . squareup . jav ap o et . Type Spec Ċ import Ġjavax . lang . model . element . Modifier Ċ Ċ class ĠObject Builder ( ĊĠĠĠ Ġprivate Ġval Ġcontext : ĠJava Context , ĊĠĠĠ Ġprivate Ġval Ġobj : ĠIr Object Ċ ): ĠJava Class Builder Ġ{ ĊĠ Ġprivate Ġval Ġlayout Ġ= Ġcontext . layout ĊĠ Ġprivate Ġval ĠpackageName Ġ= Ġlayout . type PackageName () ĊĠ Ġprivate Ġval Ġsimple Name Ġ= Ġlayout . compiled TypeName ( name Ġ= Ġobj . name ) ĊĊĠ Ġoverride Ġfun Ġprepare () Ġ{ ĊĠĠĠ Ġcontext . resolver . register Schema Type ( obj . name , ĠClass Name . get ( packageName , Ġsimple Name )) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġbuild (): ĠCode gen Java File Ġ{ ĊĠĠĠ Ġreturn ĠCode gen Java File ( ĊĠĠĠĠĠĠĠ ĠpackageName Ġ= ĠpackageName , ĊĠĠĠĠĠĠĠ Ġtype Spec Ġ= Ġobj . type Spec () ĊĠĠĠ Ġ) ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun ĠIr Object . type Spec (): ĠType Spec Ġ{ ĊĠĠĠ Ġreturn ĠType Spec ĊĠĠĠĠĠĠĠ Ġ. class Builder ( simple Name ) ĊĠĠĠĠĠĠĠ Ġ. add Modifiers ( Modifier . PUBLIC ) ĊĠĠĠĠĠĠĠ Ġ. maybe Add Description ( description ) ĊĠĠĠĠĠĠĠ Ġ. maybe Add De precation ( deprecation Reason ) ĊĠĠĠĠĠĠĠ Ġ. addField ( type Field Spec ( context . resolver )) ĊĠĠĠĠĠĠĠ Ġ. build () ĊĠ Ġ} Ċ } Ċ