test_class.file: animations/src/test/java/com/chiralbehaviors/CoRE/workspace/WorkspaceSnapshotTest.java
test_class.identifier: WorkspaceSnapshotTest
test_class.superclass: extends DatabaseTest
test_case.body: @Test
      public void testSerializeSnapshot() throws Exception {
          Agency pseudoScientist = RECORDS.newAgency("Behold the Pseudo Scientist!");
          pseudoScientist.insert();
          Product definingProduct = RECORDS.newProduct("zee product");
          definingProduct.insert();
  
          StateSnapshot retrieved = new StateSnapshot(RECORDS.create(),
                                                      Collections.emptyList());
          assertEquals(2, retrieved.getInserts()
                                   .size());
          ObjectMapper mapper = new ObjectMapper();
          mapper.registerModule(new CoREModule());
          File temp = File.createTempFile("snaptest", "wsp");
          temp.deleteOnExit();
          try (FileOutputStream os = new FileOutputStream(temp)) {
              mapper.writeValue(os, retrieved);
          }
          StateSnapshot deserialized;
          try (FileInputStream is = new FileInputStream(temp)) {
              deserialized = mapper.readValue(is, StateSnapshot.class);
          }
          assertEquals(2, deserialized.getInserts()
                                      .size());
  
          assertTrue(deserialized.getInserts()
                                 .stream()
                                 .anyMatch(r -> pseudoScientist.equals(r)));
      }
test_case.class_method_signature: WorkspaceSnapshotTest.testSerializeSnapshot()
test_case.full_signature: @Test public void testSerializeSnapshot()
test_case.identifier: testSerializeSnapshot
test_case.invocations: newAgency insert newProduct insert create emptyList assertEquals size getInserts registerModule createTempFile deleteOnExit writeValue readValue assertEquals size getInserts assertTrue anyMatch stream getInserts equals
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testSerializeSnapshot()
focal_class.declarator: log = LoggerFactory.getLogger(WorkspaceSnapshot.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger log = LoggerFactory.getLogger(WorkspaceSnapshot.class);
focal_class.type: Logger
focal_class.var_name: log
focal_class.declarator: definingProduct
focal_class.modifier: protected
focal_class.original_string: protected Product                                                                        definingProduct;
focal_class.type: Product
focal_class.var_name: definingProduct
focal_class.declarator: inserts = new ArrayList<>()
focal_class.modifier: protected
focal_class.original_string: protected List<UpdatableRecord<? extends UpdatableRecord<? extends UpdatableRecord<?>>>> inserts = new ArrayList<>();
focal_class.type: List<UpdatableRecord<? extends UpdatableRecord<? extends UpdatableRecord<?>>>>
focal_class.var_name: inserts
focal_class.declarator: updates = new ArrayList<>()
focal_class.modifier: protected
focal_class.original_string: protected List<UpdatableRecord<? extends UpdatableRecord<? extends UpdatableRecord<?>>>> updates = new ArrayList<>();
focal_class.type: List<UpdatableRecord<? extends UpdatableRecord<? extends UpdatableRecord<?>>>>
focal_class.var_name: updates
focal_class.file: animations/src/main/java/com/chiralbehaviors/CoRE/workspace/WorkspaceSnapshot.java
focal_class.identifier: WorkspaceSnapshot
focal_class.class_method_signature: WorkspaceSnapshot.load(DSLContext create,
                              List<URL> resources)
focal_class.full_signature: public static void load(DSLContext create,
                              List<URL> resources)
focal_class.identifier: load
focal_class.modifiers: public static
focal_class.parameters: (DSLContext create,
                              List<URL> resources)
focal_class.return: void
focal_class.signature: void load(DSLContext create,
                              List<URL> resources)
focal_class.class_method_signature: WorkspaceSnapshot.load(DSLContext create, URL resource)
focal_class.full_signature: public static void load(DSLContext create, URL resource)
focal_class.identifier: load
focal_class.modifiers: public static
focal_class.parameters: (DSLContext create, URL resource)
focal_class.return: void
focal_class.signature: void load(DSLContext create, URL resource)
focal_class.class_method_signature: WorkspaceSnapshot.selectForDelete(DSLContext create,
                                                                                                                   Product definingProduct)
focal_class.full_signature: @SuppressWarnings("unchecked") public static List<UpdatableRecord<? extends UpdatableRecord<? extends UpdatableRecord<?>>>> selectForDelete(DSLContext create,
                                                                                                                   Product definingProduct)
focal_class.identifier: selectForDelete
focal_class.modifiers: @SuppressWarnings("unchecked") public static
focal_class.parameters: (DSLContext create,
                                                                                                                   Product definingProduct)
focal_class.return: List<UpdatableRecord<? extends UpdatableRecord<? extends UpdatableRecord<?>>>>
focal_class.signature: List<UpdatableRecord<? extends UpdatableRecord<? extends UpdatableRecord<?>>>> selectForDelete(DSLContext create,
                                                                                                                   Product definingProduct)
focal_class.class_method_signature: WorkspaceSnapshot.selectWorkspaceClosure(DSLContext create,
                                                                                                                          Product definingProduct)
focal_class.full_signature: @SuppressWarnings("unchecked") public static List<UpdatableRecord<? extends UpdatableRecord<? extends UpdatableRecord<?>>>> selectWorkspaceClosure(DSLContext create,
                                                                                                                          Product definingProduct)
focal_class.identifier: selectWorkspaceClosure
focal_class.modifiers: @SuppressWarnings("unchecked") public static
focal_class.parameters: (DSLContext create,
                                                                                                                          Product definingProduct)
focal_class.return: List<UpdatableRecord<? extends UpdatableRecord<? extends UpdatableRecord<?>>>>
focal_class.signature: List<UpdatableRecord<? extends UpdatableRecord<? extends UpdatableRecord<?>>>> selectWorkspaceClosure(DSLContext create,
                                                                                                                          Product definingProduct)
focal_class.class_method_signature: WorkspaceSnapshot.WorkspaceSnapshot()
focal_class.full_signature: public  WorkspaceSnapshot()
focal_class.identifier: WorkspaceSnapshot
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.signature:  WorkspaceSnapshot()
focal_class.class_method_signature: WorkspaceSnapshot.WorkspaceSnapshot(Product definingProduct, DSLContext create)
focal_class.full_signature: public  WorkspaceSnapshot(Product definingProduct, DSLContext create)
focal_class.identifier: WorkspaceSnapshot
focal_class.modifiers: public
focal_class.parameters: (Product definingProduct, DSLContext create)
focal_class.signature:  WorkspaceSnapshot(Product definingProduct, DSLContext create)
focal_class.class_method_signature: WorkspaceSnapshot.deltaFrom(DSLContext create,
                                         WorkspaceSnapshot otherVersion)
focal_class.full_signature: public WorkspaceSnapshot deltaFrom(DSLContext create,
                                         WorkspaceSnapshot otherVersion)
focal_class.identifier: deltaFrom
focal_class.modifiers: public
focal_class.parameters: (DSLContext create,
                                         WorkspaceSnapshot otherVersion)
focal_class.return: WorkspaceSnapshot
focal_class.signature: WorkspaceSnapshot deltaFrom(DSLContext create,
                                         WorkspaceSnapshot otherVersion)
focal_class.class_method_signature: WorkspaceSnapshot.getDefiningProduct()
focal_class.full_signature: public Product getDefiningProduct()
focal_class.identifier: getDefiningProduct
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Product
focal_class.signature: Product getDefiningProduct()
focal_class.class_method_signature: WorkspaceSnapshot.getInserts()
focal_class.full_signature: public List<UpdatableRecord<? extends UpdatableRecord<? extends UpdatableRecord<?>>>> getInserts()
focal_class.identifier: getInserts
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: List<UpdatableRecord<? extends UpdatableRecord<? extends UpdatableRecord<?>>>>
focal_class.signature: List<UpdatableRecord<? extends UpdatableRecord<? extends UpdatableRecord<?>>>> getInserts()
focal_class.class_method_signature: WorkspaceSnapshot.getUpdates()
focal_class.full_signature: public List<UpdatableRecord<? extends UpdatableRecord<? extends UpdatableRecord<?>>>> getUpdates()
focal_class.identifier: getUpdates
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: List<UpdatableRecord<? extends UpdatableRecord<? extends UpdatableRecord<?>>>>
focal_class.signature: List<UpdatableRecord<? extends UpdatableRecord<? extends UpdatableRecord<?>>>> getUpdates()
focal_class.class_method_signature: WorkspaceSnapshot.getVersion()
focal_class.full_signature: @JsonIgnore public int getVersion()
focal_class.identifier: getVersion
focal_class.modifiers: @JsonIgnore public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int getVersion()
focal_class.class_method_signature: WorkspaceSnapshot.load(DSLContext create)
focal_class.full_signature: public void load(DSLContext create)
focal_class.identifier: load
focal_class.modifiers: public
focal_class.parameters: (DSLContext create)
focal_class.return: void
focal_class.signature: void load(DSLContext create)
focal_class.class_method_signature: WorkspaceSnapshot.serializeTo(OutputStream os)
focal_class.full_signature: public void serializeTo(OutputStream os)
focal_class.identifier: serializeTo
focal_class.modifiers: public
focal_class.parameters: (OutputStream os)
focal_class.return: void
focal_class.signature: void serializeTo(OutputStream os)
focal_class.class_method_signature: WorkspaceSnapshot.loadDefiningProduct(DSLContext create)
focal_class.full_signature: protected void loadDefiningProduct(DSLContext create)
focal_class.identifier: loadDefiningProduct
focal_class.modifiers: protected
focal_class.parameters: (DSLContext create)
focal_class.return: void
focal_class.signature: void loadDefiningProduct(DSLContext create)
focal_class.class_method_signature: WorkspaceSnapshot.changed(UpdatableRecord<? extends UpdatableRecord<?>> existing,
                              UpdatableRecord<? extends UpdatableRecord<?>> test)
focal_class.full_signature: private boolean changed(UpdatableRecord<? extends UpdatableRecord<?>> existing,
                              UpdatableRecord<? extends UpdatableRecord<?>> test)
focal_class.identifier: changed
focal_class.modifiers: private
focal_class.parameters: (UpdatableRecord<? extends UpdatableRecord<?>> existing,
                              UpdatableRecord<? extends UpdatableRecord<?>> test)
focal_class.return: boolean
focal_class.signature: boolean changed(UpdatableRecord<? extends UpdatableRecord<?>> existing,
                              UpdatableRecord<? extends UpdatableRecord<?>> test)
focal_method.body: public List<UpdatableRecord<? extends UpdatableRecord<? extends UpdatableRecord<?>>>> getInserts() {
          return inserts;
      }
focal_method.class_method_signature: WorkspaceSnapshot.getInserts()
focal_method.full_signature: public List<UpdatableRecord<? extends UpdatableRecord<? extends UpdatableRecord<?>>>> getInserts()
focal_method.identifier: getInserts
focal_method.modifiers: public
focal_method.parameters: ()
focal_method.return: List<UpdatableRecord<? extends UpdatableRecord<? extends UpdatableRecord<?>>>>
focal_method.signature: List<UpdatableRecord<? extends UpdatableRecord<? extends UpdatableRecord<?>>>> getInserts()