Quando nem todos os atributos da minha classe possuem um método seter publico, ele pode ser considerado um JavaBean baseado na especificação?
Quando nem todos os atributos da minha classe possuem um método seter publico, ele pode ser considerado um JavaBean baseado na especificação?
JavaBean é um padrão de um objeto com construtor padrão e atributos públicos.
Isso não significa que precisamos de um set para todos os atributos. Alguns frameworks (como Spring e JSF) usam (ou podem usar) métodos set para popular valores nas propriedades.
Portanto, o JavaBean pode não ter um set público. Faz todo o sentido caso queira, por exemplo, receber o valor da propriedade ou dependência no construtor, preservando a imutabilidade. Torne público somente o que convém.
Abraços!