InformazioniProtocollo.java

  1. /*
  2.  * GovWay - A customizable API Gateway
  3.  * https://govway.org
  4.  *
  5.  * Copyright (c) 2005-2025 Link.it srl (https://link.it).
  6.  *
  7.  * This program is free software: you can redistribute it and/or modify
  8.  * it under the terms of the GNU General Public License version 3, as published by
  9.  * the Free Software Foundation.
  10.  *
  11.  * This program is distributed in the hope that it will be useful,
  12.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14.  * GNU General Public License for more details.
  15.  *
  16.  * You should have received a copy of the GNU General Public License
  17.  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  18.  *
  19.  */



  20. package org.openspcoop2.protocol.sdk.tracciamento;

  21. import java.io.Serializable;
  22. import java.text.MessageFormat;
  23. import java.util.HashMap;
  24. import java.util.Map;

  25. import org.openspcoop2.core.id.IDSoggetto;
  26. import org.openspcoop2.protocol.sdk.constants.ProfiloDiCollaborazione;

  27. /**
  28.  *
  29.  * Informazioni Busta
  30.  *
  31.  *
  32.  * @author Stefano Corallo (corallo@link.it)
  33.  * @author Lorenzo Nardi (nardi@link.it)
  34. * @author $Author$
  35. * @version $Rev$, $Date$
  36.  */

  37. public class InformazioniProtocollo implements Serializable{

  38.     private static final long serialVersionUID = -3415656968896569068L;

  39.     protected String azione;
  40.     protected IDSoggetto destinatario;
  41.     protected IDSoggetto mittente;
  42.     protected String servizio;
  43.     protected String tipoServizio;
  44.     protected Integer versioneServizio;
  45.     protected String profiloCollaborazioneProtocollo;
  46.     protected ProfiloDiCollaborazione profiloCollaborazioneEngine;
  47.    
  48.     protected Map<String, String> proprietaProtocollo;
  49.    
  50.     public InformazioniProtocollo() {
  51.         this.proprietaProtocollo = new HashMap<>();
  52.     }
  53.    

  54.     public String getProfiloCollaborazioneProtocollo() {
  55.         return this.profiloCollaborazioneProtocollo;
  56.     }
  57.     public void setProfiloCollaborazioneProtocollo(
  58.             String profiloCollaborazioneProtocollo) {
  59.         this.profiloCollaborazioneProtocollo = profiloCollaborazioneProtocollo;
  60.     }
  61.     public ProfiloDiCollaborazione getProfiloCollaborazioneEngine() {
  62.         return this.profiloCollaborazioneEngine;
  63.     }
  64.     public void setProfiloCollaborazioneEngine(
  65.             ProfiloDiCollaborazione profiloCollaborazioneEngine) {
  66.         this.profiloCollaborazioneEngine = profiloCollaborazioneEngine;
  67.     }
  68.     public IDSoggetto getDestinatario() {
  69.         return this.destinatario;
  70.     }
  71.     public void setDestinatario(IDSoggetto erogatore) {
  72.         this.destinatario = erogatore;
  73.     }
  74.     public IDSoggetto getMittente() {
  75.         return this.mittente;
  76.     }
  77.     public void setMittente(IDSoggetto fruitore) {
  78.         this.mittente = fruitore;
  79.     }
  80.     public String getServizio() {
  81.         return this.servizio;
  82.     }
  83.     public void setServizio(String servizio) {
  84.         this.servizio = servizio;
  85.     }
  86.     public String getAzione() {
  87.         return this.azione;
  88.     }
  89.     public void setAzione(String azione) {
  90.         this.azione = azione;
  91.     }
  92.     public String getTipoServizio() {
  93.         return this.tipoServizio;
  94.     }
  95.     public void setTipoServizio(String tipoServizio) {
  96.         this.tipoServizio = tipoServizio;
  97.     }
  98.     public Integer getVersioneServizio() {
  99.         return this.versioneServizio;
  100.     }
  101.     public void setVersioneServizio(Integer versioneServizio) {
  102.         this.versioneServizio = versioneServizio;
  103.     }
  104.    
  105.    
  106.     public Map<String, String> getProprietaProtocollo() {
  107.         return this.proprietaProtocollo;
  108.     }
  109.     public void addProprietaProtocollo(String key,String value){
  110.         this.proprietaProtocollo.put(key,value);
  111.     }
  112.     public int sizeProprietaProtocollo(){
  113.         return this.proprietaProtocollo.size();
  114.     }
  115.     public String getProprietaProtocollo(String key){
  116.         return this.proprietaProtocollo.get(key);
  117.     }
  118.     public String removeProprietaProtocollo(String key){
  119.         return this.proprietaProtocollo.remove(key);
  120.     }
  121.     public String[] getProprietaProtocolloValues() {
  122.         return this.proprietaProtocollo.values().toArray(new String[this.proprietaProtocollo.size()]);
  123.     }
  124.     public String[] getProprietaProtocolloNames() {
  125.         return this.proprietaProtocollo.keySet().toArray(new String[this.proprietaProtocollo.size()]);
  126.     }
  127.     public void setProprietaProtocollo(Map<String, String> params) {
  128.         this.proprietaProtocollo = params;
  129.     }
  130.    
  131.    
  132.     @Override
  133.     public String toString() {
  134.         String pattern = "erogatore [{0}]" +
  135.                 " fruitore [{1}]" +
  136.                 " servizio [{2}]" +
  137.                 " tipoServizio [{3}]" +
  138.                 " versioneServizio [{4}]" +
  139.                 " azione [{5}]" +
  140.                 " profiloCollaborazioneProtocollo [{6}]" +
  141.                 " profiloCollaborazioneEngine [{7}]"+
  142.                 " proprietaProtocollo [{8}]";
  143.         return MessageFormat.format(pattern,
  144.                 this.destinatario!=null ? this.destinatario.toString() : "not set",
  145.                         this.mittente!=null ? this.mittente.toString() : "not set",
  146.                         this.servizio!=null ? this.servizio : "not set",
  147.                         this.tipoServizio!=null ? this.tipoServizio : "not set",
  148.                         this.versioneServizio!=null ? this.versioneServizio : "not set",
  149.                         this.azione!=null ? this.azione : "not set",
  150.                         this.profiloCollaborazioneProtocollo!=null ? this.profiloCollaborazioneProtocollo : "not set",
  151.                         this.profiloCollaborazioneEngine!=null ? this.profiloCollaborazioneEngine.getEngineValue() : "not set",
  152.                         this.proprietaProtocollo!=null && this.proprietaProtocollo.size()>0 ? this.proprietaProtocollo.size() : "not set");
  153.     }
  154. }