code: private void setupListenerCallbackMethods(final RecordMethodCache recordMethod, final Class<?> recordClass) {
  
          // リスナーオブジェクトに定義されたコールバックメソッドの抽出
          final XlsListener listenerAnno = annoReader.getAnnotation(recordClass, XlsListener.class);
          if(listenerAnno == null) {
              return;
          }
  
          final Class<?>[] listenerClasses = listenerAnno.value();
  
          for(Class<?> listenerClass : listenerClasses) {
  
              ListenerClassCache listenerCache = new ListenerClassCache(config.createBean(listenerClass));
              recordMethod.lisnterClasses.add(listenerCache);
  
              for(Method method : listenerClass.getMethods()) {
                  method.setAccessible(true);
  
                  if(annoReader.hasAnnotation(method, XlsPreLoad.class)) {
                      listenerCache.preLoadMethods.add(method);
  
                  } else if(annoReader.hasAnnotation(method, XlsPostLoad.class)) {
                      listenerCache.postLoadMethods.add(method);
  
                  } else if(annoReader.hasAnnotation(method, XlsPreSave.class)) {
                      listenerCache.preSaveMethods.add(method);
  
                  } else if(annoReader.hasAnnotation(method, XlsPostSave.class)) {
                      listenerCache.postSaveMethods.add(method);
  
                  }
  
              }
          }
  
      }
docs: リスナークラスに定義されているコールバックメソッドの抽出
  
  @param recordMethod メソッドの格納先
  @param recordClass レコードクラス