test_class.file: src/de/slackspace/openkeepass/domain/KeePassFileTest.java
test_class.identifier: KeePassFileTest
test_case.body: @Test
      public void shouldMarshallObjectToXml() throws Exception {
          Times times = new TimesBuilder()
                  .creationTime(CalendarHandler.createCalendar(2016, 1, 15))
                  .expires(true)
                  .expiryTime(CalendarHandler.createCalendar(2016, 1, 16))
                  .lastAccessTime(CalendarHandler.createCalendar(2016, 1, 17))
                  .lastModificationTime(CalendarHandler.createCalendar(2016, 1, 18))
                  .locationChanged(CalendarHandler.createCalendar(2016, 1, 19))
                  .usageCount(23)
                  .build();
  
          Entry entryOne = new EntryBuilder("SomeTitle")
                  .notes("MyNote")
                  .password("MyPasswd")
                  .url("http://test.com")
                  .username("MyUser")
                  .uuid(UUID.fromString("87d4f441-a5ec-4ce0-8ca9-82a5079d28ef"))
                  .customIconUuid(UUID.fromString("87d4f441-a5ec-4ce0-8ca9-82a5079d28ef"))
                  .iconId(23)
                  .iconData(new byte[1])
                  .addTag("tag")
                  .foregroundColor("#FFFFFF")
                  .backgroundColor("#000000")
                  .build();
  
          Group group = new GroupBuilder(UUID.fromString("87d4f441-a5ec-4ce0-8ca9-82a5079d28ef"))
                  .addEntry(entryOne).times(times)
                  .name("Test")
                  .build();
  
          Meta meta = new MetaBuilder("SomeDb")
                  .databaseDescription("some description")
                  .databaseDescriptionChanged(CalendarHandler.createCalendar(2016, 1, 15))
                  .databaseNameChanged(CalendarHandler.createCalendar(2016, 1, 16))
                  .generator("OpenKeePass")
                  .historyMaxItems(10)
                  .historyMaxSize(20)
                  .maintenanceHistoryDays(30)
                  .recycleBinChanged(CalendarHandler.createCalendar(2016, 1, 17))
                  .recycleBinEnabled(true)
                  .recycleBinUuid(UUID.fromString("87d4f441-a5ec-4ce0-8ca9-82a5079d28ef"))
                  .build();
  
          KeePassFile keePassFile = new KeePassFileBuilder(meta)
                  .addTopGroups(group)
                  .build();
  
          String rootUuid = Base64.toBase64String(ByteUtils.uuidToBytes(keePassFile.getRoot().getUuid()));
  
          ByteArrayOutputStream bos = new SimpleXmlParser().toXml(keePassFile);
  
          String xml = XmlStringCleaner.cleanXmlString(new String(bos.toByteArray()));
          Assert.assertEquals(
                  "<KeePassFile><Meta><Generator>OpenKeePass</Generator><DatabaseName>SomeDb</DatabaseName><DatabaseDescription>some description</DatabaseDescription><DatabaseNameChanged>2016-01-16T00:00:00</DatabaseNameChanged><DatabaseDescriptionChanged>2016-01-15T00:00:00</DatabaseDescriptionChanged><MaintenanceHistoryDays>30</MaintenanceHistoryDays><RecycleBinUUID>h9T0QaXsTOCMqYKlB50o7w==</RecycleBinUUID><RecycleBinChanged>2016-01-17T00:00:00</RecycleBinChanged><RecycleBinEnabled>True</RecycleBinEnabled><HistoryMaxItems>10</HistoryMaxItems><HistoryMaxSize>20</HistoryMaxSize></Meta><Root><UUID>"
                          + rootUuid
                          + "</UUID><IconID>49</IconID><IsExpanded>False</IsExpanded><Group><UUID>h9T0QaXsTOCMqYKlB50o7w==</UUID><Name>Test</Name><IconID>49</IconID><Times><LastModificationTime>2016-01-18T00:00:00</LastModificationTime><CreationTime>2016-01-15T00:00:00</CreationTime><LastAccessTime>2016-01-17T00:00:00</LastAccessTime><ExpiryTime>2016-01-16T00:00:00</ExpiryTime><Expires>True</Expires><UsageCount>23</UsageCount><LocationChanged>2016-01-19T00:00:00</LocationChanged></Times><IsExpanded>False</IsExpanded><Entry><UUID>h9T0QaXsTOCMqYKlB50o7w==</UUID><IconID>23</IconID><CustomIconUUID>h9T0QaXsTOCMqYKlB50o7w==</CustomIconUUID><ForegroundColor>#FFFFFF</ForegroundColor><BackgroundColor>#000000</BackgroundColor><Tags>tag</Tags><String><Key>Notes</Key><Value Protected='False'>MyNote</Value></String><String><Key>Password</Key><Value Protected='True'>MyPasswd</Value></String><String><Key>Title</Key><Value Protected='False'>SomeTitle</Value></String><String><Key>UserName</Key><Value Protected='False'>MyUser</Value></String><String><Key>URL</Key><Value Protected='False'>http://test.com</Value></String></Entry></Group></Root></KeePassFile>",
                  xml);
      }
test_case.class_method_signature: KeePassFileTest.shouldMarshallObjectToXml()
test_case.full_signature: @Test public void shouldMarshallObjectToXml()
test_case.identifier: shouldMarshallObjectToXml
test_case.invocations: build usageCount locationChanged lastModificationTime lastAccessTime expiryTime expires creationTime createCalendar createCalendar createCalendar createCalendar createCalendar build backgroundColor foregroundColor addTag iconData iconId customIconUuid uuid username url password notes fromString fromString build name times addEntry fromString build recycleBinUuid recycleBinEnabled recycleBinChanged maintenanceHistoryDays historyMaxSize historyMaxItems generator databaseNameChanged databaseDescriptionChanged databaseDescription createCalendar createCalendar createCalendar fromString build addTopGroups toBase64String uuidToBytes getUuid getRoot toXml cleanXmlString toByteArray assertEquals
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void shouldMarshallObjectToXml()
focal_class.declarator: meta
focal_class.modifier: @Element(name = "Meta")
      private
focal_class.original_string: @Element(name = "Meta")
      private Meta meta;
focal_class.type: Meta
focal_class.var_name: meta
focal_class.declarator: root
focal_class.modifier: @Element(name = "Root")
      private
focal_class.original_string: @Element(name = "Root")
      private Group root;
