Абстрактный класс с gwt и сериализуемым?

Доброе утро, парень,

У меня много проблем с английским (: D) и GWT.

В GWT абстрактный класс может быть сериализуемым?

Это мой код для проекта ElectionOnline. Большое спасибо за твою помощь.

package elezione.eco.shared;

public abstract class User 
{
	protected String username;
	protected String password;
	protected String email;
	protected String name;
	protected String surname;
	protected String sex;
	protected String birthDate;
	protected String birthPlace;
	protected String address;
	
	public User(){}
	
	
	public String getName() {
		return name;
	}

	public String getSurname() {
		return surname;
	}

	public String getSex() {
		return sex;
	}

	public String getBirthDate() {
		return birthDate;
	}

	public String getBirthPlace() {
		return birthPlace;
	}

	public String getAddress() {
		return address;
	}

	public String getUsername(){
		return username;
	}
	
	public String getPassword(){
		return password;
	}
	
	public String getEmail(){
		return email;
	}	

}

package elezione.eco.server;

import elezione.eco.client.ECOService;
import com.google.gwt.user.server.rpc.RemoteServiceServlet;
import elezione.eco.shared.*;

import java.io.File;
import java.util.ArrayList;

import org.mapdb.DB;
import org.mapdb.DBMaker;

/**
 * The server-side implementation of the RPC service.
 */
public class ECOServiceImpl extends RemoteServiceServlet implements ECOService {
	
	private static final long serialVersionUID = 1L;
	LoginServiceImpl loginService;
	
	public ECOServiceImpl() {
		DB db = DBMaker.newFileDB( new File( "ECO-DB.txt" ) ).closeOnJvmShutdown().make();

		loginService = new LoginServiceImpl( db );
	}
	
	public void restartDb() {
		loginService.clear();		
		loginService.addAdmin();
	}
	
	public void populate() {

		try {
			addUser( "Sergio" , "m" , "[email protected]" , null , null , null , null , null , null );
		} catch ( DuplicatedUserNameException e ) {
			e.printStackTrace();
		}
	}
	
	public User addUser( String username, String password, String email, String name, String surname, String sex,
			String birthDate, String birthPlace, String address ) throws DuplicatedUserNameException {
		return loginService.addUser( username , password , email , name , surname , sex , birthDate , birthPlace ,
				address );
	}

	public User login( String userName, String password ) throws WrongPasswordException, UserNotFoundException {
		return loginService.login( userName , password );
	}
	
	public ArrayList<User> getRegistered() {
		return loginService.getRegistered();
	}
	
	public ArrayList<User> getAllUsers() {
		return loginService.getAllUsers();
	}
}

Хорошо, я не понимаю, потому что ошибка компиляции gwt с сериализацией. Аннотация класса может быть сериализуемой? я должен реализовать абстрактный шаблон. Спасибо

Вы не можете создать экземпляр абстрактного класса. вы должны предоставить дочерний класс для абстрактного класса, чтобы служба GWT могла создать экземпляр и сериализовать его

Pandey Amit 30.10.2018 11:29

Возможный дубликат этого .. stackoverflow.com/questions/4452941/…

Pandey Amit 30.10.2018 11:33
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
2
140
1

Ответы 1

GWT (точнее, GWT-RPC) поддерживает сериализацию класса IsSerializable, который расширяет абстрактный сериализуемый класс.

Если вы ищете класс DTO без конкретной реализации на стороне клиента, вы ищете Proxy или RequestFactory.

http://www.gwtproject.org/doc/latest/DevGuideRequestFactory.html

Другие вопросы по теме