// Path: src/main/java/org/letustakearest/domain/Hotel.java
// @Getter
// @Setter
// public final class Hotel extends IdentifiableAndVersioned {
// 
//     private City city;
// 
//     private String name;
// 
//     private Set<Place> places = new HashSet<>();
// 
// }
// 
// Path: src/main/java/org/letustakearest/domain/PaginatedResult.java
// @Getter
// public final class PaginatedResult<E extends IdentifiableAndVersioned> {
// 
//     private final List<E> list;
// 
//     private final Pagination actualPagination;
// 
//     private final int total;
// 
//     public PaginatedResult(final List<E> list, final Pagination actualPagination, final int total) {
//         this.list = list;
//         this.actualPagination = actualPagination;
//         this.total = total;
//     }
// 
// }
// 
// Path: src/main/java/org/letustakearest/presentation/representations/HotelsRepresentationAssembler.java
// public interface HotelsRepresentationAssembler {
// 
//     Object from(PaginatedResult<Hotel> hotels);
// 
// }


import org.letustakearest.domain.Hotel;
import org.letustakearest.domain.PaginatedResult;
import org.letustakearest.presentation.representations.HotelsRepresentationAssembler;
import javax.ws.rs.core.UriInfo;
package org.letustakearest.presentation.representations.siren;



/**
 * @author volodymyr.tsukur
 */
public class SirenHotelsRepresentationAssembler extends BaseSirenRepresentationAssembler
        implements HotelsRepresentationAssembler {

    public SirenHotelsRepresentationAssembler(final UriInfo uriInfo) {
        super(uriInfo);
    }

    @Override
    public Object from(final PaginatedResult<Hotel> hotels) {
// Path: src/main/java/org/letustakearest/domain/Hotel.java
// @Getter
// @Setter
// public final class Hotel extends IdentifiableAndVersioned {
// 
//     private City city;
// 
//     private String name;
// 
//     private Set<Place> places = new HashSet<>();
// 
// }
// 
// Path: src/main/java/org/letustakearest/domain/PaginatedResult.java
// @Getter
// public final class PaginatedResult<E extends IdentifiableAndVersioned> {
// 
//     private final List<E> list;
// 
//     private final Pagination actualPagination;
// 
//     private final int total;
// 
//     public PaginatedResult(final List<E> list, final Pagination actualPagination, final int total) {
//         this.list = list;
//         this.actualPagination = actualPagination;
//         this.total = total;
//     }
// 
// }
// 
// Path: src/main/java/org/letustakearest/presentation/representations/HotelsRepresentationAssembler.java
// public interface HotelsRepresentationAssembler {
// 
//     Object from(PaginatedResult<Hotel> hotels);
// 
// }


// Path: src/main/java/org/letustakearest/presentation/representations/siren/SirenHotelsRepresentationAssembler.java
import org.letustakearest.domain.Hotel;
import org.letustakearest.domain.PaginatedResult;
import org.letustakearest.presentation.representations.HotelsRepresentationAssembler;
import javax.ws.rs.core.UriInfo;

package org.letustakearest.presentation.representations.siren;



/**
 * @author volodymyr.tsukur
 */
public class SirenHotelsRepresentationAssembler extends BaseSirenRepresentationAssembler
        implements HotelsRepresentationAssembler {

    public SirenHotelsRepresentationAssembler(final UriInfo uriInfo) {
        super(uriInfo);
    }

    @Override
    public Object from(final PaginatedResult<Hotel> hotels) {
        return new HotelsRepresentationBuilder(hotels, uriInfo).build();