class io.ebeaninternal.server.deploy.generatedproperty.InsertTimestampFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: io.ebeaninternal.server.deploy.generatedproperty.InsertTimestampFactory
  super_class: java.lang.Object
{
  private final java.util.Map<java.lang.Class<?>, io.ebeaninternal.server.deploy.generatedproperty.GeneratedProperty> map;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Class<*>;Lio/ebeaninternal/server/deploy/generatedproperty/GeneratedProperty;>;

  void <init>(io.ebean.config.ClassLoadConfig);
    descriptor: (Lio/ebean/config/ClassLoadConfig;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.generatedproperty.InsertTimestampFactory this
        start local 1 // io.ebean.config.ClassLoadConfig classLoadConfig
         0: .line 22
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 20
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield io.ebeaninternal.server.deploy.generatedproperty.InsertTimestampFactory.map:Ljava/util/Map;
         2: .line 23
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.generatedproperty.InsertTimestampFactory.map:Ljava/util/Map;
            ldc Ljava/sql/Timestamp;
            new io.ebeaninternal.server.deploy.generatedproperty.GeneratedInsertTimestamp
            dup
            invokespecial io.ebeaninternal.server.deploy.generatedproperty.GeneratedInsertTimestamp.<init>:()V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 24
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.generatedproperty.InsertTimestampFactory.map:Ljava/util/Map;
            ldc Ljava/util/Date;
            new io.ebeaninternal.server.deploy.generatedproperty.GeneratedInsertDate
            dup
            invokespecial io.ebeaninternal.server.deploy.generatedproperty.GeneratedInsertDate.<init>:()V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 25
            new io.ebeaninternal.server.deploy.generatedproperty.GeneratedInsertLong
            dup
            invokespecial io.ebeaninternal.server.deploy.generatedproperty.GeneratedInsertLong.<init>:()V
            astore 2 /* longTime */
        start local 2 // io.ebeaninternal.server.deploy.generatedproperty.GeneratedInsertLong longTime
         5: .line 26
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.generatedproperty.InsertTimestampFactory.map:Ljava/util/Map;
            ldc Ljava/lang/Long;
            aload 2 /* longTime */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 27
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.generatedproperty.InsertTimestampFactory.map:Ljava/util/Map;
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            aload 2 /* longTime */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 29
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.generatedproperty.InsertTimestampFactory.map:Ljava/util/Map;
            ldc Ljava/time/Instant;
            new io.ebeaninternal.server.deploy.generatedproperty.GeneratedInsertJavaTime$InstantDT
            dup
            invokespecial io.ebeaninternal.server.deploy.generatedproperty.GeneratedInsertJavaTime$InstantDT.<init>:()V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 30
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.generatedproperty.InsertTimestampFactory.map:Ljava/util/Map;
            ldc Ljava/time/LocalDateTime;
            new io.ebeaninternal.server.deploy.generatedproperty.GeneratedInsertJavaTime$LocalDT
            dup
            invokespecial io.ebeaninternal.server.deploy.generatedproperty.GeneratedInsertJavaTime$LocalDT.<init>:()V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 31
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.generatedproperty.InsertTimestampFactory.map:Ljava/util/Map;
            ldc Ljava/time/OffsetDateTime;
            new io.ebeaninternal.server.deploy.generatedproperty.GeneratedInsertJavaTime$OffsetDT
            dup
            invokespecial io.ebeaninternal.server.deploy.generatedproperty.GeneratedInsertJavaTime$OffsetDT.<init>:()V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 32
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.generatedproperty.InsertTimestampFactory.map:Ljava/util/Map;
            ldc Ljava/time/ZonedDateTime;
            new io.ebeaninternal.server.deploy.generatedproperty.GeneratedInsertJavaTime$ZonedDT
            dup
            invokespecial io.ebeaninternal.server.deploy.generatedproperty.GeneratedInsertJavaTime$ZonedDT.<init>:()V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 33
            aload 1 /* classLoadConfig */
            invokevirtual io.ebean.config.ClassLoadConfig.isJodaTimePresent:()Z
            ifeq 14
        12: .line 34
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.generatedproperty.InsertTimestampFactory.map:Ljava/util/Map;
            ldc Lorg/joda/time/LocalDateTime;
            new io.ebeaninternal.server.deploy.generatedproperty.GeneratedInsertJodaTime$LocalDT
            dup
            invokespecial io.ebeaninternal.server.deploy.generatedproperty.GeneratedInsertJodaTime$LocalDT.<init>:()V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        13: .line 35
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.generatedproperty.InsertTimestampFactory.map:Ljava/util/Map;
            ldc Lorg/joda/time/DateTime;
            new io.ebeaninternal.server.deploy.generatedproperty.GeneratedInsertJodaTime$DateTimeDT
            dup
            invokespecial io.ebeaninternal.server.deploy.generatedproperty.GeneratedInsertJodaTime$DateTimeDT.<init>:()V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        14: .line 37
      StackMap locals: io.ebeaninternal.server.deploy.generatedproperty.InsertTimestampFactory io.ebean.config.ClassLoadConfig io.ebeaninternal.server.deploy.generatedproperty.GeneratedInsertLong
      StackMap stack:
            return
        end local 2 // io.ebeaninternal.server.deploy.generatedproperty.GeneratedInsertLong longTime
        end local 1 // io.ebean.config.ClassLoadConfig classLoadConfig
        end local 0 // io.ebeaninternal.server.deploy.generatedproperty.InsertTimestampFactory this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   15     0             this  Lio/ebeaninternal/server/deploy/generatedproperty/InsertTimestampFactory;
            0   15     1  classLoadConfig  Lio/ebean/config/ClassLoadConfig;
            5   15     2         longTime  Lio/ebeaninternal/server/deploy/generatedproperty/GeneratedInsertLong;
    MethodParameters:
                 Name  Flags
      classLoadConfig  

  void setInsertTimestamp(io.ebeaninternal.server.deploy.meta.DeployBeanProperty);
    descriptor: (Lio/ebeaninternal/server/deploy/meta/DeployBeanProperty;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.generatedproperty.InsertTimestampFactory this
        start local 1 // io.ebeaninternal.server.deploy.meta.DeployBeanProperty property
         0: .line 41
            aload 1 /* property */
            aload 0 /* this */
            aload 1 /* property */
            invokevirtual io.ebeaninternal.server.deploy.generatedproperty.InsertTimestampFactory.createInsertTimestamp:(Lio/ebeaninternal/server/deploy/meta/DeployBeanProperty;)Lio/ebeaninternal/server/deploy/generatedproperty/GeneratedProperty;
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanProperty.setGeneratedProperty:(Lio/ebeaninternal/server/deploy/generatedproperty/GeneratedProperty;)V
         1: .line 42
            return
        end local 1 // io.ebeaninternal.server.deploy.meta.DeployBeanProperty property
        end local 0 // io.ebeaninternal.server.deploy.generatedproperty.InsertTimestampFactory this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lio/ebeaninternal/server/deploy/generatedproperty/InsertTimestampFactory;
            0    2     1  property  Lio/ebeaninternal/server/deploy/meta/DeployBeanProperty;
    MethodParameters:
          Name  Flags
      property  

  io.ebeaninternal.server.deploy.generatedproperty.GeneratedProperty createInsertTimestamp(io.ebeaninternal.server.deploy.meta.DeployBeanProperty);
    descriptor: (Lio/ebeaninternal/server/deploy/meta/DeployBeanProperty;)Lio/ebeaninternal/server/deploy/generatedproperty/GeneratedProperty;
    flags: (0x0000) 
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.generatedproperty.InsertTimestampFactory this
        start local 1 // io.ebeaninternal.server.deploy.meta.DeployBeanProperty property
         0: .line 49
            aload 1 /* property */
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanProperty.getPropertyType:()Ljava/lang/Class;
            astore 2 /* propType */
        start local 2 // java.lang.Class propType
         1: .line 50
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.generatedproperty.InsertTimestampFactory.map:Ljava/util/Map;
            aload 2 /* propType */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.ebeaninternal.server.deploy.generatedproperty.GeneratedProperty
            astore 3 /* generatedProperty */
        start local 3 // io.ebeaninternal.server.deploy.generatedproperty.GeneratedProperty generatedProperty
         2: .line 51
            aload 3 /* generatedProperty */
            ifnull 4
         3: .line 52
            aload 3 /* generatedProperty */
            areturn
         4: .line 55
      StackMap locals: java.lang.Class io.ebeaninternal.server.deploy.generatedproperty.GeneratedProperty
      StackMap stack:
            new javax.persistence.PersistenceException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Generated Insert Timestamp not supported on "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* propType */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial javax.persistence.PersistenceException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // io.ebeaninternal.server.deploy.generatedproperty.GeneratedProperty generatedProperty
        end local 2 // java.lang.Class propType
        end local 1 // io.ebeaninternal.server.deploy.meta.DeployBeanProperty property
        end local 0 // io.ebeaninternal.server.deploy.generatedproperty.InsertTimestampFactory this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    5     0               this  Lio/ebeaninternal/server/deploy/generatedproperty/InsertTimestampFactory;
            0    5     1           property  Lio/ebeaninternal/server/deploy/meta/DeployBeanProperty;
            1    5     2           propType  Ljava/lang/Class<*>;
            2    5     3  generatedProperty  Lio/ebeaninternal/server/deploy/generatedproperty/GeneratedProperty;
    MethodParameters:
          Name  Flags
      property  
}
SourceFile: "InsertTimestampFactory.java"
InnerClasses:
  public InstantDT = io.ebeaninternal.server.deploy.generatedproperty.GeneratedInsertJavaTime$InstantDT of io.ebeaninternal.server.deploy.generatedproperty.GeneratedInsertJavaTime
  public LocalDT = io.ebeaninternal.server.deploy.generatedproperty.GeneratedInsertJavaTime$LocalDT of io.ebeaninternal.server.deploy.generatedproperty.GeneratedInsertJavaTime
  public OffsetDT = io.ebeaninternal.server.deploy.generatedproperty.GeneratedInsertJavaTime$OffsetDT of io.ebeaninternal.server.deploy.generatedproperty.GeneratedInsertJavaTime
  public ZonedDT = io.ebeaninternal.server.deploy.generatedproperty.GeneratedInsertJavaTime$ZonedDT of io.ebeaninternal.server.deploy.generatedproperty.GeneratedInsertJavaTime
  public DateTimeDT = io.ebeaninternal.server.deploy.generatedproperty.GeneratedInsertJodaTime$DateTimeDT of io.ebeaninternal.server.deploy.generatedproperty.GeneratedInsertJodaTime
  public LocalDT = io.ebeaninternal.server.deploy.generatedproperty.GeneratedInsertJodaTime$LocalDT of io.ebeaninternal.server.deploy.generatedproperty.GeneratedInsertJodaTime