diff --git a/pom.xml b/pom.xml
index 410e3d1..6a02944 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,18 +3,18 @@
4.0.0
no.nav.pensjon.regler
pensjon-regler-api
- 1.0.2
+ 1.0.3
jar
NAV :: Pensjon-Regler API
17
1.9.0
-
UTF-8
UTF-8
17
official
+ 2.17.0
@@ -40,7 +40,18 @@
${kotlin.version}
test
+
+ com.fasterxml.jackson.core
+ jackson-core
+ ${jackson.version}
+
+
+ com.fasterxml.jackson.core
+ jackson-annotations
+ ${jackson.version}
+
+
src/main/kotlin
src/test/kotlin
diff --git a/src/main/kotlin/no/nav/pensjon/regler/domain/IBeregning.kt b/src/main/kotlin/no/nav/pensjon/regler/domain/IBeregning.kt
deleted file mode 100644
index 3708574..0000000
--- a/src/main/kotlin/no/nav/pensjon/regler/domain/IBeregning.kt
+++ /dev/null
@@ -1,10 +0,0 @@
-package no.nav.pensjon.regler.domain
-
-import no.nav.pensjon.regler.domain.beregning.BeregningRelasjon
-
-/**
- * Felles interface for Beregning og Beregning2011 klasser.
- */
-interface IBeregning {
- val delberegningsListe: List
-}
\ No newline at end of file
diff --git a/src/main/kotlin/no/nav/pensjon/regler/domain/Omsorgsopptjening.kt b/src/main/kotlin/no/nav/pensjon/regler/domain/Omsorgsopptjening.kt
index cd90030..8bccf81 100644
--- a/src/main/kotlin/no/nav/pensjon/regler/domain/Omsorgsopptjening.kt
+++ b/src/main/kotlin/no/nav/pensjon/regler/domain/Omsorgsopptjening.kt
@@ -1,5 +1,15 @@
package no.nav.pensjon.regler.domain
+import com.fasterxml.jackson.annotation.JsonSubTypes
+import com.fasterxml.jackson.annotation.JsonTypeInfo
+import no.nav.pensjon.regler.domain.beregning.Poengtall
+import no.nav.pensjon.regler.domain.beregning2011.OpptjeningUT
+
+@JsonSubTypes(
+ JsonSubTypes.Type(value = Poengtall::class),
+ JsonSubTypes.Type(value = OpptjeningUT::class)
+)
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
interface Omsorgsopptjening {
/**
* Gitt år for opptjeningen
diff --git a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning/Beregning.kt b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning/Beregning.kt
index 249f2ca..f62140e 100644
--- a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning/Beregning.kt
+++ b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning/Beregning.kt
@@ -1,6 +1,5 @@
package no.nav.pensjon.regler.domain.beregning
-import no.nav.pensjon.regler.domain.IBeregning
import no.nav.pensjon.regler.domain.Merknad
import no.nav.pensjon.regler.domain.PenPerson
import no.nav.pensjon.regler.domain.Trygdetid
@@ -16,7 +15,7 @@ import java.util.*
/**
* Beregning er resultatet fra en beregning i pensjon-regler.
*/
-class Beregning : IBeregning, Serializable {
+class Beregning : Serializable {
/**
* Representerer personen beregning gjelder for.
@@ -179,9 +178,9 @@ class Beregning : IBeregning, Serializable {
var trygdetid: Trygdetid? = null
/**
- * Liste av beregninger.Kan inneholde alternative beregninger gjort ved lønnsomhetsberegninger.Vinneren ligger da i hovedobjektet mens taperen(e) ligger i denne listen.
+ * Liste av beregninger. Kan inneholde alternative beregninger gjort ved lønnsomhetsberegninger.Vinneren ligger da i hovedobjektet mens taperen(e) ligger i denne listen.
*/
- override var delberegningsListe: List = mutableListOf()
+ var delberegningsListe: List = mutableListOf()
/**
* Angir type beregning: BER, HJELPEBER, SAM_BER, VUR_BER.
diff --git a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning/Grunnpensjon.kt b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning/Grunnpensjon.kt
index 10499be..100de15 100644
--- a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning/Grunnpensjon.kt
+++ b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning/Grunnpensjon.kt
@@ -1,5 +1,8 @@
package no.nav.pensjon.regler.domain.beregning
+import com.fasterxml.jackson.annotation.JsonSubTypes
+import com.fasterxml.jackson.annotation.JsonTypeInfo
+import no.nav.pensjon.regler.domain.beregning2011.BasisGrunnpensjon
import no.nav.pensjon.regler.domain.kode.FormelKodeCti
import no.nav.pensjon.regler.domain.kode.GPSatsTypeCti
import no.nav.pensjon.regler.domain.kode.YtelsekomponentTypeCti
@@ -8,6 +11,10 @@ import no.nav.pensjon.regler.domain.trygdetid.AnvendtTrygdetid
/**
* Grunnpensjon
*/
+@JsonSubTypes(
+ JsonSubTypes.Type(value = BasisGrunnpensjon::class)
+)
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
open class Grunnpensjon : Ytelseskomponent {
/**
* Prosentsatsen.
diff --git a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning/Tilleggspensjon.kt b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning/Tilleggspensjon.kt
index 84e0393..c1ea83c 100644
--- a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning/Tilleggspensjon.kt
+++ b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning/Tilleggspensjon.kt
@@ -1,13 +1,17 @@
package no.nav.pensjon.regler.domain.beregning
+import com.fasterxml.jackson.annotation.JsonSubTypes
+import com.fasterxml.jackson.annotation.JsonTypeInfo
+import no.nav.pensjon.regler.domain.beregning2011.BasisTilleggspensjon
import no.nav.pensjon.regler.domain.kode.FormelKodeCti
import no.nav.pensjon.regler.domain.kode.YtelsekomponentTypeCti
import no.nav.pensjon.regler.domain.util.formula.Formel
import no.nav.pensjon.regler.domain.util.formula.IFormelProvider
-/*
- * Tilleggspensjon
- */
+@JsonSubTypes(
+ JsonSubTypes.Type(value = BasisTilleggspensjon::class)
+)
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
open class Tilleggspensjon : Ytelseskomponent, IFormelProvider {
/**
* Det ordinåre sluttpoengtallet.
@@ -39,14 +43,12 @@ open class Tilleggspensjon : Ytelseskomponent, IFormelProvider {
*/
override var formelMap: HashMap = HashMap()
- override val formelPrefix: String
- get() = ytelsekomponentType.kode!!
-
override var ytelsekomponentType: YtelsekomponentTypeCti = YtelsekomponentTypeCti("TP")
constructor() {
formelKode = FormelKodeCti("TPx")
}
+
constructor(tilleggspensjon: Tilleggspensjon) : super(tilleggspensjon) {
if (tilleggspensjon.spt != null) {
spt = Sluttpoengtall(tilleggspensjon.spt!!)
diff --git a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning/Ytelseskomponent.kt b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning/Ytelseskomponent.kt
index e7da507..bccd1a3 100644
--- a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning/Ytelseskomponent.kt
+++ b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning/Ytelseskomponent.kt
@@ -1,7 +1,10 @@
package no.nav.pensjon.regler.domain.beregning
+import com.fasterxml.jackson.annotation.JsonSubTypes
+import com.fasterxml.jackson.annotation.JsonTypeInfo
import no.nav.pensjon.regler.domain.Merknad
-import no.nav.pensjon.regler.domain.beregning2011.ReguleringsInformasjon
+import no.nav.pensjon.regler.domain.beregning.penobjekter.*
+import no.nav.pensjon.regler.domain.beregning2011.*
import no.nav.pensjon.regler.domain.kode.FormelKodeCti
import no.nav.pensjon.regler.domain.kode.SakTypeCti
import no.nav.pensjon.regler.domain.kode.YtelsekomponentTypeCti
@@ -11,6 +14,46 @@ import java.io.Serializable
* Superklasse for alle ytelser, Grunnpensjon, Sertillegg, AfpTillegg osv. For
* alle ytelser gjelder at brutto - netto = fradrag.
*/
+@JsonSubTypes(
+ JsonSubTypes.Type(value = AfpKompensasjonstillegg::class),
+ JsonSubTypes.Type(value = AfpKronetillegg::class),
+ JsonSubTypes.Type(value = AfpLivsvarig::class),
+ JsonSubTypes.Type(value = AfpTillegg::class),
+ JsonSubTypes.Type(value = BeregningYtelseskomponent::class),
+ JsonSubTypes.Type(value = Ektefelletillegg::class),
+ JsonSubTypes.Type(value = EktefelletilleggUT::class),
+ JsonSubTypes.Type(value = Familietillegg::class),
+ JsonSubTypes.Type(value = FasteUtgifterTillegg::class),
+ JsonSubTypes.Type(value = FasteUtgifterTilleggUT::class),
+ JsonSubTypes.Type(value = Garantipensjon::class),
+ JsonSubTypes.Type(value = Garantitillegg::class),
+ JsonSubTypes.Type(value = Garantitillegg_Art_27::class),
+ JsonSubTypes.Type(value = Garantitillegg_Art_27_UT::class),
+ JsonSubTypes.Type(value = Garantitillegg_Art_50::class),
+ JsonSubTypes.Type(value = Gjenlevendetillegg::class),
+ JsonSubTypes.Type(value = GjenlevendetilleggAP::class),
+ JsonSubTypes.Type(value = GjenlevendetilleggAPKap19::class),
+ JsonSubTypes.Type(value = Grunnpensjon::class),
+ JsonSubTypes.Type(value = Hjelpeloshetsbidrag::class),
+ JsonSubTypes.Type(value = Inntektspensjon::class),
+ JsonSubTypes.Type(value = KrigOgGammelYrkesskade::class),
+ JsonSubTypes.Type(value = Mendel::class),
+ JsonSubTypes.Type(value = MinstenivatilleggIndividuelt::class),
+ JsonSubTypes.Type(value = MinstenivatilleggPensjonistpar::class),
+ JsonSubTypes.Type(value = Paragraf_8_5_1_tillegg::class),
+ JsonSubTypes.Type(value = Pensjonstillegg::class),
+ JsonSubTypes.Type(value = Sertillegg::class),
+ JsonSubTypes.Type(value = Skjermingstillegg::class),
+ JsonSubTypes.Type(value = TemporarYtelseskomponent::class),
+ JsonSubTypes.Type(value = Tilleggspensjon::class),
+ JsonSubTypes.Type(value = TilleggTilHjelpIHuset::class),
+ JsonSubTypes.Type(value = UforetilleggTilAlderspensjon::class),
+ JsonSubTypes.Type(value = UforetrygdOrdiner::class),
+ JsonSubTypes.Type(value = Ventetillegg::class),
+
+ JsonSubTypes.Type(value = AbstraktBarnetillegg::class)
+)
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
abstract class Ytelseskomponent : Serializable {
/**
* Brutto beløp.
diff --git a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning/penobjekter/BeregningYtelseskomponent.kt b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning/penobjekter/BeregningYtelseskomponent.kt
index 2483d7a..c241713 100644
--- a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning/penobjekter/BeregningYtelseskomponent.kt
+++ b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning/penobjekter/BeregningYtelseskomponent.kt
@@ -1,11 +1,19 @@
package no.nav.pensjon.regler.domain.beregning.penobjekter
+import com.fasterxml.jackson.annotation.JsonSubTypes
+import com.fasterxml.jackson.annotation.JsonTypeInfo
import no.nav.pensjon.regler.domain.beregning.Beregning
import no.nav.pensjon.regler.domain.beregning.Ytelseskomponent
/**
* Created by N123422 on 06.11.2014.
*/
+@JsonSubTypes(
+ JsonSubTypes.Type(value = MotregningYtelseskomponent::class),
+ JsonSubTypes.Type(value = SkattefriGrunnpensjon::class),
+ JsonSubTypes.Type(value = SkattefriUforetrygdOrdiner::class)
+)
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
abstract class BeregningYtelseskomponent : Ytelseskomponent() {
//Benyttes i PEN domenemodell for MapKey in Beregning.
private var ytelseKomponentTypeName: String? = null
diff --git a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning/penobjekter/MotregningYtelseskomponent.kt b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning/penobjekter/MotregningYtelseskomponent.kt
index 63a7f60..2d66cff 100644
--- a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning/penobjekter/MotregningYtelseskomponent.kt
+++ b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning/penobjekter/MotregningYtelseskomponent.kt
@@ -1,8 +1,18 @@
package no.nav.pensjon.regler.domain.beregning.penobjekter
+import com.fasterxml.jackson.annotation.JsonSubTypes
+import com.fasterxml.jackson.annotation.JsonTypeInfo
+
/**
* Created by N123422 on 06.11.2014.
*/
+@JsonSubTypes(
+ JsonSubTypes.Type(value = ArbeidsavklaringspengerUT::class),
+ JsonSubTypes.Type(value = Arbeidsavklaringspenger::class),
+ JsonSubTypes.Type(value = Sykepenger::class),
+ JsonSubTypes.Type(value = SykepengerUT::class),
+)
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
abstract class MotregningYtelseskomponent : BeregningYtelseskomponent() {
var dagsats = 0
var antallDager = 0
diff --git a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/AbstraktAvkortingsinformasjon.kt b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/AbstraktAvkortingsinformasjon.kt
index 1a65a31..7c020d4 100644
--- a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/AbstraktAvkortingsinformasjon.kt
+++ b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/AbstraktAvkortingsinformasjon.kt
@@ -1,11 +1,18 @@
package no.nav.pensjon.regler.domain.beregning2011
+import com.fasterxml.jackson.annotation.JsonSubTypes
+import com.fasterxml.jackson.annotation.JsonTypeInfo
import no.nav.pensjon.regler.domain.kode.InntektsavkortingTypeCti
import java.io.Serializable
/**
* Inneholder felles felt for avkorting av både UT og BT. Enkelte felt fra tidligere klasse Avkortningsinformasjon.
*/
+@JsonSubTypes(
+ JsonSubTypes.Type(value = AvkortingsinformasjonBT::class),
+ JsonSubTypes.Type(value = AvkortingsinformasjonBT::class),
+)
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
abstract class AbstraktAvkortingsinformasjon : Serializable {
/**
* Antall måneder før virk.
diff --git a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/AbstraktBarnetillegg.kt b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/AbstraktBarnetillegg.kt
index 7521dad..5fa49d7 100644
--- a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/AbstraktBarnetillegg.kt
+++ b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/AbstraktBarnetillegg.kt
@@ -1,9 +1,19 @@
package no.nav.pensjon.regler.domain.beregning2011
+import com.fasterxml.jackson.annotation.JsonSubTypes
+import com.fasterxml.jackson.annotation.JsonTypeInfo
+import no.nav.pensjon.regler.domain.beregning.BarnetilleggFellesbarn
+import no.nav.pensjon.regler.domain.beregning.BarnetilleggSerkullsbarn
import no.nav.pensjon.regler.domain.beregning.Ytelseskomponent
import no.nav.pensjon.regler.domain.kode.AvkortingsArsakCti
import java.io.Serializable
+@JsonSubTypes(
+ JsonSubTypes.Type(value = BarnetilleggSerkullsbarn::class),
+ JsonSubTypes.Type(value = BarnetilleggFellesbarn::class),
+ JsonSubTypes.Type(value = AbstraktBarnetilleggUT::class),
+)
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
abstract class AbstraktBarnetillegg : Ytelseskomponent, Serializable {
/**
* Antall barn i kullet.
diff --git a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/AbstraktBarnetilleggUT.kt b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/AbstraktBarnetilleggUT.kt
index dad9ca8..0cfebca 100644
--- a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/AbstraktBarnetilleggUT.kt
+++ b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/AbstraktBarnetilleggUT.kt
@@ -1,7 +1,14 @@
package no.nav.pensjon.regler.domain.beregning2011
+import com.fasterxml.jackson.annotation.JsonSubTypes
+import com.fasterxml.jackson.annotation.JsonTypeInfo
import java.io.Serializable
+@JsonSubTypes(
+ JsonSubTypes.Type(value = BarnetilleggFellesbarnUT::class),
+ JsonSubTypes.Type(value = BarnetilleggSerkullsbarnUT::class),
+)
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
abstract class AbstraktBarnetilleggUT : AbstraktBarnetillegg, Serializable, UforetrygdYtelseskomponent {
/**
* Detaljer rundt avkortning av netto barnetillegg.
diff --git a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/AbstraktBarnetilleggperiode.kt b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/AbstraktBarnetilleggperiode.kt
index 06be141..e923a92 100644
--- a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/AbstraktBarnetilleggperiode.kt
+++ b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/AbstraktBarnetilleggperiode.kt
@@ -1,9 +1,17 @@
package no.nav.pensjon.regler.domain.beregning2011
+import com.fasterxml.jackson.annotation.JsonSubTypes
+import com.fasterxml.jackson.annotation.JsonTypeInfo
import no.nav.pensjon.regler.domain.trygdetid.Brok
import java.io.Serializable
import java.util.*
+@JsonSubTypes(
+ JsonSubTypes.Type(value = TidligereBarnetilleggperiode::class),
+ JsonSubTypes.Type(value = FremtidigBarnetilleggperiode::class),
+ JsonSubTypes.Type(value = AvkortingsinformasjonBT::class)
+)
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
abstract class AbstraktBarnetilleggperiode : Serializable {
/**
* Start for periode med et antall barn.
diff --git a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/AbstraktBeregningsResultat.kt b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/AbstraktBeregningsResultat.kt
index 584529c..eb00c37 100644
--- a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/AbstraktBeregningsResultat.kt
+++ b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/AbstraktBeregningsResultat.kt
@@ -1,5 +1,7 @@
package no.nav.pensjon.regler.domain.beregning2011
+import com.fasterxml.jackson.annotation.JsonSubTypes
+import com.fasterxml.jackson.annotation.JsonTypeInfo
import no.nav.pensjon.regler.domain.Merknad
import no.nav.pensjon.regler.domain.kode.BeregningArsakCti
import no.nav.pensjon.regler.domain.kode.BorMedTypeCti
@@ -7,6 +9,14 @@ import no.nav.pensjon.regler.domain.kode.SivilstandTypeCti
import java.io.Serializable
import java.util.*
+@JsonSubTypes(
+ JsonSubTypes.Type(value = BeregningsresultatUforetrygd::class),
+ JsonSubTypes.Type(value = BeregningsResultatAlderspensjon2016::class),
+ JsonSubTypes.Type(value = BeregningsResultatAlderspensjon2025::class),
+ JsonSubTypes.Type(value = BeregningsResultatAfpPrivat::class),
+ JsonSubTypes.Type(value = BeregningsResultatAlderspensjon2011::class)
+)
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
abstract class AbstraktBeregningsResultat protected constructor() : Serializable {
var virkFom: Date? = null
var pensjonUnderUtbetaling: PensjonUnderUtbetaling? = null
diff --git a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/AbstraktBeregningsgrunnlag.kt b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/AbstraktBeregningsgrunnlag.kt
index 2ab5c98..e1e3dd9 100644
--- a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/AbstraktBeregningsgrunnlag.kt
+++ b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/AbstraktBeregningsgrunnlag.kt
@@ -1,8 +1,18 @@
package no.nav.pensjon.regler.domain.beregning2011
+import com.fasterxml.jackson.annotation.JsonSubTypes
+import com.fasterxml.jackson.annotation.JsonTypeInfo
+import no.nav.pensjon.regler.domain.beregning.BarnetilleggFellesbarn
+import no.nav.pensjon.regler.domain.beregning.BarnetilleggSerkullsbarn
import no.nav.pensjon.regler.domain.kode.FormelKodeCti
import java.io.Serializable
+@JsonSubTypes(
+ JsonSubTypes.Type(value = BeregningsgrunnlagKonvertert::class),
+ JsonSubTypes.Type(value = BeregningsgrunnlagOrdiner::class),
+ JsonSubTypes.Type(value = BeregningsgrunnlagYrkesskade::class),
+)
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
abstract class AbstraktBeregningsgrunnlag protected constructor() : Serializable {
var formelKode: FormelKodeCti? = null
var arsbelop = 0
diff --git a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/AfpLivsvarig.kt b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/AfpLivsvarig.kt
index 679b186..0cc6d6b 100644
--- a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/AfpLivsvarig.kt
+++ b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/AfpLivsvarig.kt
@@ -1,9 +1,18 @@
package no.nav.pensjon.regler.domain.beregning2011
+import com.fasterxml.jackson.annotation.JsonSubTypes
+import com.fasterxml.jackson.annotation.JsonTypeInfo
import no.nav.pensjon.regler.domain.beregning.Ytelseskomponent
import no.nav.pensjon.regler.domain.kode.FormelKodeCti
import no.nav.pensjon.regler.domain.kode.YtelsekomponentTypeCti
+import no.nav.pensjon.regler.domain.vedtak.VilkarsprovInformasjon2011
+import no.nav.pensjon.regler.domain.vedtak.VilkarsprovInformasjon2016
+import no.nav.pensjon.regler.domain.vedtak.VilkarsprovInformasjon2025
+@JsonSubTypes(
+ JsonSubTypes.Type(value = FremskrevetAfpLivsvarig::class)
+)
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
open class AfpLivsvarig : Ytelseskomponent {
var justeringsbelop = 0
var afpProsentgrad = 0.0
diff --git a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/BeregnetUtbetalingsperiode.kt b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/BeregnetUtbetalingsperiode.kt
index 135277f..affb4be 100644
--- a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/BeregnetUtbetalingsperiode.kt
+++ b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/BeregnetUtbetalingsperiode.kt
@@ -4,7 +4,7 @@ import no.nav.pensjon.regler.domain.beregning.Ytelseskomponent
import java.io.Serializable
import java.util.*
-class BeregnetUtbetalingsperiode : Serializable {
+class BeregnetUtbetalingsperiode() : Serializable {
/**
* Periodens startdato.
*/
diff --git a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/Beregning2011.kt b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/Beregning2011.kt
index 598689d..7542d96 100644
--- a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/Beregning2011.kt
+++ b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/Beregning2011.kt
@@ -1,6 +1,7 @@
package no.nav.pensjon.regler.domain.beregning2011
-import no.nav.pensjon.regler.domain.IBeregning
+import com.fasterxml.jackson.annotation.JsonSubTypes
+import com.fasterxml.jackson.annotation.JsonTypeInfo
import no.nav.pensjon.regler.domain.Merknad
import no.nav.pensjon.regler.domain.PenPerson
import no.nav.pensjon.regler.domain.beregning.BeregningRelasjon
@@ -10,7 +11,14 @@ import no.nav.pensjon.regler.domain.kode.BeregningTypeCti
import no.nav.pensjon.regler.domain.kode.ResultatTypeCti
import java.io.Serializable
-abstract class Beregning2011 : IBeregning, Serializable {
+@JsonSubTypes(
+ JsonSubTypes.Type(value = Uforetrygdberegning::class),
+ JsonSubTypes.Type(value = AfpPrivatBeregning::class),
+ JsonSubTypes.Type(value = AldersberegningKapittel20::class),
+ JsonSubTypes.Type(value = AldersberegningKapittel19::class),
+)
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
+abstract class Beregning2011 : Serializable {
var gjelderPerson: PenPerson? = null
open var grunnbelop = 0
var tt_anv = 0
@@ -20,7 +28,7 @@ abstract class Beregning2011 : IBeregning, Serializable {
var delberegning2011Liste: List = mutableListOf()
var merknadListe: List = mutableListOf()
- override val delberegningsListe: List
+ val delberegningsListe: List
get() = delberegning2011Liste
/**
diff --git a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/BeregningsInformasjon.kt b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/BeregningsInformasjon.kt
index ecc0733..77148f6 100644
--- a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/BeregningsInformasjon.kt
+++ b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/BeregningsInformasjon.kt
@@ -9,45 +9,38 @@ import no.nav.pensjon.regler.domain.kode.LandCti
import no.nav.pensjon.regler.domain.kode.ResultatTypeCti
import java.io.Serializable
-open class BeregningsInformasjon : Serializable, IBeregningsInformasjon2011 {
- //Fra IBeregningsInformasjon2011
- override var forholdstallUttak = 0.0
- override var forholdstall67 = 0.0
+class BeregningsInformasjon : Serializable {
+ var forholdstallUttak = 0.0
+ var forholdstall67 = 0.0
var delingstallUttak = 0.0
var delingstall67 = 0.0
- override var spt: Sluttpoengtall? = null
- override var opt: Sluttpoengtall? = null
- override var ypt: Sluttpoengtall? = null
- override var grunnpensjonAvkortet = false
+ var spt: Sluttpoengtall? = null
+ var opt: Sluttpoengtall? = null
+ var ypt: Sluttpoengtall? = null
+ var grunnpensjonAvkortet = false
var merknadListe: List = mutableListOf()
- override var mottarMinstePensjonsniva = false
- override var minstepensjonArsak: String? = null
- override var rettPaGjenlevenderett = false
- override var gjenlevenderettAnvendt = false
- override var avdodesTilleggspensjonBrukt = false
- override var avdodesTrygdetidBrukt = false
- override var ungUfor = false
- override var ungUforAnvendt = false
- override var yrkesskadeRegistrert = false
- override var yrkesskadeAnvendt = false
- override var yrkesskadegrad = 0
-
- // Fra IBeregningsInformasjon
- override var penPerson: PenPerson? = null
-
- // Fra IBeregningsInformasjon
- override var beregningsMetode: BeregningMetodeTypeCti? = null
- override var eksport = false
- override var resultatType: ResultatTypeCti? = null
+ var mottarMinstePensjonsniva = false
+ var minstepensjonArsak: String? = null
+ var rettPaGjenlevenderett = false
+ var gjenlevenderettAnvendt = false
+ var avdodesTilleggspensjonBrukt = false
+ var avdodesTrygdetidBrukt = false
+ var ungUfor = false
+ var ungUforAnvendt = false
+ var yrkesskadeRegistrert = false
+ var yrkesskadeAnvendt = false
+ var yrkesskadegrad = 0
+ var penPerson: PenPerson? = null
+ var beregningsMetode: BeregningMetodeTypeCti? = null
+ var eksport = false
+ var resultatType: ResultatTypeCti? = null
var tapendeBeregningsmetodeListe: List = mutableListOf()
- override var trygdetid: Int? = null
- override var tt_anv = 0
- override var vurdertBosattland: LandCti? = null
- override var ensligPensjonInstOpph = false
- override var instOppholdType: JustertPeriodeCti? = null
- override var instOpphAnvendt = false
-
- // Avdødes tilleggspensjon
+ var trygdetid: Int? = null
+ var tt_anv = 0
+ var vurdertBosattland: LandCti? = null
+ var ensligPensjonInstOpph = false
+ var instOppholdType: JustertPeriodeCti? = null
+ var instOpphAnvendt = false
var tp = 0.0
var ttBeregnetForGrunnlagsrolle = 0
var ungUforGarantiFrafalt = false
diff --git a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/Gjenlevendetillegg.kt b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/Gjenlevendetillegg.kt
index 8339937..de10cf1 100644
--- a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/Gjenlevendetillegg.kt
+++ b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/Gjenlevendetillegg.kt
@@ -81,6 +81,4 @@ class Gjenlevendetillegg() : Ytelseskomponent(), UforetrygdYtelseskomponent, IFo
override var ytelsekomponentType: YtelsekomponentTypeCti = YtelsekomponentTypeCti("UT_GJT")
- override val formelPrefix: String
- get() = ytelsekomponentType.kode!!
}
\ No newline at end of file
diff --git a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/GjenlevendetilleggAP.kt b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/GjenlevendetilleggAP.kt
index d900d7c..3683463 100644
--- a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/GjenlevendetilleggAP.kt
+++ b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/GjenlevendetilleggAP.kt
@@ -45,8 +45,5 @@ class GjenlevendetilleggAP : Ytelseskomponent(), IFormelProvider {
*/
override var formelMap: HashMap = HashMap()
- override val formelPrefix: String
- get() = "GJT_Kap20"
-
override var ytelsekomponentType: YtelsekomponentTypeCti = YtelsekomponentTypeCti("AP_GJT")
}
\ No newline at end of file
diff --git a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/GjenlevendetilleggAPKap19.kt b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/GjenlevendetilleggAPKap19.kt
index e8e8f68..167ee65 100644
--- a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/GjenlevendetilleggAPKap19.kt
+++ b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/GjenlevendetilleggAPKap19.kt
@@ -33,8 +33,5 @@ class GjenlevendetilleggAPKap19 : Ytelseskomponent(), IFormelProvider {
*/
override var formelMap: HashMap = HashMap()
- override val formelPrefix: String
- get() = "GJT_Kap19"
-
override var ytelsekomponentType: YtelsekomponentTypeCti = YtelsekomponentTypeCti("AP_GJT_KAP19")
}
\ No newline at end of file
diff --git a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/IBeregningsInformasjon.kt b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/IBeregningsInformasjon.kt
index 784f434..07ef600 100644
--- a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/IBeregningsInformasjon.kt
+++ b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/IBeregningsInformasjon.kt
@@ -1,11 +1,17 @@
package no.nav.pensjon.regler.domain.beregning2011
+import com.fasterxml.jackson.annotation.JsonSubTypes
+import com.fasterxml.jackson.annotation.JsonTypeInfo
import no.nav.pensjon.regler.domain.PenPerson
import no.nav.pensjon.regler.domain.kode.BeregningMetodeTypeCti
import no.nav.pensjon.regler.domain.kode.JustertPeriodeCti
import no.nav.pensjon.regler.domain.kode.LandCti
import no.nav.pensjon.regler.domain.kode.ResultatTypeCti
+@JsonSubTypes(
+ JsonSubTypes.Type(value = BeregningsInformasjon::class)
+)
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
interface IBeregningsInformasjon {
var penPerson: PenPerson?
var beregningsMetode: BeregningMetodeTypeCti?
diff --git a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/IBeregningsInformasjon2011.kt b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/IBeregningsInformasjon2011.kt
deleted file mode 100644
index 8844629..0000000
--- a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/IBeregningsInformasjon2011.kt
+++ /dev/null
@@ -1,23 +0,0 @@
-package no.nav.pensjon.regler.domain.beregning2011
-
-import no.nav.pensjon.regler.domain.beregning.Sluttpoengtall
-
-interface IBeregningsInformasjon2011 : IBeregningsInformasjon {
- var avdodesTilleggspensjonBrukt: Boolean
- var avdodesTrygdetidBrukt: Boolean
- var forholdstall67: Double
- var forholdstallUttak: Double
- var gjenlevenderettAnvendt: Boolean
- var grunnpensjonAvkortet: Boolean
- var mottarMinstePensjonsniva: Boolean
- var minstepensjonArsak: String?
- var opt: Sluttpoengtall?
- var rettPaGjenlevenderett: Boolean
- var spt: Sluttpoengtall?
- var ungUfor: Boolean
- var ungUforAnvendt: Boolean
- var ypt: Sluttpoengtall?
- var yrkesskadeAnvendt: Boolean
- var yrkesskadegrad: Int
- var yrkesskadeRegistrert: Boolean
-}
\ No newline at end of file
diff --git a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/IBeregningsInformasjon2025.kt b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/IBeregningsInformasjon2025.kt
deleted file mode 100644
index 9194afb..0000000
--- a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/IBeregningsInformasjon2025.kt
+++ /dev/null
@@ -1,3 +0,0 @@
-package no.nav.pensjon.regler.domain.beregning2011
-
-interface IBeregningsInformasjon2025 : IBeregningsInformasjon
\ No newline at end of file
diff --git a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/IFremskriving.kt b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/IFremskriving.kt
index 700ab98..9d984db 100644
--- a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/IFremskriving.kt
+++ b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/IFremskriving.kt
@@ -1,5 +1,12 @@
package no.nav.pensjon.regler.domain.beregning2011
+import com.fasterxml.jackson.annotation.JsonSubTypes
+import com.fasterxml.jackson.annotation.JsonTypeInfo
+
+@JsonSubTypes(
+ JsonSubTypes.Type(value = FremskrivingsDetaljer::class)
+)
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
interface IFremskriving : IJustering {
var teller: Double
var nevner: Double
diff --git a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/IGRegulering.kt b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/IGRegulering.kt
index 2cf1da4..57a8e1e 100644
--- a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/IGRegulering.kt
+++ b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/IGRegulering.kt
@@ -1,5 +1,12 @@
package no.nav.pensjon.regler.domain.beregning2011
+import com.fasterxml.jackson.annotation.JsonSubTypes
+import com.fasterxml.jackson.annotation.JsonTypeInfo
+
+@JsonSubTypes(
+ JsonSubTypes.Type(value = GReguleringDetaljer::class)
+)
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
interface IGRegulering : IJustering {
var forrigeG: Int
var gjeldendeG: Int
diff --git a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/IJustering.kt b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/IJustering.kt
index 19f329a..4cb9adb 100644
--- a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/IJustering.kt
+++ b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/IJustering.kt
@@ -1,7 +1,15 @@
package no.nav.pensjon.regler.domain.beregning2011
+import com.fasterxml.jackson.annotation.JsonSubTypes
+import com.fasterxml.jackson.annotation.JsonTypeInfo
import java.util.*
+@JsonSubTypes(
+ JsonSubTypes.Type(value = IGRegulering::class),
+ JsonSubTypes.Type(value = IFremskriving::class),
+ JsonSubTypes.Type(value = ILonnsvekst::class)
+)
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
interface IJustering {
var justeringsfaktor: Double
var justeringTomDato: Date?
diff --git a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/ILonnsvekst.kt b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/ILonnsvekst.kt
index b7e060a..8b712d5 100644
--- a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/ILonnsvekst.kt
+++ b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/ILonnsvekst.kt
@@ -1,5 +1,12 @@
package no.nav.pensjon.regler.domain.beregning2011
+import com.fasterxml.jackson.annotation.JsonSubTypes
+import com.fasterxml.jackson.annotation.JsonTypeInfo
+
+@JsonSubTypes(
+ JsonSubTypes.Type(value = LonnsvekstDetaljer::class)
+)
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
interface ILonnsvekst : IJustering {
var lonnsvekst: Double
}
\ No newline at end of file
diff --git a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/Pensjonstillegg.kt b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/Pensjonstillegg.kt
index e3e3a05..23f941a 100644
--- a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/Pensjonstillegg.kt
+++ b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/Pensjonstillegg.kt
@@ -1,10 +1,16 @@
package no.nav.pensjon.regler.domain.beregning2011
+import com.fasterxml.jackson.annotation.JsonSubTypes
+import com.fasterxml.jackson.annotation.JsonTypeInfo
import no.nav.pensjon.regler.domain.beregning.Ytelseskomponent
import no.nav.pensjon.regler.domain.kode.FormelKodeCti
import no.nav.pensjon.regler.domain.kode.MinstepenNivaCti
import no.nav.pensjon.regler.domain.kode.YtelsekomponentTypeCti
+@JsonSubTypes(
+ JsonSubTypes.Type(value = BasisPensjonstillegg::class)
+)
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
open class Pensjonstillegg : Ytelseskomponent {
var forholdstall67 = 0.0
var minstepensjonsnivaSats = 0.0
@@ -17,7 +23,7 @@ open class Pensjonstillegg : Ytelseskomponent {
formelKode = FormelKodeCti("PenTx")
}
- constructor(pt: Pensjonstillegg) : super(pt){
+ constructor(pt: Pensjonstillegg) : super(pt) {
forholdstall67 = pt.forholdstall67
minstepensjonsnivaSats = pt.minstepensjonsnivaSats
if (pt.minstepensjonsnivaSatsType != null) {
diff --git a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/Regulering.kt b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/Regulering.kt
index 5b62804..9255470 100644
--- a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/Regulering.kt
+++ b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/Regulering.kt
@@ -1,5 +1,13 @@
package no.nav.pensjon.regler.domain.beregning2011
+import com.fasterxml.jackson.annotation.JsonSubTypes
+import com.fasterxml.jackson.annotation.JsonTypeInfo
+
+@JsonSubTypes(
+ JsonSubTypes.Type(value = FremskrevetPensjonUnderUtbetaling::class),
+ JsonSubTypes.Type(value = FremskrevetAfpLivsvarig::class)
+)
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
interface Regulering {
var gap: Int
var reguleringsfaktor: Double
diff --git a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/SisteAldersberegning2011.kt b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/SisteAldersberegning2011.kt
index a80bb4a..434d122 100644
--- a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/SisteAldersberegning2011.kt
+++ b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/SisteAldersberegning2011.kt
@@ -1,5 +1,7 @@
package no.nav.pensjon.regler.domain.beregning2011
+import com.fasterxml.jackson.annotation.JsonSubTypes
+import com.fasterxml.jackson.annotation.JsonTypeInfo
import no.nav.pensjon.regler.domain.grunnlag.Beholdninger
import no.nav.pensjon.regler.domain.grunnlag.Persongrunnlag
import no.nav.pensjon.regler.domain.kode.BeregningMetodeTypeCti
@@ -12,6 +14,10 @@ import no.nav.pensjon.regler.domain.vedtak.VilkarsVedtak
* Denne benyttes av 2011, 2016 og 2025
* For 2016 vil alle feltene være aktuelle
*/
+@JsonSubTypes(
+ JsonSubTypes.Type(value = SisteAldersberegning2016::class)
+)
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
open class SisteAldersberegning2011 : SisteBeregning() {
var regelverkType: RegelverkTypeCti? = null // Dene benyttes for å avgjøre om det er på 2011, 2016 eller 2025.
var basispensjon: Basispensjon? = null // 2011
diff --git a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/SisteBeregning.kt b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/SisteBeregning.kt
index 348a90f..28a6481 100644
--- a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/SisteBeregning.kt
+++ b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/SisteBeregning.kt
@@ -1,5 +1,7 @@
package no.nav.pensjon.regler.domain.beregning2011
+import com.fasterxml.jackson.annotation.JsonSubTypes
+import com.fasterxml.jackson.annotation.JsonTypeInfo
import no.nav.pensjon.regler.domain.kode.BorMedTypeCti
import no.nav.pensjon.regler.domain.kode.ResultatTypeCti
import no.nav.pensjon.regler.domain.kode.SivilstandTypeCti
@@ -9,6 +11,12 @@ import java.util.*
/**
* Felles grensesnitt for Siste beregninger slik som SisteBeregning1967, SisteAldersberegning2011, SisteGjenlevendeberegning
*/
+@JsonSubTypes(
+ JsonSubTypes.Type(value = SisteAldersberegning2011::class),
+ JsonSubTypes.Type(value = SisteBeregning1967::class),
+ JsonSubTypes.Type(value = SisteUforepensjonBeregning::class)
+)
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
abstract class SisteBeregning protected constructor() : Serializable {
var virkDato: Date? = null
var tt_anv = 0
diff --git a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/UforetrygdYtelseskomponent.kt b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/UforetrygdYtelseskomponent.kt
index 71e8930..5621a9e 100644
--- a/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/UforetrygdYtelseskomponent.kt
+++ b/src/main/kotlin/no/nav/pensjon/regler/domain/beregning2011/UforetrygdYtelseskomponent.kt
@@ -1,8 +1,18 @@
package no.nav.pensjon.regler.domain.beregning2011
+import com.fasterxml.jackson.annotation.JsonSubTypes
+import com.fasterxml.jackson.annotation.JsonTypeInfo
+
/**
* PK-27754: Innførte nytt felt som skal være på alle uføretrygdytelser.
*/
+@JsonSubTypes(
+ JsonSubTypes.Type(value = EktefelletilleggUT::class),
+ JsonSubTypes.Type(value = UforetrygdOrdiner::class),
+ JsonSubTypes.Type(value = AbstraktBarnetilleggUT::class),
+ JsonSubTypes.Type(value = Gjenlevendetillegg::class)
+)
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
interface UforetrygdYtelseskomponent {
var tidligereBelopAr: Int
-}
\ No newline at end of file
+}
diff --git a/src/main/kotlin/no/nav/pensjon/regler/domain/grunnlag/Beholdning.kt b/src/main/kotlin/no/nav/pensjon/regler/domain/grunnlag/Beholdning.kt
index a1406d6..7a1deb6 100644
--- a/src/main/kotlin/no/nav/pensjon/regler/domain/grunnlag/Beholdning.kt
+++ b/src/main/kotlin/no/nav/pensjon/regler/domain/grunnlag/Beholdning.kt
@@ -1,5 +1,8 @@
package no.nav.pensjon.regler.domain.grunnlag
+import com.fasterxml.jackson.annotation.JsonAutoDetect
+import com.fasterxml.jackson.annotation.JsonSubTypes
+import com.fasterxml.jackson.annotation.JsonTypeInfo
import no.nav.pensjon.regler.domain.Merknad
import no.nav.pensjon.regler.domain.Opptjening
import no.nav.pensjon.regler.domain.beregning2011.LonnsvekstInformasjon
@@ -8,6 +11,13 @@ import no.nav.pensjon.regler.domain.kode.BeholdningsTypeCti
import no.nav.pensjon.regler.domain.kode.FormelKodeCti
import java.io.Serializable
+@JsonSubTypes(
+ JsonSubTypes.Type(value = Garantitilleggsbeholdning::class),
+ JsonSubTypes.Type(value = AfpOpptjening::class),
+ JsonSubTypes.Type(value = Garantipensjonsbeholdning::class),
+ JsonSubTypes.Type(value = Pensjonsbeholdning::class)
+)
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
abstract class Beholdning protected constructor() : Serializable {
var ar = 0
var totalbelop = 0.0
diff --git a/src/main/kotlin/no/nav/pensjon/regler/domain/grunnlag/Inntektsgrunnlag.kt b/src/main/kotlin/no/nav/pensjon/regler/domain/grunnlag/Inntektsgrunnlag.kt
index 8c494a9..cfa75e1 100644
--- a/src/main/kotlin/no/nav/pensjon/regler/domain/grunnlag/Inntektsgrunnlag.kt
+++ b/src/main/kotlin/no/nav/pensjon/regler/domain/grunnlag/Inntektsgrunnlag.kt
@@ -5,11 +5,7 @@ import no.nav.pensjon.regler.domain.kode.InntektTypeCti
import java.io.Serializable
import java.util.*
-class Inntektsgrunnlag
-/**
- * private boolean kopiertFraGammeltKrav;
- */
- : Serializable {
+class Inntektsgrunnlag() : Serializable {
/*
* Unik identifikator for Inntektsgrunnlag. Endres ikke av regelmotoren,
* men Inntektsgrunnlag med null id kan opprettes av batchtjenestene,
diff --git a/src/main/kotlin/no/nav/pensjon/regler/domain/grunnlag/Persongrunnlag.kt b/src/main/kotlin/no/nav/pensjon/regler/domain/grunnlag/Persongrunnlag.kt
index 5de8d78..3d8d0ce 100644
--- a/src/main/kotlin/no/nav/pensjon/regler/domain/grunnlag/Persongrunnlag.kt
+++ b/src/main/kotlin/no/nav/pensjon/regler/domain/grunnlag/Persongrunnlag.kt
@@ -5,12 +5,7 @@ import no.nav.pensjon.regler.domain.TTPeriode
import no.nav.pensjon.regler.domain.Trygdetid
import no.nav.pensjon.regler.domain.beregning2011.OvergangsinfoUPtilUT
import no.nav.pensjon.regler.domain.beregning2011.UtbetalingsgradUT
-import no.nav.pensjon.regler.domain.kode.BorMedTypeCti
-import no.nav.pensjon.regler.domain.kode.GrunnlagsrolleCti
import no.nav.pensjon.regler.domain.kode.LandCti
-import no.nav.pensjon.regler.domain.kode.SivilstandTypeCti
-import no.nav.pensjon.regler.domain.vedtak.VilkarsVedtak
-import org.apache.commons.lang3.mutable.Mutable
import java.io.Serializable
import java.util.*
@@ -19,7 +14,7 @@ import java.util.*
* Persongrunnlag brukes som inndata til kall på en regeltjeneste og må
* defineres før kallet.
*/
-open class Persongrunnlag : Serializable {
+class Persongrunnlag() : Serializable {
/**
* Representerer personen.
*/
diff --git a/src/main/kotlin/no/nav/pensjon/regler/domain/util/formula/IFormelProvider.kt b/src/main/kotlin/no/nav/pensjon/regler/domain/util/formula/IFormelProvider.kt
index 7527002..26a23c1 100644
--- a/src/main/kotlin/no/nav/pensjon/regler/domain/util/formula/IFormelProvider.kt
+++ b/src/main/kotlin/no/nav/pensjon/regler/domain/util/formula/IFormelProvider.kt
@@ -1,6 +1,19 @@
package no.nav.pensjon.regler.domain.util.formula
+import com.fasterxml.jackson.annotation.JsonSubTypes
+import com.fasterxml.jackson.annotation.JsonTypeInfo
+import no.nav.pensjon.regler.domain.beregning.Tilleggspensjon
+import no.nav.pensjon.regler.domain.beregning2011.Gjenlevendetillegg
+import no.nav.pensjon.regler.domain.beregning2011.GjenlevendetilleggAP
+import no.nav.pensjon.regler.domain.beregning2011.GjenlevendetilleggAPKap19
+
+@JsonSubTypes(
+ JsonSubTypes.Type(value = Tilleggspensjon::class),
+ JsonSubTypes.Type(value = Gjenlevendetillegg::class),
+ JsonSubTypes.Type(value = GjenlevendetilleggAP::class),
+ JsonSubTypes.Type(value = GjenlevendetilleggAPKap19::class)
+)
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
interface IFormelProvider {
val formelMap: HashMap
- val formelPrefix: String
}
\ No newline at end of file
diff --git a/src/main/kotlin/no/nav/pensjon/regler/domain/vedtak/AbstraktBeregningsvilkar.kt b/src/main/kotlin/no/nav/pensjon/regler/domain/vedtak/AbstraktBeregningsvilkar.kt
index 6f4b282..28cb4e8 100644
--- a/src/main/kotlin/no/nav/pensjon/regler/domain/vedtak/AbstraktBeregningsvilkar.kt
+++ b/src/main/kotlin/no/nav/pensjon/regler/domain/vedtak/AbstraktBeregningsvilkar.kt
@@ -1,8 +1,23 @@
package no.nav.pensjon.regler.domain.vedtak
+import com.fasterxml.jackson.annotation.JsonSubTypes
+import com.fasterxml.jackson.annotation.JsonTypeInfo
import no.nav.pensjon.regler.domain.Merknad
import java.io.Serializable
+@JsonSubTypes(
+ JsonSubTypes.Type(value = Alderspensjon2011VedDod::class),
+ JsonSubTypes.Type(value = TrygdetidBeregningsvilkar::class),
+ JsonSubTypes.Type(value = TidligereGjenlevendePensjon::class),
+ JsonSubTypes.Type(value = Yrkesskadegrad::class),
+ JsonSubTypes.Type(value = InntektVedSkadetidspunktet::class),
+ JsonSubTypes.Type(value = InntektEtterUforhet::class),
+ JsonSubTypes.Type(value = Skadetidspunkt::class),
+ JsonSubTypes.Type(value = Uforetidspunkt::class),
+ JsonSubTypes.Type(value = InntektForUforhet::class),
+ JsonSubTypes.Type(value = Uforegrad::class)
+)
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
abstract class AbstraktBeregningsvilkar protected constructor() : Serializable {
var merknadListe: List = mutableListOf()
}
\ No newline at end of file
diff --git a/src/main/kotlin/no/nav/pensjon/regler/domain/vedtak/AbstraktVilkar.kt b/src/main/kotlin/no/nav/pensjon/regler/domain/vedtak/AbstraktVilkar.kt
index 97bc553..fc4e20d 100644
--- a/src/main/kotlin/no/nav/pensjon/regler/domain/vedtak/AbstraktVilkar.kt
+++ b/src/main/kotlin/no/nav/pensjon/regler/domain/vedtak/AbstraktVilkar.kt
@@ -1,8 +1,23 @@
package no.nav.pensjon.regler.domain.vedtak
+import com.fasterxml.jackson.annotation.JsonSubTypes
+import com.fasterxml.jackson.annotation.JsonTypeInfo
+import no.nav.pensjon.regler.domain.beregning2011.BeregningsvilkarPeriode
import no.nav.pensjon.regler.domain.kode.VilkarOppfyltUTCti
import java.io.Serializable
+@JsonSubTypes(
+ JsonSubTypes.Type(value = BeregningsvilkarPeriode::class),
+ JsonSubTypes.Type(value = MedlemskapForUTEtterTrygdeavtaler::class),
+ JsonSubTypes.Type(value = RettTilEksportEtterTrygdeavtaler::class),
+ JsonSubTypes.Type(value = RettTilGjenlevendetillegg::class),
+ JsonSubTypes.Type(value = ForutgaendeMedlemskap::class),
+ JsonSubTypes.Type(value = Yrkesskade::class),
+ JsonSubTypes.Type(value = FortsattMedlemskap::class),
+ JsonSubTypes.Type(value = UngUfor::class)
+
+)
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
abstract class AbstraktVilkar : Serializable {
var resultat: VilkarOppfyltUTCti? = null
diff --git a/src/main/kotlin/no/nav/pensjon/regler/domain/vedtak/AbstraktVilkarsprovResultat.kt b/src/main/kotlin/no/nav/pensjon/regler/domain/vedtak/AbstraktVilkarsprovResultat.kt
index af016b7..d6b7879 100644
--- a/src/main/kotlin/no/nav/pensjon/regler/domain/vedtak/AbstraktVilkarsprovResultat.kt
+++ b/src/main/kotlin/no/nav/pensjon/regler/domain/vedtak/AbstraktVilkarsprovResultat.kt
@@ -1,6 +1,13 @@
package no.nav.pensjon.regler.domain.vedtak
+import com.fasterxml.jackson.annotation.JsonSubTypes
+import com.fasterxml.jackson.annotation.JsonTypeInfo
import java.io.Serializable
-abstract class AbstraktVilkarsprovResultat : Serializable {
-}
\ No newline at end of file
+@JsonSubTypes(
+ JsonSubTypes.Type(value = VilkarsprovAlderspensjon67Resultat::class),
+ JsonSubTypes.Type(value = VilkarsprovAlderspensjonResultat::class),
+ JsonSubTypes.Type(value = VilkarsprovUforetrygdResultat::class),
+)
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
+abstract class AbstraktVilkarsprovResultat : Serializable
\ No newline at end of file
diff --git a/src/main/kotlin/no/nav/pensjon/regler/domain/vedtak/VilkarsprovInformasjon.kt b/src/main/kotlin/no/nav/pensjon/regler/domain/vedtak/VilkarsprovInformasjon.kt
index d6e2e35..4b6d7d6 100644
--- a/src/main/kotlin/no/nav/pensjon/regler/domain/vedtak/VilkarsprovInformasjon.kt
+++ b/src/main/kotlin/no/nav/pensjon/regler/domain/vedtak/VilkarsprovInformasjon.kt
@@ -1,11 +1,19 @@
package no.nav.pensjon.regler.domain.vedtak
+import com.fasterxml.jackson.annotation.JsonSubTypes
+import com.fasterxml.jackson.annotation.JsonTypeInfo
import no.nav.pensjon.regler.domain.beregning2011.AfpLivsvarig
import no.nav.pensjon.regler.domain.beregning2011.FremskrevetAfpLivsvarig
import no.nav.pensjon.regler.domain.beregning2011.FremskrevetPensjonUnderUtbetaling
import no.nav.pensjon.regler.domain.beregning2011.PensjonUnderUtbetaling
import java.io.Serializable
+@JsonSubTypes(
+ JsonSubTypes.Type(value = VilkarsprovInformasjon2011::class),
+ JsonSubTypes.Type(value = VilkarsprovInformasjon2016::class),
+ JsonSubTypes.Type(value = VilkarsprovInformasjon2025::class)
+)
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
abstract class VilkarsprovInformasjon : Serializable {
var ektefelleInntektOver2g = false
var flyktning = false
diff --git a/src/main/kotlin/no/nav/pensjon/regler/to/SimulerRevurderAP2011For2025Request.kt b/src/main/kotlin/no/nav/pensjon/regler/to/SimulerRevurderAP2011For2025Request.kt
index b53e88c..c8fade7 100644
--- a/src/main/kotlin/no/nav/pensjon/regler/to/SimulerRevurderAP2011For2025Request.kt
+++ b/src/main/kotlin/no/nav/pensjon/regler/to/SimulerRevurderAP2011For2025Request.kt
@@ -8,7 +8,7 @@ import no.nav.pensjon.regler.domain.grunnlag.GarantitilleggsbeholdningGrunnlag
* Opprettet for CR195877
*
*/
-class SimulerRevurderAP2011For2025Request : ServiceRequest() {
+class SimulerRevurderAP2011For2025Request() : ServiceRequest() {
var ap2011Request: RevurderingAlderspensjon2011Request? = null
var garantitilleggsbeholdningGrunnlag: GarantitilleggsbeholdningGrunnlag? = null
var delingstallUtvalg: DelingstallUtvalg? = null
diff --git a/src/main/kotlin/no/nav/pensjon/regler/to/VilkarsprovAlderpensjon2016Request.kt b/src/main/kotlin/no/nav/pensjon/regler/to/VilkarsprovAlderpensjon2016Request.kt
index ad821ed..88f0c5d 100644
--- a/src/main/kotlin/no/nav/pensjon/regler/to/VilkarsprovAlderpensjon2016Request.kt
+++ b/src/main/kotlin/no/nav/pensjon/regler/to/VilkarsprovAlderpensjon2016Request.kt
@@ -1,7 +1,10 @@
package no.nav.pensjon.regler.to
-import no.nav.pensjon.regler.domain.beregning2011.AfpLivsvarig
-import no.nav.pensjon.regler.domain.beregning2011.SisteAldersberegning2016
+import com.fasterxml.jackson.annotation.JsonSubTypes
+import com.fasterxml.jackson.annotation.JsonTypeInfo
+import no.nav.pensjon.regler.domain.beregning.*
+import no.nav.pensjon.regler.domain.beregning.penobjekter.*
+import no.nav.pensjon.regler.domain.beregning2011.*
import no.nav.pensjon.regler.domain.grunnlag.DelingstallUtvalg
import no.nav.pensjon.regler.domain.grunnlag.ForholdstallUtvalg
import no.nav.pensjon.regler.domain.grunnlag.GarantitilleggsbeholdningGrunnlag