Qual é a função do ClassOutline / JClass / CClass no CodeMode

minha pergunta diz respeito à criação de plug-ins JAXB, em particular o modelo de código JAX

Qual é o papel deClassOutline (e os seus companheiros) eJClass (e companheiros) eCClass (e companheiros)? Ao olhar para a lista de classes nos pacotes correspondentes, não está claro o que é frango e o que é ov

Minha interpretação é queCClass (CPropertyInfo, CEnumConstant, ...) são criados pelo XJC na primeira análise de rascunho do XSD. Então, um pouco de mágica acontece e esse modelo é transformado emJClass (JFieldVar, JEnumConstant, ...) e durante essa transformação, as personalizações são aplicadas. Depois, os plugins são chamados.ClassOutline é usado como uma ponte entre esses dois modelos. No geral, parece muito complicado.

Com esses modelos paralelos, acredito que as mesmas informações possam ser derivadas de várias maneiras. Por exemplo, tipo de campo de classe:

JClass#fields()JFieldVar#typeJTypeCClassInfo#getProperties()CPropertyInfo#baseTypeJType

Estou procurando uma explicação detalhada do ciclo de vida dos modelos mencionados acima. Obrigado

questionAnswers(4)

yourAnswerToTheQuestion