package ĠAbstract _ Factory _ Pattern _ 2 Ċ Ċ import ĠAbstract _ Factory _ Pattern _ 2 . Abstract . Abstract Factory Ċ Ċ class ĠFactory Producer Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġ Ġget Factory ( choice : ĠString ): ĠAbstract Factory ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( choice . equals (" SHAPE ", true )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠShape Factory () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġif ( choice . equals (" COLOR ", Ġtrue )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠColor Factory () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }