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

Zezeng Wang commented on AVRO-2419:
-----------------------------------

[~khuynhthanhchiluyen]
If you pass in the fieldVisibility=private parameter then  your fields will be 
private.
E.g:
<configuration>
    <sourceDirectory>${project.basedir}/src/main/avro</sourceDirectory>
    <outputDirectory>${project.basedir}/src/main/java</outputDirectory>
    <fieldVisibility>PRIVATE</fieldVisibility>
</configuration>
However, I think it should be private by default.

> Generate private attribute in Java
> ----------------------------------
>
>                 Key: AVRO-2419
>                 URL: https://issues.apache.org/jira/browse/AVRO-2419
>             Project: Apache Avro
>          Issue Type: Wish
>          Components: java
>    Affects Versions: 1.7.7
>            Reporter: khuynhthanhchiluyen
>            Priority: Major
>
> I used file user.avsc like below:
> {  
>     "namespace":"example.avro",
>     "type":"record",
>     "name":"User",
>     "fields":[  
>        
> {            "name":"name",          "type":"string"       }
> ,
>        
> {            "name":"favorite_number",          "type":[               "int", 
>             "null"          ]       }
> ,
>        
> {            "name":"favorite_color",          "type":[               
> "string",             "null"          ]       }
>    ]
>  }
>  
> And I used avro-1.7.7.jar to generate my Java code:
> java -jar java -jar avro-tools-1.7.7.jar compile -string schema user.avsc 
> D:\result
>  
> But all attributes of User class (name, favorite_number, favorite_color) 
> appear to be "public". Where did I miss to make them private (for 
> encapsulation). Thank you very much.



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

Reply via email to