test_class.file: mybatis-plus-extension/src/test/java/com/baomidou/mybatisplus/extension/plugins/MybatisPlusInterceptorTest.java
test_class.identifier: MybatisPlusInterceptorTest
test_case.body: @Test
      void setProperties() {
          Properties properties = new Properties();
          properties.setProperty("@page", "com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor");
          properties.setProperty("page:maxLimit", "10");
          properties.setProperty("page:dbType", "h2");
          MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
          interceptor.setProperties(properties);
          List<InnerInterceptor> interceptors = interceptor.getInterceptors();
  
          assertThat(interceptors).isNotEmpty();
          assertThat(interceptors.size()).isEqualTo(1);
  
          InnerInterceptor page = interceptors.get(0);
          assertThat(page).isInstanceOf(PaginationInnerInterceptor.class);
  
          PaginationInnerInterceptor pii = (PaginationInnerInterceptor) page;
          assertThat(pii.getMaxLimit()).isEqualTo(10);
          assertThat(pii.getDbType()).isEqualTo(DbType.H2);
      }
test_case.class_method_signature: MybatisPlusInterceptorTest.setProperties()
test_case.full_signature: @Test void setProperties()
test_case.identifier: setProperties
test_case.invocations: setProperty setProperty setProperty setProperties getInterceptors isNotEmpty assertThat isEqualTo assertThat size get isInstanceOf assertThat isEqualTo assertThat getMaxLimit isEqualTo assertThat getDbType
test_case.modifiers: @Test
test_case.parameters: ()
test_case.return: void
test_case.signature: void setProperties()
focal_class.declarator: interceptors = new ArrayList<>()
focal_class.modifier: @Setter
      private
focal_class.original_string: @Setter
      private List<InnerInterceptor> interceptors = new ArrayList<>();
focal_class.type: List<InnerInterceptor>
focal_class.var_name: interceptors
focal_class.file: mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/plugins/MybatisPlusInterceptor.java
focal_class.identifier: MybatisPlusInterceptor
focal_class.interfaces: implements Interceptor
focal_class.class_method_signature: MybatisPlusInterceptor.intercept(Invocation invocation)
focal_class.full_signature: @Override public Object intercept(Invocation invocation)
focal_class.identifier: intercept
focal_class.modifiers: @Override public
focal_class.parameters: (Invocation invocation)
focal_class.return: Object
focal_class.signature: Object intercept(Invocation invocation)
focal_class.class_method_signature: MybatisPlusInterceptor.plugin(Object target)
focal_class.full_signature: @Override public Object plugin(Object target)
focal_class.identifier: plugin
focal_class.modifiers: @Override public
focal_class.parameters: (Object target)
focal_class.return: Object
focal_class.signature: Object plugin(Object target)
focal_class.class_method_signature: MybatisPlusInterceptor.addInnerInterceptor(InnerInterceptor innerInterceptor)
focal_class.full_signature: public void addInnerInterceptor(InnerInterceptor innerInterceptor)
focal_class.identifier: addInnerInterceptor
focal_class.modifiers: public
focal_class.parameters: (InnerInterceptor innerInterceptor)
focal_class.return: void
focal_class.signature: void addInnerInterceptor(InnerInterceptor innerInterceptor)
focal_class.class_method_signature: MybatisPlusInterceptor.getInterceptors()
focal_class.full_signature: public List<InnerInterceptor> getInterceptors()
focal_class.identifier: getInterceptors
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: List<InnerInterceptor>
focal_class.signature: List<InnerInterceptor> getInterceptors()
focal_class.class_method_signature: MybatisPlusInterceptor.setProperties(Properties properties)
focal_class.full_signature: @Override public void setProperties(Properties properties)
focal_class.identifier: setProperties
focal_class.modifiers: @Override public
focal_class.parameters: (Properties properties)
focal_class.return: void
focal_class.signature: void setProperties(Properties properties)
focal_method.body: @Override
      public void setProperties(Properties properties) {
          PropertyMapper pm = PropertyMapper.newInstance(properties);
          Map<String, Properties> group = pm.group("@");
          group.forEach((k, v) -> {
              InnerInterceptor innerInterceptor = ClassUtils.newInstance(k);
              innerInterceptor.setProperties(v);
              addInnerInterceptor(innerInterceptor);
          });
      }
focal_method.class_method_signature: MybatisPlusInterceptor.setProperties(Properties properties)
focal_method.full_signature: @Override public void setProperties(Properties properties)
focal_method.identifier: setProperties
focal_method.invocations: newInstance group forEach newInstance setProperties addInnerInterceptor
focal_method.modifiers: @Override public
focal_method.parameters: (Properties properties)
focal_method.return: void
focal_method.signature: void setProperties(Properties properties)