package <%= pkg %>.domain.infrastructure package <%= pkg %>.domain.IdentifiableEntity package <%= pkg %>.domain.IdentifiableValueObject package <%= pkg %>.domain.Page package <%= pkg %>.domain.PageRequest data class RepositoryPage( val elements: List, val totalElements: Long ) { fun toPage(requested: PageRequest, elementTransformer: (e: ENTITY) -> VO): Page { val transformedElements = elements.map { elementTransformer(it) } return Page( elements = transformedElements, totalElements = this.totalElements, requested = requested ) } }