Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,7 @@

package com.tryfinch.api.models

import com.fasterxml.jackson.annotation.JsonAnyGetter
import com.fasterxml.jackson.annotation.JsonAnySetter
import com.fasterxml.jackson.annotation.JsonCreator
import com.fasterxml.jackson.annotation.JsonProperty
import com.tryfinch.api.core.ExcludeMissing
import com.tryfinch.api.core.JsonField
import com.tryfinch.api.core.JsonMissing
import com.tryfinch.api.core.JsonValue
import com.tryfinch.api.errors.FinchInvalidDataException
import com.tryfinch.api.services.blocking.hris.benefits.IndividualService
import java.util.Collections
import java.util.Objects
import java.util.Optional
import java.util.stream.Stream
Expand All @@ -24,33 +14,29 @@ class HrisBenefitIndividualRetrieveManyBenefitsPage
private constructor(
private val individualsService: IndividualService,
private val params: HrisBenefitIndividualRetrieveManyBenefitsParams,
private val response: Response,
private val items: List<IndividualBenefit>,
) {

fun response(): Response = response

fun items(): List<IndividualBenefit> = response().items()
/** Returns the response that this page was parsed from. */
fun items(): List<IndividualBenefit> = items

override fun equals(other: Any?): Boolean {
if (this === other) {
return true
}

return /* spotless:off */ other is HrisBenefitIndividualRetrieveManyBenefitsPage && individualsService == other.individualsService && params == other.params && response == other.response /* spotless:on */
return /* spotless:off */ other is HrisBenefitIndividualRetrieveManyBenefitsPage && individualsService == other.individualsService && params == other.params && items == other.items /* spotless:on */
}

override fun hashCode(): Int = /* spotless:off */ Objects.hash(individualsService, params, response) /* spotless:on */
override fun hashCode(): Int = /* spotless:off */ Objects.hash(individualsService, params, items) /* spotless:on */

override fun toString() =
"HrisBenefitIndividualRetrieveManyBenefitsPage{individualsService=$individualsService, params=$params, response=$response}"
"HrisBenefitIndividualRetrieveManyBenefitsPage{individualsService=$individualsService, params=$params, items=$items}"

fun hasNextPage(): Boolean {
return !items().isEmpty()
}
fun hasNextPage(): Boolean = items.isNotEmpty()

fun getNextPageParams(): Optional<HrisBenefitIndividualRetrieveManyBenefitsParams> {
return Optional.empty()
}
fun getNextPageParams(): Optional<HrisBenefitIndividualRetrieveManyBenefitsParams> =
Optional.empty()

fun getNextPage(): Optional<HrisBenefitIndividualRetrieveManyBenefitsPage> {
return getNextPageParams().map { individualsService.retrieveManyBenefits(it) }
Expand All @@ -64,104 +50,8 @@ private constructor(
fun of(
individualsService: IndividualService,
params: HrisBenefitIndividualRetrieveManyBenefitsParams,
response: Response,
) = HrisBenefitIndividualRetrieveManyBenefitsPage(individualsService, params, response)
}

class Response(
private val items: JsonField<List<IndividualBenefit>>,
private val additionalProperties: MutableMap<String, JsonValue>,
) {

@JsonCreator
private constructor(
@JsonProperty("items") items: JsonField<List<IndividualBenefit>> = JsonMissing.of()
) : this(items, mutableMapOf())

fun items(): List<IndividualBenefit> = items.getOptional("items").getOrNull() ?: listOf()

@JsonProperty("items")
fun _items(): Optional<JsonField<List<IndividualBenefit>>> = Optional.ofNullable(items)

@JsonAnySetter
private fun putAdditionalProperty(key: String, value: JsonValue) {
additionalProperties.put(key, value)
}

@JsonAnyGetter
@ExcludeMissing
fun _additionalProperties(): Map<String, JsonValue> =
Collections.unmodifiableMap(additionalProperties)

private var validated: Boolean = false

fun validate(): Response = apply {
if (validated) {
return@apply
}

items().map { it.validate() }
validated = true
}

fun isValid(): Boolean =
try {
validate()
true
} catch (e: FinchInvalidDataException) {
false
}

fun toBuilder() = Builder().from(this)

override fun equals(other: Any?): Boolean {
if (this === other) {
return true
}

return /* spotless:off */ other is Response && items == other.items && additionalProperties == other.additionalProperties /* spotless:on */
}

override fun hashCode(): Int = /* spotless:off */ Objects.hash(items, additionalProperties) /* spotless:on */

override fun toString() =
"Response{items=$items, additionalProperties=$additionalProperties}"

companion object {

/**
* Returns a mutable builder for constructing an instance of
* [HrisBenefitIndividualRetrieveManyBenefitsPage].
*/
@JvmStatic fun builder() = Builder()
}

class Builder {

private var items: JsonField<List<IndividualBenefit>> = JsonMissing.of()
private var additionalProperties: MutableMap<String, JsonValue> = mutableMapOf()

@JvmSynthetic
internal fun from(page: Response) = apply {
this.items = page.items
this.additionalProperties.putAll(page.additionalProperties)
}

fun items(items: List<IndividualBenefit>) = items(JsonField.of(items))

fun items(items: JsonField<List<IndividualBenefit>>) = apply { this.items = items }

fun putAdditionalProperty(key: String, value: JsonValue) = apply {
this.additionalProperties.put(key, value)
}

/**
* Returns an immutable instance of [Response].
*
* Further updates to this [Builder] will not mutate the returned instance.
*/
fun build(): Response = Response(items, additionalProperties.toMutableMap())
}
items: List<IndividualBenefit>,
) = HrisBenefitIndividualRetrieveManyBenefitsPage(individualsService, params, items)
}

class AutoPager(private val firstPage: HrisBenefitIndividualRetrieveManyBenefitsPage) :
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,56 +2,41 @@

package com.tryfinch.api.models

import com.fasterxml.jackson.annotation.JsonAnyGetter
import com.fasterxml.jackson.annotation.JsonAnySetter
import com.fasterxml.jackson.annotation.JsonCreator
import com.fasterxml.jackson.annotation.JsonProperty
import com.tryfinch.api.core.ExcludeMissing
import com.tryfinch.api.core.JsonField
import com.tryfinch.api.core.JsonMissing
import com.tryfinch.api.core.JsonValue
import com.tryfinch.api.errors.FinchInvalidDataException
import com.tryfinch.api.services.async.hris.benefits.IndividualServiceAsync
import java.util.Collections
import java.util.Objects
import java.util.Optional
import java.util.concurrent.CompletableFuture
import java.util.concurrent.Executor
import java.util.function.Predicate
import kotlin.jvm.optionals.getOrNull

/** Get enrollment information for the given individuals. */
class HrisBenefitIndividualRetrieveManyBenefitsPageAsync
private constructor(
private val individualsService: IndividualServiceAsync,
private val params: HrisBenefitIndividualRetrieveManyBenefitsParams,
private val response: Response,
private val items: List<IndividualBenefit>,
) {

fun response(): Response = response

fun items(): List<IndividualBenefit> = response().items()
/** Returns the response that this page was parsed from. */
fun items(): List<IndividualBenefit> = items

override fun equals(other: Any?): Boolean {
if (this === other) {
return true
}

return /* spotless:off */ other is HrisBenefitIndividualRetrieveManyBenefitsPageAsync && individualsService == other.individualsService && params == other.params && response == other.response /* spotless:on */
return /* spotless:off */ other is HrisBenefitIndividualRetrieveManyBenefitsPageAsync && individualsService == other.individualsService && params == other.params && items == other.items /* spotless:on */
}

override fun hashCode(): Int = /* spotless:off */ Objects.hash(individualsService, params, response) /* spotless:on */
override fun hashCode(): Int = /* spotless:off */ Objects.hash(individualsService, params, items) /* spotless:on */

override fun toString() =
"HrisBenefitIndividualRetrieveManyBenefitsPageAsync{individualsService=$individualsService, params=$params, response=$response}"
"HrisBenefitIndividualRetrieveManyBenefitsPageAsync{individualsService=$individualsService, params=$params, items=$items}"

fun hasNextPage(): Boolean {
return !items().isEmpty()
}
fun hasNextPage(): Boolean = items.isNotEmpty()

fun getNextPageParams(): Optional<HrisBenefitIndividualRetrieveManyBenefitsParams> {
return Optional.empty()
}
fun getNextPageParams(): Optional<HrisBenefitIndividualRetrieveManyBenefitsParams> =
Optional.empty()

fun getNextPage():
CompletableFuture<Optional<HrisBenefitIndividualRetrieveManyBenefitsPageAsync>> {
Expand All @@ -68,104 +53,8 @@ private constructor(
fun of(
individualsService: IndividualServiceAsync,
params: HrisBenefitIndividualRetrieveManyBenefitsParams,
response: Response,
) = HrisBenefitIndividualRetrieveManyBenefitsPageAsync(individualsService, params, response)
}

class Response(
private val items: JsonField<List<IndividualBenefit>>,
private val additionalProperties: MutableMap<String, JsonValue>,
) {

@JsonCreator
private constructor(
@JsonProperty("items") items: JsonField<List<IndividualBenefit>> = JsonMissing.of()
) : this(items, mutableMapOf())

fun items(): List<IndividualBenefit> = items.getOptional("items").getOrNull() ?: listOf()

@JsonProperty("items")
fun _items(): Optional<JsonField<List<IndividualBenefit>>> = Optional.ofNullable(items)

@JsonAnySetter
private fun putAdditionalProperty(key: String, value: JsonValue) {
additionalProperties.put(key, value)
}

@JsonAnyGetter
@ExcludeMissing
fun _additionalProperties(): Map<String, JsonValue> =
Collections.unmodifiableMap(additionalProperties)

private var validated: Boolean = false

fun validate(): Response = apply {
if (validated) {
return@apply
}

items().map { it.validate() }
validated = true
}

fun isValid(): Boolean =
try {
validate()
true
} catch (e: FinchInvalidDataException) {
false
}

fun toBuilder() = Builder().from(this)

override fun equals(other: Any?): Boolean {
if (this === other) {
return true
}

return /* spotless:off */ other is Response && items == other.items && additionalProperties == other.additionalProperties /* spotless:on */
}

override fun hashCode(): Int = /* spotless:off */ Objects.hash(items, additionalProperties) /* spotless:on */

override fun toString() =
"Response{items=$items, additionalProperties=$additionalProperties}"

companion object {

/**
* Returns a mutable builder for constructing an instance of
* [HrisBenefitIndividualRetrieveManyBenefitsPageAsync].
*/
@JvmStatic fun builder() = Builder()
}

class Builder {

private var items: JsonField<List<IndividualBenefit>> = JsonMissing.of()
private var additionalProperties: MutableMap<String, JsonValue> = mutableMapOf()

@JvmSynthetic
internal fun from(page: Response) = apply {
this.items = page.items
this.additionalProperties.putAll(page.additionalProperties)
}

fun items(items: List<IndividualBenefit>) = items(JsonField.of(items))

fun items(items: JsonField<List<IndividualBenefit>>) = apply { this.items = items }

fun putAdditionalProperty(key: String, value: JsonValue) = apply {
this.additionalProperties.put(key, value)
}

/**
* Returns an immutable instance of [Response].
*
* Further updates to this [Builder] will not mutate the returned instance.
*/
fun build(): Response = Response(items, additionalProperties.toMutableMap())
}
items: List<IndividualBenefit>,
) = HrisBenefitIndividualRetrieveManyBenefitsPageAsync(individualsService, params, items)
}

class AutoPager(private val firstPage: HrisBenefitIndividualRetrieveManyBenefitsPageAsync) {
Expand Down
Loading
Loading