Interface Selection<T>

  • Type Parameters:
    T - Тип DTO для этой выборки

    public interface Selection<T>
    Основной интерфейс, определяющий какие именно поля будут выбраны Fetcher-ом
    • Method Detail

      • empty

        boolean empty()
        Returns:
        true, если данная выборка является пустой ( то есть propagation() == SelectionPropagation.NORMAL (или null) и ни одно значение SelectionEnum не равно SelectionEnum.T и все вложенные выборки так же являются empty() )
      • encode

        static String encode​(Selection<?> selection)
        Данный метод нужен, чтобы уменьшить кол-во символов, необходимых для передачи выборки в формате JSON, через параметры запроса URL.
        Parameters:
        selection - Выборка
        Returns:
        Закодированный специальным образом JSON, который не будет закодирован процентами (url-encoded).
      • decode

        static <S extends Selection<?>> S decode​(String encodedJson,
                                                 Class<S> target)
        Данный метод может работать и не с кодированной через encode(Selection) выборкой (то есть он может работать и с обычным JSON).
        Parameters:
        encodedJson - Выборка в обыкновенном формате JSON, или закодированном через encode(Selection)
        target - Тип выборки
        Returns:
        Выборка типа <S>