IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Ajouter des méthodes à une classe annotée


Sujet :

Langage Java

  1. #1
    Membre habitué
    Homme Profil pro
    Architecte senior Java EE/Spring - ScrumMaster
    Inscrit en
    Juin 2010
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France

    Informations professionnelles :
    Activité : Architecte senior Java EE/Spring - ScrumMaster
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2010
    Messages : 229
    Points : 162
    Points
    162
    Par défaut Ajouter des méthodes à une classe annotée
    Bonjour à tous,

    Je cherche la meilleure façon pour générer des façades sur des classes annotées.
    J'ai un bean de ce type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    @MyServiceAnnotation(...)
    public class MyServiceImpl implement MyService {
    	public String query(String demande) throws MyServiceException {
    		return ...;
    	}
    ...
    Et je voudrais générer une méthode de façade du type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    @MyServiceAnnotation(...)
    public class MyServiceImpl implement MyService {
    	private String query(String demande) throws MyServiceException {
    		return ...;
    	}
    	public String query(String ID, String demande) throws MyServiceException {
    		if (id == null)	throw new MyServiceException("erreur sécurité");
    		return this.query(demande);
    	}
    ...
    L'idée étant d'obliger mes clients SOA à invoquer les services avec des paramètres de sécurité qui sont hors métier et qui donc ne devraient pas être codés encore et encore...
    J'ai entendu parler d'interceptors ; mais je ne suis pas certain de comprendre comment injecter des paramètres contextuels via mes proxies.
    J'ai envisagé l'AOP mais même si je peux pointer sur les méthodes #query cela ne force pas le client à passer les paramètres attendus (pas de contrat).

    NB : j'utilise déjà APT pour générer des configurations basées sur ces mêmes annotations ; mais je débute en génération de code.

    Merci d'avance pour vos idées. Thomas.

  2. #2
    Membre habitué
    Homme Profil pro
    Architecte senior Java EE/Spring - ScrumMaster
    Inscrit en
    Juin 2010
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France

    Informations professionnelles :
    Activité : Architecte senior Java EE/Spring - ScrumMaster
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2010
    Messages : 229
    Points : 162
    Points
    162
    Par défaut Autre idée...
    C'est encore moi, bonjour à tous,

    Bon, j'ai trouvé ceci : http://deors.wordpress.com/2011/10/3...on-generators/ qui explique comment générer des classes dynamiquement. Mais ça me parait encore assez lourd...
    Plus simplement, ne pourrais-je pas ajouter directement un paramètre à mes méthodes et à leur contrat (interface) ? On est obligé de générer de nouveaux fichiers sans toucher aux classes existantes, c'est ça ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    @MyServiceAnnotation(...)
    public interface MyService {
    	String query(String ID, String demande) throws MyServiceException;
    }
    ...
    @MyServiceAnnotation(...)
    public class MyServiceImpl implement MyService {
    	public String query(String ID, String demande) throws MyServiceException {
    		if (id == null)	throw new MyServiceException("erreur sécurité");
    		return ...;
    	}
    ...

  3. #3
    Membre habitué
    Homme Profil pro
    Architecte senior Java EE/Spring - ScrumMaster
    Inscrit en
    Juin 2010
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France

    Informations professionnelles :
    Activité : Architecte senior Java EE/Spring - ScrumMaster
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2010
    Messages : 229
    Points : 162
    Points
    162
    Par défaut
    Une première idée d'implémentation :
    http://deors.wordpress.com/2011/10/3...on-generators/

Discussions similaires

  1. Ajout de méthodes à une classe
    Par jacksparo4 dans le forum Langage
    Réponses: 18
    Dernier message: 14/05/2015, 09h09
  2. [Débutant] Ajouter des attributs à une classe générée automatiquement par Entity
    Par Pelote2012 dans le forum Entity Framework
    Réponses: 2
    Dernier message: 20/11/2014, 16h07
  3. Réponses: 8
    Dernier message: 21/01/2014, 11h52
  4. comment ajouter des méthodes à une classe lors Runtime?
    Par revever dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 31/03/2008, 13h53
  5. Utilisation des méthodes de classe dans une autre classe
    Par ChriGoLioNaDor dans le forum C++
    Réponses: 4
    Dernier message: 28/07/2007, 15h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo