title: converting values between to data domains
body: <p>I have to write over a hundred integrations between many systems. This integration layer must be able to convert codes. Each system uses codes to represent business types like insurance_type, customer_type, etc. Each of them has a set of valid values. Theses values are not the same from system to system, and may even vary over time.</p>
  
  <p>I start looking for data domain mapping libraries in Java. I didn't found anything suitable. I thought about: CloverETL,Pentaho ETLou GETL​ but they are all way too complex for my need or not maintain. </p>
  
  <p>The goal is to put the conversion rules out of the code so they could evolve over time without the need for a new executable deployment. </p>
  
  <p>I'm looking for a tool, library that would allow me to represent mapping similar to this:</p>
  
  <pre><code>{
    "domains" :[
      {
        "name": "type police host",
        "values": [
          {
            "code" : "0001",
            "description":"Habitation",
            "start_date":"2019-06-30",
            "end_date":""},
          {
            "code" : "0002",
            "description":"Automobile",
            "start_date":"2019-06-30",
            "end_date":""}
          ]
      },
      {
        "name": "type police web",
        "values": [
          {
            "code" : "Habitation",
            "description":"Habitation",
            "start_date":"2019-06-30",
            "end_date":""}
        ]
      }
    ],
    "conversions" : [
      {
      "from": "type police host",
      "to": "type police web",
      "rules" : [
        {
          "from": ["0001"],
          "to" : "Habitation",
          "start_date":"2019-06-30",
          "end_date":""},
        {
          "from": [ "0003","0004"],
          "to" : "Deux roues",
          "start_date":"2019-06-30",
          "end_date":""}
        ]
      }
    ]
  }
  </code></pre>
  
  <p>From the configuration file above, I would be able to do things like <code>convertsAsOf("2019-07-10", "type police host", "type police web", "0001")</code> and it would return <code>"Habitation"</code>. Any suggestion of a library that would do it?</p>