Mercury-IM/data/src/main/java/org/mercury_im/messenger/data/mapping/AccountMapping.java

45 lines
1.2 KiB
Java
Raw Normal View History

2019-11-18 23:51:27 +01:00
package org.mercury_im.messenger.data.mapping;
2019-11-22 23:35:14 +01:00
import org.mercury_im.messenger.data.model.AccountModel;
2019-11-18 23:51:27 +01:00
import org.mercury_im.messenger.entity.Account;
import org.mercury_im.messenger.entity.PasswordAuthentication;
2019-12-01 19:56:13 +01:00
import javax.inject.Inject;
2019-11-23 21:16:03 +01:00
public class AccountMapping implements Mapping<Account, AccountModel> {
2019-12-01 19:56:13 +01:00
@Inject
public AccountMapping() {
}
2019-11-23 21:16:03 +01:00
@Override
public AccountModel entityToModel(Account entity, AccountModel model) {
2019-11-23 21:16:03 +01:00
if (entity == null) {
return null;
}
2019-12-01 19:56:13 +01:00
if (model == null) {
model = new AccountModel();
}
2019-11-23 21:16:03 +01:00
model.setPassword(entity.getAuthentication().getPassword());
model.setAddress(entity.getAddress());
model.setEnabled(entity.isEnabled());
return model;
}
@Override
public Account modelToEntity(AccountModel model, Account entity) {
if (model == null) {
return null;
}
entity.setId(model.getId());
entity.setAddress(model.getAddress());
entity.setEnabled(model.isEnabled());
entity.setAuthentication(new PasswordAuthentication(model.getPassword()));
return entity;
}
}