[ 
https://issues.apache.org/jira/browse/SPARK-28180?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17224601#comment-17224601
 ] 

Julien commented on SPARK-28180:
--------------------------------

Not too sure what your issue is. It is to indicate that a meaningful error 
message should be produced?

BTW, stating that "_Scala_ costs a lot to _Spark"_ cannot be correct: spark is 
implemented in scala :)

However, the java API is not at the same level as the scala API. I myself have 
several issue with the Encoders.bean tool and not being able to construct 
own-made encoders for java POJO. Automatic is not always a good idea. In your 
case, the automatic parsing of the POJO getters to list the encoder fields is 
not helpful...

> Encoding CSV to Pojo works with Encoders.bean on RDD but fail on asserts when 
> attemtping it from a Dataset<Row>
> ---------------------------------------------------------------------------------------------------------------
>
>                 Key: SPARK-28180
>                 URL: https://issues.apache.org/jira/browse/SPARK-28180
>             Project: Spark
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 2.4.3
>         Environment: Debian 9, Java 8.
>            Reporter: Marc Le Bihan
>            Priority: Major
>
> I am converting an _RDD_ spark program to a _Dataset_ one.
> Once, it was converting a CSV file mapped the help of a Jackson loader to a 
> RDD of Enterprise objects with Encoders.bean(Entreprise.class), and now it is 
> doing the conversion more simplier, by loading the CSV content into a 
> Dataset<Row> and applying the _Encoders.bean(Entreprise.class)_ on it.
> {code:java}
>       Dataset<Row> csv = this.session.read().format("csv")
>          .option("header","true").option("quote", "\"").option("escape", "\"")
>          .load(source.getAbsolutePath())
>          .selectExpr(
>             "ActivitePrincipaleUniteLegale as ActivitePrincipale",
>             "CAST(AnneeCategorieEntreprise as INTEGER) as 
> AnneeCategorieEntreprise",
>             "CAST(AnneeEffectifsUniteLegale as INTEGER) as 
> AnneeValiditeEffectifSalarie",
>             "CAST(CaractereEmployeurUniteLegale == 'O' as BOOLEAN) as 
> CaractereEmployeur",
>             "CategorieEntreprise", 
>             "CategorieJuridiqueUniteLegale as CategorieJuridique",
>             "DateCreationUniteLegale as DateCreationEntreprise", "DateDebut 
> as DateDebutHistorisation", "DateDernierTraitementUniteLegale as 
> DateDernierTraitement",
>             "DenominationUniteLegale as Denomination", 
> "DenominationUsuelle1UniteLegale as DenominationUsuelle1", 
> "DenominationUsuelle2UniteLegale as DenominationUsuelle2", 
> "DenominationUsuelle3UniteLegale as DenominationUsuelle3",
>             "CAST(EconomieSocialeSolidaireUniteLegale == 'O' as BOOLEAN) as 
> EconomieSocialeSolidaire",
>             "CAST(EtatAdministratifUniteLegale == 'A' as BOOLEAN) as Active",
>             "IdentifiantAssociationUniteLegale as IdentifiantAssociation",
>             "NicSiegeUniteLegale as NicSiege", 
>             "CAST(NombrePeriodesUniteLegale as INTEGER) as NombrePeriodes",
>             "NomenclatureActivitePrincipaleUniteLegale as 
> NomenclatureActivitePrincipale",
>             "NomUniteLegale as NomNaissance", "NomUsageUniteLegale as 
> NomUsage",
>             "Prenom1UniteLegale as Prenom1", "Prenom2UniteLegale as Prenom2", 
> "Prenom3UniteLegale as Prenom3", "Prenom4UniteLegale as Prenom4", 
> "PrenomUsuelUniteLegale as PrenomUsuel",
>             "PseudonymeUniteLegale as Pseudonyme",
>             "SexeUniteLegale as Sexe", 
>             "SigleUniteLegale as Sigle", 
>             "Siren", 
>             "TrancheEffectifsUniteLegale as TrancheEffectifSalarie"
>          );
> {code}
> The _Dataset<Row>_ is succesfully created. But the following call of 
> _Encoders.bean(Enterprise.class)_ fails :
> {code:java}
> java.lang.AssertionError: assertion failed
>       at scala.Predef$.assert(Predef.scala:208)
>       at 
> org.apache.spark.sql.catalyst.encoders.ExpressionEncoder$.javaBean(ExpressionEncoder.scala:87)
>       at org.apache.spark.sql.Encoders$.bean(Encoders.scala:142)
>       at org.apache.spark.sql.Encoders.bean(Encoders.scala)
>       at 
> fr.ecoemploi.spark.entreprise.EntrepriseService.dsEntreprises(EntrepriseService.java:178)
>       at 
> test.fr.ecoemploi.spark.entreprise.EntreprisesIT.datasetEntreprises(EntreprisesIT.java:72)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       at 
> org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:532)
>       at 
> org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:115)
>       at 
> org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$6(TestMethodTestDescriptor.java:171)
>       at 
> org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:72)
>       at 
> org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:167)
>       at 
> org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:114)
>       at 
> org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:59)
>       at 
> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$4(NodeTestTask.java:108)
>       at 
> org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:72)
>       at 
> org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:98)
>       at 
> org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:74)
>       at java.util.ArrayList.forEach(ArrayList.java:1257)
>       at 
> org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38)
>       at 
> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$4(NodeTestTask.java:112)
>       at 
> org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:72)
>       at 
> org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:98)
>       at 
> org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:74)
>       at java.util.ArrayList.forEach(ArrayList.java:1257)
>       at 
> org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38)
>       at 
> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$4(NodeTestTask.java:112)
>       at 
> org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:72)
>       at 
> org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:98)
>       at 
> org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:74)
>       at 
> org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32)
>       at 
> org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
>       at 
> org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51)
>       at 
> org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:229)
>       at 
> org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:197)
>       at 
> org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:211)
>       at 
> org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:191)
>       at 
> org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:137)
>       at 
> org.eclipse.jdt.internal.junit5.runner.JUnit5TestReference.run(JUnit5TestReference.java:89)
>       at 
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:41)
>       at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:541)
>       at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:763)
>       at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:463)
>       at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:209)
> {code}
> The message :  "_java.lang.AssertionError: assertion failed_"
> comes from the scala_2.12 I am relying on, and it angers me a lot against 
> _Scala_ developpers. Who still dares writing asserts or exceptions without 
> accompagny them with a clear message ? What was that line checking and 
> against which value in my case ?
> _Scala_ costs a lot to _Spark_. Poor quality, unable to work with Java 11. 
> Unreliable.
> Whatever. There is a problem with _Encoders.bean(...)_ wasn't able to check 
> something before sending the mapping orders.
> After many tests, it appears that the POJO getter 
> {code:java}
>    public Set<String> getActivites()
> {code}
> causes the assert. Even if renamed with a non-getter name such as
> {code:java}
>    public Set<String> activites()
> {code}
> I had to remove it to allow Spark working.
> P.S. : The code of the Entreprise POJO class is this one, if needed.
> {code:java}
> /**
>  * Entreprise
>  * @author Marc LE BIHAN
>  */
> public class Entreprise extends AbstractSirene<SIREN> implements 
> Iterable<Etablissement>, Comparable<Entreprise> {
>    /** Serial ID. */
>    private static final long serialVersionUID = 2451240618966775942L;
>    
>    /** Liste des établissements de l'entreprise. */
>    private Etablissements etablissements = new Etablissements();
>    
>    /** Sigle de l'entreprise */
>    private String sigle;
>    
>    /** Nom de naissance */
>    private String nomNaissance;
>    
>    /** Nom d'usage */
>    private String nomUsage;
>    
>    /** Prénom usuel */
>    private String prenomUsuel;
>    
>    /** Autre prénom 1. */
>    private String prenom1;
>    /** Autre prénom 2. */
>    private String prenom2;
>    /** Autre prénom 3. */
>    private String prenom3;
>    /** Autre prénom 4. */
>    private String prenom4;
>    
>    /** Pseudonyme de la personne physique. */
>    private String pseudonyme;
>    
>    /** Sexe de la personne physique. */
>    private String sexe;
>    /** Numéro d’identification au répertoire national des associations */
>    private String rna;
>    /** Dénomination usuelle de l'entreprise 1. */
>    private String denominationUsuelle1;
>    /** Dénomination usuelle de l'entreprise 2. */
>    private String denominationUsuelle2;
>    /** Dénomination usuelle de l'entreprise 3. */
>    private String denominationUsuelle3;
>    
>    /** Appartenance au champ de l’économie sociale et solidaire */
>    private boolean economieSocialeEtSolidaire;
>    
>    /** Catégorie d'entreprise */
>    private String categorieEntreprise;
>    
>    /** Année et mois de création de l'entreprise */
>    private String dateCreationEntreprise;
>    /** Année de mise à jour de la catégorie. */
>    private Integer anneeCategorieEntreprise;
>    
>    /** Numéro interne de classement de l'établissement siège */
>    private String nicsiege;
>    
>    /** Catégorie juridique de l'entreprise. */
>    private String categorieJuridique;
>    
>    /** Indique si l'entreprise a été purgée du fichier. */
>    private boolean purgee;
>    /**
>     * Ajouter un établissement à l'entreprise.
>     * @param etablissement Etablissement.
>     */
>    public void ajouterEtablissement(Etablissement etablissement) {
>       Objects.requireNonNull(etablissement, "L'établissement à ajouter ne 
> peut pas valoir null.");
>       this.etablissements.put(etablissement.getSiret(), etablissement);
>    }
>    
>    /**
>     * Renvoyer la liste des activités principales de l'entreprise, tous 
> établissements regroupés avec la sienne déclarée.
>     * @return Liste des activités principales.
>     */
>    public Set<String> getActivites() {
>       Set<String> activites = this.etablissements.getActivites();
>       
>       if (getActivitePrincipale() != null) {
>          activites.add(getActivitePrincipale());
>       }
>       
>       return activites;
>    }
>    
>    /**
>     * Renvoyer le SIREN de l'entreprise.
>     * @return SIREN.
>     */
>    public SIREN asSiren() {
>       return sirenOuSiret();
>    }
>    
>    /**
>     * Renvoyer le SIREN de l'entreprise.
>     * @return SIREN.
>     */
>    public String getSiren() {
>       return sirenOuSiret().toString();
>    }
>    
>    /**
>     * Fixer le SIREN de l'entreprise.
>     * @param siren SIREN.
>     */
>    public void setSiren(String siren) {
>       sirenOuSiret(new SIREN(siren));
>    }
>    /**
>     * Renvoyer la liste des établissements de l'entreprise.
>     * @return Liste des établissements.
>     */
>    public Map<String, Etablissement> etablissements() {
>       return this.etablissements;
>    }
>    /**
>     * Fixer la liste des établissements de l'entreprise.
>     * @param etablissementsEntreprise Liste des établissements.
>     */
>    public void etablissements(Etablissements etablissementsEntreprise) {
>       this.etablissements = etablissementsEntreprise;
>    }
>    /**
>     * Renvoyer le sigle (forme réduite de la raison sociale ou de la 
> dénomination d'une personne morale ou d'un organisme public) (SIGLE).
>     * @return Sigle. 
>     */
>    public String getSigle() {
>       return this.sigle;
>    }
>    /**
>     * Fixer le sigle (forme réduite de la raison sociale ou de la 
> dénomination d'une personne morale ou d'un organisme public) (SIGLE).
>     * @param sigle Sigle. 
>     */
>    public void setSigle(String sigle) {
>       this.sigle = sigle;
>    }
>    /**
>     * Renvoyer le nom de naissance pour une personne physique (NOM).
>     * @return Nom de naissance pour une personne physique.
>     */
>    public String getNomNaissance() {
>       return this.nomNaissance;
>    }
>    /**
>     * Fixer le nom de naissance pour une personne physique (NOM).
>     * @param nom Nom de naissance pour une personne physique.
>     */
>    public void setNomNaissance(String nom) {
>       this.nomNaissance = nom;
>    }
>    /**
>     * Renvoyer le prénom usuel pour une personne physique (PRENOM).
>     * @return Prénom usuel pour une personne physique.
>     */
>    public String getPrenomUsuel() {
>       return this.prenomUsuel;
>    }
>    /**
>     * Fixer le prénom usuel pour une personne physique (PRENOM).
>     * @param prenom Prénom usuel pour une personne physique. 
>     */
>    public void setPrenomUsuel(String prenom) {
>       this.prenomUsuel = prenom;
>    }
>    /**
>     * Renvoyer le premier autre prénom de la personne physique.
>     * @return Prénoms.
>     */
>    public String getPrenom1() {
>       return this.prenom1;
>    }
>    /**
>     * Fixer le premier autre prénom de la personne physique.
>     * @param prenom Prénoms.
>     */
>    public void setPrenom1(String prenom) {
>       this.prenom1 = prenom;
>    }
>    /**
>     * Renvoyer le deuxième autre prénom de la personne physique.
>     * @return Prénoms.
>     */
>    public String getPrenom2() {
>       return this.prenom2;
>    }
>    /**
>     * Fixer le deuxième autre prénom de la personne physique.
>     * @param prenom Prénoms.
>     */
>    public void setPrenom2(String prenom) {
>       this.prenom2 = prenom;
>    }
>    /**
>     * Renvoyer le troisième autre prénom de la personne physique.
>     * @return Prénoms.
>     */
>    public String getPrenom3() {
>       return this.prenom3;
>    }
>    /**
>     * Fixer le troisième autre prénom de la personne physique.
>     * @param prenom Prénoms.
>     */
>    public void setPrenom3(String prenom) {
>       this.prenom3 = prenom;
>    }
>    /**
>     * Renvoyer le quatrième autre prénom de la personne physique.
>     * @return Prénoms.
>     */
>    public String getPrenom4() {
>       return this.prenom4;
>    }
>    /**
>     * Fixer le quatrième autre prénom de la personne physique.
>     * @param prenom Prénoms.
>     */
>    public void setPrenom4(String prenom) {
>       this.prenom4 = prenom;
>    }
>    /**
>     * Renvoyer le pseudonyme de la personne physique.
>     * @return Pseudonyme.
>     */
>    public String getPseudonyme() {
>       return this.pseudonyme;
>    }
>    /**
>     * Fixer le pseudonyme de la personne physique.
>     * @param pseudonyme Pseudonyme.
>     */
>    public void setPseudonyme(String pseudonyme) {
>       this.pseudonyme = pseudonyme;
>    }
>    
>    /**
>     * Renvoyer le sexe de la personne physique.
>     * @return sexe de la personne physique.
>     */
>    public Sexe asSexe() {
>       return this.sexe != null ? Sexe.valueOf(this.sexe) : null;
>    }
>    
>    /**
>     * Renvoyer le sexe de la personne physique.
>     * @return sexe de la personne physique.
>     */
>    public String getSexe() {
>       return this.sexe;
>    }
>    /**
>     * Fixer le sexe de la personne physique.
>     * @param sexe sexe de la personne physique.
>     */
>    public void setSexe(String sexe) {
>       this.sexe = sexe;
>    }
>    /**
>     * Renvoyer le numéro d’identification au répertoire national des 
> associations (RNA).
>     * @return W suivi de neuf chiffres.
>     */
>    public String getRna() {
>       return this.rna;
>    }
>    /**
>     * Fixer le numéro d’identification au répertoire national des 
> associations (RNA).
>     * @param rna W suivi de neuf chiffres.
>     */
>    public void setRna(String rna) {
>       this.rna = rna;
>    }
>    /**
>     * Déterminer si l'entreprise appartient au champ de l’économie sociale et 
> solidaire (ESS).
>     * @return Appartenance ou non à l'ESS.
>     */
>    public boolean getEconomieSocialeSolidaire() {
>       return this.economieSocialeEtSolidaire;
>    }
>    /**
>     * Fixer si l'entreprise appartient au champ de l’économie sociale et 
> solidaire (ESS).
>     * @param ess Appartenance ou non à l'ESS.
>     */
>    public void setEconomieSocialeSolidaire(boolean ess) {
>       this.economieSocialeEtSolidaire = ess;
>    }
>    /**
>     * Renvoyer la catégorie de l'entreprise (CATEGORIE).
>     * @return Catégorie de l'entreprise :<br>
>     * PME ou Petite ou Moyenne Entreprise : La catégorie des petites et 
> moyennes entreprises (PME) est constituée des entreprises qui occupent moins 
> de 250 personnes, et qui ont un chiffre d'affaires annuel inférieur à 50 
> millions d'euros ou un total de bilan n'excédant pas 43 millions d'euros. 
> Cette catégorie inclut les microentreprises.<br>
>     * ETI ou Entreprise de Taille Intermédiaire : Une entreprise de taille 
> intermédiaire est une entreprise qui a entre 250 et 4999 salariés, et soit un 
> chiffre d'affaires n'excédant pas 1,5 milliards d'euros soit un total de 
> bilan n'excédant pas 2 milliards d'euros.<br>
>     * Une entreprise qui a moins de 250 salariés, mais plus de 50 millions 
> d'euros de chiffre d'affaires et plus de 43 millions d'euros de total de 
> bilan est aussi considérée comme une ETI.<br>
>     * GE ou Grande Entreprise : Une grande entreprise est une entreprise qui 
> a au moins 5000 salariés. Une entreprise qui a moins de 5000 salariés mais 
> plus de 1,5 milliards d'euros de chiffre d'affaires et plus de 2 milliards 
> d'euros de total de bilan est aussi considérée comme une grande entreprise.
>     */
>    public CategorieEntreprise asCategorieEntreprise() {
>       return CategorieEntreprise.valueOf(this.categorieEntreprise);
>    }
>    /**
>     * Renvoyer la catégorie de l'entreprise (CATEGORIE).
>     * @return Catégorie de l'entreprise :<br>
>     * PME ou Petite ou Moyenne Entreprise : La catégorie des petites et 
> moyennes entreprises (PME) est constituée des entreprises qui occupent moins 
> de 250 personnes, et qui ont un chiffre d'affaires annuel inférieur à 50 
> millions d'euros ou un total de bilan n'excédant pas 43 millions d'euros. 
> Cette catégorie inclut les microentreprises.<br>
>     * ETI ou Entreprise de Taille Intermédiaire : Une entreprise de taille 
> intermédiaire est une entreprise qui a entre 250 et 4999 salariés, et soit un 
> chiffre d'affaires n'excédant pas 1,5 milliards d'euros soit un total de 
> bilan n'excédant pas 2 milliards d'euros.<br>
>     * Une entreprise qui a moins de 250 salariés, mais plus de 50 millions 
> d'euros de chiffre d'affaires et plus de 43 millions d'euros de total de 
> bilan est aussi considérée comme une ETI.<br>
>     * GE ou Grande Entreprise : Une grande entreprise est une entreprise qui 
> a au moins 5000 salariés. Une entreprise qui a moins de 5000 salariés mais 
> plus de 1,5 milliards d'euros de chiffre d'affaires et plus de 2 milliards 
> d'euros de total de bilan est aussi considérée comme une grande entreprise.
>     */
>    public String getCategorieEntreprise() {
>       return this.categorieEntreprise;
>    }
>    /**
>     * Fixer la catégorie de l'entreprise (CATEGORIE).
>     * @param categorie Catégorie de l'entreprise.
>     */
>    public void setCategorieEntreprise(String categorie) {
>       this.categorieEntreprise = categorie;
>    }
>    /**
>     * @see java.lang.Iterable#iterator()
>     */
>    @Override
>    public Iterator<Etablissement> iterator() {
>       return this.etablissements.values().iterator();
>    }
>    /**
>     * Renvoyer le numéro Interne de Classement de l'établissement siège de 
> l'entreprise (NICSIEGE).
>     * @return Numéro interne de classement.
>     */
>    public NIC asNicSiege() {
>       return new NIC(this.nicsiege);
>    }
>    /**
>     * Renvoyer le numéro Interne de Classement de l'établissement siège de 
> l'entreprise (NICSIEGE).
>     * @return Numéro interne de classement.
>     */
>    public String getNicSiege() {
>       return this.nicsiege;
>    }
>    /**
>     * Fixer le numéro Interne de Classement de l'établissement siège de 
> l'entreprise (NICSIEGE).
>     * @param nicsiege Numéro interne de classement.
>     */
>    public void setNicSiege(String nicsiege) {
>       this.nicsiege = nicsiege;
>    }
>    /**
>     * Renvoyer le nom d'usage du détenteur de l'entreprise.
>     * @return Nom d'usage.
>     */
>    public String getNomUsage() {
>       return this.nomUsage;
>    }
>    /**
>     * Fixer le nom d'usage du détenteur de l'entreprise.
>     * @param nomUsage Nom d'usage.
>     */
>    public void setNomUsage(String nomUsage) {
>       this.nomUsage = nomUsage;
>    }
>    /**
>     * Renvoyer la première dénomination de l'entreprise.
>     * @return Dénominations de l'entreprise.
>     */
>    public String getDenominationUsuelle1() {
>       return this.denominationUsuelle1;
>    }
>    /**
>     * Fixer la première dénomination de l'entreprise.
>     * @param denomination Dénomination de l'entreprise.
>     */
>    public void setDenominationUsuelle1(String denomination) {
>       this.denominationUsuelle1 = denomination;
>    }
>    /**
>     * Renvoyer la deuxième dénomination de l'entreprise.
>     * @return Dénominations de l'entreprise.
>     */
>    public String getDenominationUsuelle2() {
>       return this.denominationUsuelle2;
>    }
>    /**
>     * Fixer la deuxième dénomination de l'entreprise.
>     * @param denomination Dénomination de l'entreprise.
>     */
>    public void setDenominationUsuelle2(String denomination) {
>       this.denominationUsuelle2 = denomination;
>    }
>    /**
>     * Renvoyer la troisième dénomination de l'entreprise.
>     * @return Dénominations de l'entreprise.
>     */
>    public String getDenominationUsuelle3() {
>       return this.denominationUsuelle3;
>    }
>    /**
>     * Fixer la troisième dénomination de l'entreprise.
>     * @param denomination Dénomination de l'entreprise.
>     */
>    public void setDenominationUsuelle3(String denomination) {
>       this.denominationUsuelle3 = denomination;
>    }
>    /**
>     * Renvoyer Année de mise à jour de la catégorie.
>     * @return Année.
>     */
>    public Integer getAnneeCategorieEntreprise() {
>       return this.anneeCategorieEntreprise;
>    }
>    /**
>     * Fixer l'année de mise à jour de la catégorie.
>     * @param annee Année.
>     */
>    public void setAnneeCategorieEntreprise(Integer annee) {
>       this.anneeCategorieEntreprise = annee;
>    }
>    
>    /**
>     * Renvoyer la catégorie juridique de l'entreprise.
>     * @return Catégorie juridique de l'entreprise.
>     */
>    public String getCategorieJuridique() {
>       return this.categorieJuridique;
>    }
>    /**
>     * Fixer la catégorie juridique de l'entreprise.
>     * @param categorieJuridique Catégorie juridique de l'entreprise.
>     */
>    public void setCategorieJuridique(String categorieJuridique) {
>       this.categorieJuridique = categorieJuridique;
>    }
>    
>    /**
>     * Renvoyer la date de création de l'entreprise (DCREN).
>     * @return Date de création de l'entreprise.
>     */
>    public LocalDate asDateCreationEntreprise() {
>       return 
> ObjetMetierSpark.fromINSEEtoLocalDate(this.dateCreationEntreprise);
>    }
>    
>    /**
>     * Renvoyer la date de création de l'entreprise (DCREN).
>     * @return Date de création de l'entreprise.
>     */
>    public String getDateCreationEntreprise() {
>       return this.dateCreationEntreprise;
>    }
>    /**
>     * Fixer la date de création de l'entreprise (DCREN).
>     * @param date Date de création de l'entreprise.
>     */
>    public void setDateCreationEntreprise(String date) {
>       this.dateCreationEntreprise = date;
>    }
>    /**
>     * Déterminer si l'entreprise a été purgée.
>     * @return true si elle l'a été.
>     */
>    public boolean isPugee() {
>       return this.purgee;
>    }
>    /**
>     * Indiquer si l'entreprise a été purgée.
>     * @param purgee true si elle l'a été.
>     */
>    public void setPugee(boolean purgee) {
>       this.purgee = purgee;
>    }
>    /**
>     * @see java.lang.Comparable#compareTo(java.lang.Object)
>     */
>    @Override
>    public int compareTo(Entreprise o) {
>       return getSiren().compareTo(o.getSiren());
>    }
>    /**
>     * {@inheritDoc}
>     */
>    @Override
>    public Entreprise clone() {
>       return (Entreprise)super.clone();
>    }
>    
>    /**
>     * @see fr.fondation.objets.ObjetMetierIdentifiable#toString()
>     */
>    @Override
>    public String toString() {
>       return BabelTower.format(Entreprise.class, "toString", 
> super.toString(), this.categorieEntreprise, this.anneeCategorieEntreprise, 
> this.categorieJuridique,
>          this.rna, this.economieSocialeEtSolidaire, this.nicsiege, 
> this.sigle, this.denominationUsuelle1,
>          this.nomNaissance, this.nomUsage, this.prenomUsuel, this.prenom1, 
> this.pseudonyme,
>          this.sexe, this.purgee, this.etablissements.size(), 
> this.dateCreationEntreprise != null ? 
> Date.valueOf(this.dateCreationEntreprise) : null);
>    }
> }{code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to