BlazeDS: convenzione di denominazione del metodo DTO del server

0

Ho il seguente campo in Flex:

[Bindable] public var zIndex:uint;

E stavo cercando di creare i metodi per elaborare le chiamate in Java e mi sono imbattuto in un problema.

1. public int getZIndex(); // Does not work.
2. public int getzIndex(); // Works.

Pensavo che la lettera che seguiva get / set avrebbe dovuto essere maiuscola? C'è una ragione per questo? Non sono riuscito a trovare alcuna documentazione.

Ho trovato una risposta su StackOverflow che afferma che il primo è il modo corretto di nominare un accessore / mutatore.

    
posta Mr. Polywhirl 25.07.2013 - 03:17
fonte

1 risposta

1

Trovata la risposta dopo ulteriori indagini.

[I]f the first two characters of the name are both upper case and if so leave it alone.

Sezione 8.8 del JavaBean Spec di Sun afferma:

8.8 Capitalization of inferred names.

When we use design patterns to infer a property or event name, we need to decide what rules to follow for capitalizing the inferred name. If we extract the name from the middle of a normal mixedCase style Java name then the name will, by default, begin with a capital letter.

Java programmers are accustomed to having normal identifiers start with lower case letters. Vigorous reviewer input has convinced us that we should follow this same conventional rule for property and event names.

Thus when we extract a property or event name from the middle of an existing Java name, we normally convert the first character to lower case. However to support the occasional use of all upper-case names, we check if the first two characters of the name are both upper case and if so leave it alone. So for example,

      "FooBah" becomes "fooBah"
      "Z" becomes "z"
      "URL" becomes "URL"

We provide a method Introspector.decapitalize which implements this conversion rule.

JavaBeans Introspection -- Sun Microsystems -- 10/12/97
    
risposta data 25.07.2013 - 03:46
fonte

Leggi altre domande sui tag