/**
* Copyright (C) 2015 Fernando Cejas Open Source Project
* <p/>
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p/>
* http://www.apache.org/licenses/LICENSE-2.0
* <p/>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.fernandocejas.android10.sample.data.entity.mapper;
import com.fernandocejas.android10.sample.data.dto.User;
import com.fernandocejas.android10.sample.data.entity.UserEntity;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
/**
* Mapper class used to transform {@link UserEntity} (in the data layer) to {@link User} in the
* domain layer.
*/
public class UserEntityDataMapper {
public UserEntityDataMapper() {
}
/**
* Transform a {@link UserEntity} into an {@link User}.
*
* @param userEntity Object to be transformed.
* @return {@link User} if valid {@link UserEntity} otherwise null.
*/
public User transform(UserEntity userEntity) {
User user = null;
if (userEntity != null) {
user = new User(userEntity.getUserId());
user.setCoverUrl(userEntity.getCoverUrl());
user.setFullName(userEntity.getFullname());
user.setDescription(userEntity.getDescription());
user.setFollowers(userEntity.getFollowers());
user.setEmail(userEntity.getEmail());
}
return user;
}
/**
* Transform a List of {@link UserEntity} into a Collection of {@link User}.
*
* @param userEntityCollection Object Collection to be transformed.
* @return {@link User} if valid {@link UserEntity} otherwise null.
*/
public List<User> transform(Collection<UserEntity> userEntityCollection) {
List<User> userList = new ArrayList<>(20);
User user;
for (UserEntity userEntity : userEntityCollection) {
user = transform(userEntity);
if (user != null) {
userList.add(user);
}
}
return userList;
}
}