Реализации одного и того же класса клиента и сервера GWT

Есть ли способ по-разному реализовать один и тот же класс на клиенте и на сервере?

Чтобы избежать вопроса «Почему вы хотите сделать который?" вопрос.. Я уточню

Я конвертирую очень большое Java-приложение клиент / сервер. В настоящее время он использует клиент Swing GUI и общается с сервером через удаленное взаимодействие Spring (RPC). Использование GWT RPC со службами Spring не проблема, доступно несколько отличных примеров, и все они, кажется, работают хорошо.

Несколько классов, общих как для клиента, так и для сервера, содержат данные, которые передаются туда и обратно. Эти классы также содержат некоторое поведение, которое реализуется с помощью стандартных классов JRE. Например, один класс содержит, анализирует и форматирует дату и время, включая часовой пояс, летнее время и т. Д., В зависимости от локали. Я мог бы переписать / реорганизовать его, но приложение имеет более 10 миллионов SLOC, что приводит к буквально миллионам ссылок только на этот класс, поэтому серьезное переписывание нерентабельно.

Чтобы использовать это в качестве примера, GWT предоставляет отличную поддержку i18n для синтаксического анализа и форматирования дат. Но реализация отличается от того, как это делает JRE.

Итак, я ищу точный способ, с помощью которого я могу внедрить реализацию в оболочку моего класса DateTime, в зависимости от того, находится ли она на клиенте (с использованием GWT и собственного JS) или на сервере (с использованием JRE ). Есть ли хитрый способ сделать это? Возможно использование файла модуля XXXXX.gwt.xml. Я ищу универсальное решение.

9
задан helipilot50 17 March 2011 в 22:05
поделиться