Skip to content

Instantly share code, notes, and snippets.

@dimsuz
Created February 18, 2018 15:54
Show Gist options
  • Save dimsuz/d8013d4faf95bd62725b1218dc46e905 to your computer and use it in GitHub Desktop.
Save dimsuz/d8013d4faf95bd62725b1218dc46e905 to your computer and use it in GitHub Desktop.
package com.dimsuz.diffdispatcher.sample;
import java.lang.Override;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
public final class UserInfoViewStateDiffDispatcher_Generated implements UserInfoViewStateDiffDispatcher {
private final UserInfoRenderer receiver;
public UserInfoViewStateDiffDispatcher_Generated(UserInfoRenderer receiver) {
this.receiver = receiver;
}
@Override
public final void dispatch(@Nonnull UserInfoViewState newState,
@Nullable UserInfoViewState previousState) {
if (previousState == null) {
receiver.renderName(newState.getFirstName(), newState.getMiddleName(), newState.getLastName());
receiver.renderFirstName(newState.getFirstName());
receiver.renderUserAddress(newState.getAddress());
receiver.renderFriends(newState.getFriends());
receiver.renderFriendsAndInterests(newState.getFriends(), newState.getInterests());
receiver.renderPopularity(newState.getPopularity());
receiver.renderAgeAndCheesePreference(newState.getAge(), newState.getLikesCheese());
receiver.renderAge(newState.getAge());
}
else {
boolean firstNameChanged = !newState.getFirstName().equals(previousState.getFirstName());
if (firstNameChanged || !newState.getMiddleName().equals(previousState.getMiddleName()) || !newState.getLastName().equals(previousState.getLastName())) {
receiver.renderName(newState.getFirstName(), newState.getMiddleName(), newState.getLastName());
}
if (firstNameChanged) {
receiver.renderFirstName(newState.getFirstName());
}
if (!newState.getAddress().equals(previousState.getAddress())) {
receiver.renderUserAddress(newState.getAddress());
}
boolean friendsChanged = !newState.getFriends().equals(previousState.getFriends());
if (friendsChanged) {
receiver.renderFriends(newState.getFriends());
}
if (friendsChanged || !newState.getInterests().equals(previousState.getInterests())) {
receiver.renderFriendsAndInterests(newState.getFriends(), newState.getInterests());
}
if (newState.getPopularity() != previousState.getPopularity()) {
receiver.renderPopularity(newState.getPopularity());
}
boolean ageChanged = newState.getAge() != previousState.getAge();
if (ageChanged || newState.getLikesCheese() != previousState.getLikesCheese()) {
receiver.renderAgeAndCheesePreference(newState.getAge(), newState.getLikesCheese());
}
if (ageChanged) {
receiver.renderAge(newState.getAge());
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment