Class ReferenceManager<T extends ReportEntity>


  • public class ReferenceManager<T extends ReportEntity>
    extends java.lang.Object
    Управление разрешением ссылок между элементами отчета. Ссылки квалифицируются аспектом. Внутри аспекта ресолверы вызываются в том порядке, в каком они добавлялись методом addResolver(String, ReferenceResolver)
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected java.util.Map<java.lang.String,​java.util.List<ReferenceResolver<T>>> resolvers  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addResolver​(java.lang.String aspect, ReferenceResolver<T> resolver)  
      void removeResolver​(java.lang.String aspect, ReferenceResolver<T> resolver)  
      T resolve​(java.lang.String aspect, java.lang.String channel, java.lang.String ref)
      Разрешение ссылки.
      java.util.List<T> resolveMulti​(java.lang.String aspect, java.lang.String channel, java.lang.String ref)
      Разрешение ссылки.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ReferenceManager

        public ReferenceManager()
    • Method Detail

      • addResolver

        public void addResolver​(java.lang.String aspect,
                                ReferenceResolver<T> resolver)
      • removeResolver

        public void removeResolver​(java.lang.String aspect,
                                   ReferenceResolver<T> resolver)
      • resolve

        public T resolve​(java.lang.String aspect,
                         java.lang.String channel,
                         java.lang.String ref)
        Разрешение ссылки.
        Parameters:
        aspect - Аспект.
        channel - Привязка к каналу (null, если канал неважен)
        ref - Текстовая ссылка.
        Returns:
        Первый удачный результат поиска.
      • resolveMulti

        public java.util.List<T> resolveMulti​(java.lang.String aspect,
                                              java.lang.String channel,
                                              java.lang.String ref)
        Разрешение ссылки.
        Parameters:
        aspect - Аспект.
        channel - Привязка к каналу (null, если канал неважен)
        ref - Текстовая ссылка.
        Returns:
        Все удачные результаты поиска в порядке, соответствующем порядку регистрации ресолверов.