Bonjour,
Voilà, j'ai un petit problème : j'utilise l'API openoffice en java, avec cette API, il n'est pas possible de caster des variables, il faut passer par une classe OOo qui vérifie les compatibilités et effectue la conversion (pour des raisons d'accès à distance ou autre).
Le point important est qu'un objet sous OOo peut implémenter diverses interfaces et qu'il faut faire un appel aux mécanisme OOo pour obtenir chacume d'entre elle. Par exemple :
Etant un peu fénéant par nature, je me suis dit qu'il serait sympa d'encapsuler ça dans une méthode générique :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 maMéthode(XComponent c) { // Je veux le doc comme un XStorable : XStorable s = (XStorable)UnoRuntime.queryInterface(XStorable.class, c); // Comme un XTextGraphicObjectsSupplier XTextGraphicObjectsSupplier tgos = (XTextGraphicObjectsSupplier)UnoRuntime.queryInterface(XTextGraphicObjectsSupplier.class, component); // Etc.
Voilà, je cherche ce que devient le premier argument de queryInterface, sachant que T.class est interdit apparemment
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 public static<T> T convert(Object o) { return ((T)UnoRuntime.queryInterface(Je mets quoi là, o)); }
Partager