// Path: domain/src/main/java/com/mike/feed/domain/Deleted.java
// public class Deleted {
// }
// 
// Path: domain/src/main/java/com/mike/feed/domain/Feed.java
// public class Feed {
//     private String title;
//     private String body;
//     private String image;
//     private String key;
//     private int index;
// 
//     public String getTitle() {
//         return title;
//     }
// 
//     public void setTitle(String title) {
//         this.title = title;
//     }
// 
//     public String getBody() {
//         return body;
//     }
// 
//     public void setBody(String body) {
//         this.body = body;
//     }
// 
//     public String getImage() {
//         return image;
//     }
// 
//     public void setImage(String image) {
//         this.image = image;
//     }
// 
//     public String getKey() {
//         return key;
//     }
// 
//     public void setKey(String key) {
//         this.key = key;
//     }
// 
//     public int getIndex() {
//         return index;
//     }
// 
//     public void setIndex(int index) {
//         this.index = index;
//     }
// }
// 
// Path: domain/src/main/java/com/mike/feed/domain/FeedChangedInfo.java
// public class FeedChangedInfo {
//     public enum EventType { Added, Changed, Removed, Moved }
// 
//     private EventType type;
//     private String previousChildKey;
//     private String key;
//     private Feed feed;
// 
//     public String getKey() {
//         return key;
//     }
// 
//     public void setKey(String key) {
//         this.key = key;
//     }
// 
//     public EventType getType() {
//         return type;
//     }
// 
//     public void setType(EventType type) {
//         this.type = type;
//     }
// 
//     public String getPreviousChildKey() {
//         return previousChildKey;
//     }
// 
//     public void setPreviousChildKey(String previousChildKey) {
//         this.previousChildKey = previousChildKey;
//     }
// 
//     public Feed getFeed() {
//         return feed;
//     }
// 
//     public void setFeed(Feed feed) {
//         this.feed = feed;
//     }
// }
// 
// Path: domain/src/main/java/com/mike/feed/domain/Written.java
// public class Written {
// }
// 
// Path: mvvm/src/main/java/com/mike/feed/model/DeletedModel.java
// public class DeletedModel {
// }
// 
// Path: mvvm/src/main/java/com/mike/feed/model/FeedChangedInfoModel.java
// public class FeedChangedInfoModel {
//     public enum EventType { Added, Changed, Removed, Moved }
// 
//     private EventType type;
//     private String previousChildKey;
//     private String key;
//     private FeedModel feed;
// 
//     public EventType getType() {
//         return type;
//     }
// 
//     public void setType(EventType type) {
//         this.type = type;
//     }
// 
//     public String getPreviousChildKey() {
//         return previousChildKey;
//     }
// 
//     public void setPreviousChildKey(String previousChildKey) {
//         this.previousChildKey = previousChildKey;
//     }
// 
//     public String getKey() {
//         return key;
//     }
// 
//     public void setKey(String key) {
//         this.key = key;
//     }
// 
//     public FeedModel getFeed() {
//         return feed;
//     }
// 
//     public void setFeed(FeedModel feed) {
//         this.feed = feed;
//     }
// }
// 
// Path: mvvm/src/main/java/com/mike/feed/model/FeedModel.java
// public class FeedModel {
//     private String title;
//     private String body;
//     private String image;
//     private int index;
// 
//     public int getIndex() {
//         return index;
//     }
// 
//     public void setIndex(int index) {
//         this.index = index;
//     }
// 
// 
//     public String getTitle() {
//         return title;
//     }
// 
//     public void setTitle(String title) {
//         this.title = title;
//     }
// 
//     public String getBody() {
//         return body;
//     }
// 
//     public void setBody(String body) {
//         this.body = body;
//     }
// 
//     public String getImage() {
//         return image;
//     }
// 
//     public void setImage(String image) {
//         this.image = image;
//     }
// }
// 
// Path: mvvm/src/main/java/com/mike/feed/model/WrittenModel.java
// public class WrittenModel {
// 
// }


import com.mike.feed.domain.Deleted;
import com.mike.feed.domain.Feed;
import com.mike.feed.domain.FeedChangedInfo;
import com.mike.feed.domain.Written;
import com.mike.feed.model.DeletedModel;
import com.mike.feed.model.FeedChangedInfoModel;
import com.mike.feed.model.FeedModel;
import com.mike.feed.model.WrittenModel;
import javax.inject.Inject;
import javax.inject.Singleton;
        feed.setTitle(entity.getTitle());
        feed.setIndex(entity.getIndex());

        return feed;
    }


    public FeedModel transform(Feed entity){
        FeedModel feed = new FeedModel();

        feed.setImage(entity.getImage());
        feed.setBody(entity.getBody());
        feed.setTitle(entity.getTitle());
        feed.setIndex(entity.getIndex());

        return feed;
    }


    public FeedChangedInfoModel transform(FeedChangedInfo entity){
        FeedChangedInfoModel result = new FeedChangedInfoModel();
        result.setKey(entity.getKey());
        result.setPreviousChildKey(entity.getPreviousChildKey());
        result.setFeed(this.transform(entity.getFeed()));

        switch (entity.getType()){
            case Added:
                result.setType(FeedChangedInfoModel.EventType.Added);
                break;
            case Changed:
// Path: domain/src/main/java/com/mike/feed/domain/Deleted.java
// public class Deleted {
// }
// 
// Path: domain/src/main/java/com/mike/feed/domain/Feed.java
// public class Feed {
//     private String title;
//     private String body;
//     private String image;
//     private String key;
//     private int index;
// 
//     public String getTitle() {
//         return title;
//     }
// 
//     public void setTitle(String title) {
//         this.title = title;
//     }
// 
//     public String getBody() {
//         return body;
//     }
// 
//     public void setBody(String body) {
//         this.body = body;
//     }
// 
//     public String getImage() {
//         return image;
//     }
// 
//     public void setImage(String image) {
//         this.image = image;
//     }
// 
//     public String getKey() {
//         return key;
//     }
// 
//     public void setKey(String key) {
//         this.key = key;
//     }
// 
//     public int getIndex() {
//         return index;
//     }
// 
//     public void setIndex(int index) {
//         this.index = index;
//     }
// }
// 
// Path: domain/src/main/java/com/mike/feed/domain/FeedChangedInfo.java
// public class FeedChangedInfo {
//     public enum EventType { Added, Changed, Removed, Moved }
// 
//     private EventType type;
//     private String previousChildKey;
//     private String key;
//     private Feed feed;
// 
//     public String getKey() {
//         return key;
//     }
// 
//     public void setKey(String key) {
//         this.key = key;
//     }
// 
//     public EventType getType() {
//         return type;
//     }
// 
//     public void setType(EventType type) {
//         this.type = type;
//     }
// 
//     public String getPreviousChildKey() {
//         return previousChildKey;
//     }
// 
//     public void setPreviousChildKey(String previousChildKey) {
//         this.previousChildKey = previousChildKey;
//     }
// 
//     public Feed getFeed() {
//         return feed;
//     }
// 
//     public void setFeed(Feed feed) {
//         this.feed = feed;
//     }
// }
// 
// Path: domain/src/main/java/com/mike/feed/domain/Written.java
// public class Written {
// }
// 
// Path: mvvm/src/main/java/com/mike/feed/model/DeletedModel.java
// public class DeletedModel {
// }
// 
// Path: mvvm/src/main/java/com/mike/feed/model/FeedChangedInfoModel.java
// public class FeedChangedInfoModel {
//     public enum EventType { Added, Changed, Removed, Moved }
// 
//     private EventType type;
//     private String previousChildKey;
//     private String key;
//     private FeedModel feed;
// 
//     public EventType getType() {
//         return type;
//     }
// 
//     public void setType(EventType type) {
//         this.type = type;
//     }
// 
//     public String getPreviousChildKey() {
//         return previousChildKey;
//     }
// 
//     public void setPreviousChildKey(String previousChildKey) {
//         this.previousChildKey = previousChildKey;
//     }
// 
//     public String getKey() {
//         return key;
//     }
// 
//     public void setKey(String key) {
//         this.key = key;
//     }
// 
//     public FeedModel getFeed() {
//         return feed;
//     }
// 
//     public void setFeed(FeedModel feed) {
//         this.feed = feed;
//     }
// }
// 
// Path: mvvm/src/main/java/com/mike/feed/model/FeedModel.java
// public class FeedModel {
//     private String title;
//     private String body;
//     private String image;
//     private int index;
// 
//     public int getIndex() {
//         return index;
//     }
// 
//     public void setIndex(int index) {
//         this.index = index;
//     }
// 
// 
//     public String getTitle() {
//         return title;
//     }
// 
//     public void setTitle(String title) {
//         this.title = title;
//     }
// 
//     public String getBody() {
//         return body;
//     }
// 
//     public void setBody(String body) {
//         this.body = body;
//     }
// 
//     public String getImage() {
//         return image;
//     }
// 
//     public void setImage(String image) {
//         this.image = image;
//     }
// }
// 
// Path: mvvm/src/main/java/com/mike/feed/model/WrittenModel.java
// public class WrittenModel {
// 
// }


// Path: mvvm/src/main/java/com/mike/feed/mapper/FeedModelMapper.java
import com.mike.feed.domain.Deleted;
import com.mike.feed.domain.Feed;
import com.mike.feed.domain.FeedChangedInfo;
import com.mike.feed.domain.Written;
import com.mike.feed.model.DeletedModel;
import com.mike.feed.model.FeedChangedInfoModel;
import com.mike.feed.model.FeedModel;
import com.mike.feed.model.WrittenModel;
import javax.inject.Inject;
import javax.inject.Singleton;

        feed.setTitle(entity.getTitle());
        feed.setIndex(entity.getIndex());

        return feed;
    }


    public FeedModel transform(Feed entity){
        FeedModel feed = new FeedModel();

        feed.setImage(entity.getImage());
        feed.setBody(entity.getBody());
        feed.setTitle(entity.getTitle());
        feed.setIndex(entity.getIndex());

        return feed;
    }


    public FeedChangedInfoModel transform(FeedChangedInfo entity){
        FeedChangedInfoModel result = new FeedChangedInfoModel();
        result.setKey(entity.getKey());
        result.setPreviousChildKey(entity.getPreviousChildKey());
        result.setFeed(this.transform(entity.getFeed()));

        switch (entity.getType()){
            case Added:
                result.setType(FeedChangedInfoModel.EventType.Added);
                break;
            case Changed:
                result.setType(FeedChangedInfoModel.EventType.Changed);