focal_class.type: Group
focal_class.var_name: root
focal_class.file: src/de/slackspace/openkeepass/domain/KeePassFile.java
focal_class.identifier: KeePassFile
focal_class.interfaces: implements KeePassFileElement
focal_class.class_method_signature: KeePassFile.KeePassFile()
focal_class.full_signature:   KeePassFile()
focal_class.identifier: KeePassFile
focal_class.parameters: ()
focal_class.signature:  KeePassFile()
focal_class.class_method_signature: KeePassFile.KeePassFile(KeePassFileContract keePassFileContract)
focal_class.full_signature: public  KeePassFile(KeePassFileContract keePassFileContract)
focal_class.identifier: KeePassFile
focal_class.modifiers: public
focal_class.parameters: (KeePassFileContract keePassFileContract)
focal_class.signature:  KeePassFile(KeePassFileContract keePassFileContract)
focal_class.class_method_signature: KeePassFile.getMeta()
focal_class.full_signature: public Meta getMeta()
focal_class.identifier: getMeta
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Meta
focal_class.signature: Meta getMeta()
focal_class.class_method_signature: KeePassFile.getRoot()
focal_class.full_signature: public Group getRoot()
focal_class.identifier: getRoot
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Group
focal_class.signature: Group getRoot()
focal_class.class_method_signature: KeePassFile.getTopGroups()
focal_class.full_signature: public List<Group> getTopGroups()
focal_class.identifier: getTopGroups
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: List<Group>
focal_class.signature: List<Group> getTopGroups()
focal_class.class_method_signature: KeePassFile.getTopEntries()
focal_class.full_signature: public List<Entry> getTopEntries()
focal_class.identifier: getTopEntries
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: List<Entry>
focal_class.signature: List<Entry> getTopEntries()
focal_class.class_method_signature: KeePassFile.getEntryByTitle(String title)
focal_class.full_signature: public Entry getEntryByTitle(String title)
focal_class.identifier: getEntryByTitle
focal_class.modifiers: public
focal_class.parameters: (String title)
focal_class.return: Entry
focal_class.signature: Entry getEntryByTitle(String title)
focal_class.class_method_signature: KeePassFile.getEntriesByTitle(final String title, final boolean matchExactly)
focal_class.full_signature: public List<Entry> getEntriesByTitle(final String title, final boolean matchExactly)
focal_class.identifier: getEntriesByTitle
focal_class.modifiers: public
focal_class.parameters: (final String title, final boolean matchExactly)
focal_class.return: List<Entry>
focal_class.signature: List<Entry> getEntriesByTitle(final String title, final boolean matchExactly)
focal_class.class_method_signature: KeePassFile.getGroupsByName(final String name, final boolean matchExactly)
focal_class.full_signature: public List<Group> getGroupsByName(final String name, final boolean matchExactly)
focal_class.identifier: getGroupsByName
focal_class.modifiers: public
focal_class.parameters: (final String name, final boolean matchExactly)
focal_class.return: List<Group>
focal_class.signature: List<Group> getGroupsByName(final String name, final boolean matchExactly)
focal_class.class_method_signature: KeePassFile.getEntries()
focal_class.full_signature: public List<Entry> getEntries()
focal_class.identifier: getEntries
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: List<Entry>
focal_class.signature: List<Entry> getEntries()
focal_class.class_method_signature: KeePassFile.getGroups()
focal_class.full_signature: public List<Group> getGroups()
focal_class.identifier: getGroups
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: List<Group>
focal_class.signature: List<Group> getGroups()
focal_class.class_method_signature: KeePassFile.getGroupByName(String name)
focal_class.full_signature: public Group getGroupByName(String name)
focal_class.identifier: getGroupByName
focal_class.modifiers: public
focal_class.parameters: (String name)
focal_class.return: Group
focal_class.signature: Group getGroupByName(String name)
focal_class.class_method_signature: KeePassFile.getEntries(Group parentGroup, List<Entry> entries)
focal_class.full_signature: private void getEntries(Group parentGroup, List<Entry> entries)
focal_class.identifier: getEntries
focal_class.modifiers: private
focal_class.parameters: (Group parentGroup, List<Entry> entries)
focal_class.return: void
focal_class.signature: void getEntries(Group parentGroup, List<Entry> entries)
focal_class.class_method_signature: KeePassFile.getGroups(Group parentGroup, List<Group> groups)
focal_class.full_signature: private void getGroups(Group parentGroup, List<Group> groups)
focal_class.identifier: getGroups
focal_class.modifiers: private
focal_class.parameters: (Group parentGroup, List<Group> groups)
focal_class.return: void
focal_class.signature: void getGroups(Group parentGroup, List<Group> groups)
focal_class.class_method_signature: KeePassFile.getEntryByUUID(final UUID UUID)
focal_class.full_signature: public Entry getEntryByUUID(final UUID UUID)
focal_class.identifier: getEntryByUUID
focal_class.modifiers: public
focal_class.parameters: (final UUID UUID)
focal_class.return: Entry
focal_class.signature: Entry getEntryByUUID(final UUID UUID)
focal_class.class_method_signature: KeePassFile.getGroupByUUID(final UUID UUID)
focal_class.full_signature: public Group getGroupByUUID(final UUID UUID)
focal_class.identifier: getGroupByUUID
focal_class.modifiers: public
focal_class.parameters: (final UUID UUID)
focal_class.return: Group
focal_class.signature: Group getGroupByUUID(final UUID UUID)
focal_method.body: public Group getRoot() {
          return root;
      }
focal_method.class_method_signature: KeePassFile.getRoot()
focal_method.full_signature: public Group getRoot()
focal_method.identifier: getRoot
focal_method.modifiers: public
focal_method.parameters: ()
focal_method.return: Group
focal_method.signature: Group getRoot()