Мы собираем некоторые большие матрицы и создаем собственный класс Matrix. Они объединены с пользовательской функцией агрегации. Форматировщик заботится о том, чтобы отображать часть агрегированной меры матрицы для отладки, но кажется, что даже при использовании форматирования вся матрица все еще сериализована и отправляется в Live, когда эта мера показана. Есть ли способ избежать этого?Запретить сериализацию настраиваемого агрегированного объекта и отправку в ActivePivot Live
3
A
ответ
2
Вы должны иметь возможность выполнять форматирование в базовом пост-процессоре, принимая базовое значение своей матрицы и возвращая форматированное значение, которое вы хотите отобразить. Затем вы можете использовать эту новую меру вместо предыдущей
1
Решение David's является хорошим. Другой вариант - реализовать интерфейс Externalizable
с вашим пользовательским классом Matrix и написать переопределенные методы пустыми для void writeExternal(ObjectOutput out)
и void readExternal(ObjectInput in)
. Таким образом, только форматированное значение матрицы будет сериализовано и отправлено в Live. Однако, если вам нужно все значение матрицы в другом месте, вы больше не сможете его получить. В этом случае вам лучше использовать решение Дэвида.
Paul