test_class.declarator: timeService = new SPITimeService()
test_class.modifier: private final
test_class.original_string: private final SPITimeService timeService = new SPITimeService();
test_class.type: SPITimeService
test_class.var_name: timeService
test_class.file: shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/spi/SPITimeServiceTest.java
test_class.identifier: SPITimeServiceTest
test_case.body: @Test
      public void assertGetTime() {
          Optional<TimeServiceFixture> optional = getFixtureHook();
          assertTrue(optional.isPresent());
          Date date = new Date();
          optional.get().setDate(date);
          Date time = timeService.getTime();
          assertThat(date, is(time));
      }
test_case.class_method_signature: SPITimeServiceTest.assertGetTime()
test_case.full_signature: @Test public void assertGetTime()
test_case.identifier: assertGetTime
test_case.invocations: getFixtureHook assertTrue isPresent setDate get getTime assertThat is
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void assertGetTime()
focal_class.declarator: timeServices = ShardingSphereServiceLoader.newServiceInstances(TimeService.class)
focal_class.modifier: private final
focal_class.original_string: private final Collection<TimeService> timeServices = ShardingSphereServiceLoader.newServiceInstances(TimeService.class);
focal_class.type: Collection<TimeService>
focal_class.var_name: timeServices
focal_class.file: shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/spi/SPITimeService.java
focal_class.identifier: SPITimeService
focal_class.interfaces: implements TimeService
focal_class.class_method_signature: SPITimeService.getTime()
focal_class.full_signature: @Override public Date getTime()
focal_class.identifier: getTime
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: Date
focal_class.signature: Date getTime()
focal_method.body: @Override
      public Date getTime() {
          Date result = null;
          for (TimeService server : timeServices) {
              result = server.getTime();
              if (!(server instanceof DefaultTimeService) && null != result) {
                  return result;
              }
          }
          return result;
      }
focal_method.class_method_signature: SPITimeService.getTime()
focal_method.full_signature: @Override public Date getTime()
focal_method.identifier: getTime
focal_method.invocations: getTime
focal_method.modifiers: @Override public
focal_method.parameters: ()
focal_method.return: Date
focal_method.signature: Date getTime()