Les conventions concernant la définition des beans sont flexibles
et les exigences peu nombreuses.
Vous pouvez utiliser des beans avec pureQuery pour définir les valeurs des
paramètres des instructions SQL et renvoyer les résultats de la requête.
la spécificationJavaBeans
définit les conventions de la définition d'une classe d'objet, les conventions
concernant la déclaration des propriétés de l'objet et l'attribution de nom
des méthodes get() et set() pour
la manipulation de ces propriétés. Une classe d'objet conforme aux conventions JavaBeans est idéale
pour utiliser les capacités de pureQuery.
Cependant, pureQuery
fonctionne très bien avec des objets ne respectant pas exactement les conventions.
Par exemple, si les méthodes get() ou set()
n'existent pas pour une propriété précise, pureQuery peut lire ou définir directement la
propriété.
pureQuery identifie les propriétés
dans un bean en se basant sur les méthodes publiques get() et set() et les zones publiques du bean.
- Pour chaque méthode publique get(),
pureQuery prévoit une méthode set() correspondante. Par
exemple, si pureQuery rencontre la méthode getAbc(),
il prévoit une méthode setAbc() correspondante.
pureQuery
considère les lettres qui suivent get et set comme représentant le nom de la propriété, même si pureQuery supose que le nom de la propriété commence par une lettre en minuscule. Par exemple, si une méthode est getAbc(), le nom de la propriété sera abc.
- pureQuery prévoit que chaque propriété possède une zone publique correspondante et prévoit que la casse du nom d'une zone est la même
que la casse du nom de la propriété correspondante.
pureQuery imposes seulement sept exigences pour une définition
d'un bean utilisé pour contenir les résultats d'une requête :
- Un bean doit avoir un créateur sans argument disponible, explicite
ou implicite.
- Les noms des propriétés d'un bean unique doivent être uniques pour une recherche non sensible à la casse. Par exemple, vous ne pouvez pas créer de propriétés portant les noms "id"
et "ID" dans le même bean.
- Les méthodes get() et set() doivent
se trouver par paires. Vous ne pouvez pas avoir une méthode get() sans
une méthode set() correspondante et vice versa. Le nombre et le type des paramètres doivent être identiques pour les deux méthodes.
- Les beans ne peuvent pas contenir des méthodes get() ou set() non associées aux propriétés.
- Les beans peuvent avoir des zones publiques. Si vous utilisez des zones protégées ou privées, le bean doit présenter des méthodes publiques get() (ou des méthodes
publiques is() pour les propriétés booléennes) et des méthodes publiques set().
Si un bean possède une zone publique et que la méthode get(), is(),
ou set() correspondante est également publique, pureQuery émet une exception.
- Si une méthode get() est appelée getNAME(),
la propriété correspondante doit être nAME.
- Les zones peuvent être seulement celles de type Java que JDBC prend en charge.
Pour les beans utilisés pour définir des paramètres d'entrée pour une instruction
SQL, la seule restriction est que les propriétés auxquelles il est fait référence à l'aide des marqueurs de paramètres dans l'instruction SQL doivent être
uniques pour une recherche non sensible à la casse.