Μελετώντας το ανωτέρω άρθρο στο OTN είναι εξαιρετικά σύντομο να ξεκινήσει να γράφει κάποιος τα δικά του extensions: απλά αντιγράφει ένα από τα πολλά παραδείγματα που ταιριάζει περισσότερο στις απαιτήσεις του και αρχίζει να το διαμορφώνει υλοποιώντας την ιδέα του. Δεδομένου πως το ίδιο το προϊόν είναι κατασκευασμένο σε Java, είναι απλό και εύκολο να δημιουργηθούν επεκτάσεις, να εμφανιστούν παράθυρα και φόρμες εισαγωγής κ.ο.κ, αφού στην ουσία πρόκειται για μια συντήρηση μιας Java εφαρμογής, γεγονός που μειώνει δραματικά τον χρόνο ανάπτυξης και αυξάνει την παραγωγικότητα. Δυνατότητες που εμφανίζονται σε άλλα περιβάλλοντα ανάπτυξης μπορούν να υλοποιηθούν στον JDeveloper σε μικρό χρόνο.
Μιλώντας τώρα για τις λεπτομέρειες υλοποίησης, ακολουθούν κάποιες γενικές, κατευθυντήριες γραμμές:
- η κλάση μας που θα αποδίδει μια νέα λειτουργία θα πρέπει να κληρονομεί από τα interfaces Addin και Controller
- Στην μέθοδο initialize() που θα πρέπει να υλοποιηθεί, ορίζουμε το πότε θα ενεργοποιηθεί η υπηρεσία μας, εγγράφοντας τον κώδικα μας για ειδοποίηση με το που θα συμβεί ένα σχετικό γεγονός (π.χ. μια επιλογή ενός μενού ή το πάτημα ενός κουμπιού), και λαμβάνει χώρα με την έναρξη του JDeveloper. Για παράδειγμα όπως διαφαίνεται στον ακόλουθο κώδικα, ορίζεται κάτι ανάλογο για την κλάση μας, μόλις γίνει δεξί click πάνω σε ένα project:
Project prj = Ide.getActiveProject();
final Class matchingNodeType = prj.getClass();
/** @snippet_reference {@start WorkspaceManager.1} */ NavigatorManager.getWorkspaceNavigatorManager().addContextMenuListener(ctxMenuLstnr, matchingNodeType);
- H δεύτερη σημαντική συνάρτηση είναι η handleEvent() που εκτελείται με την πραγματοποίηση του γεγονότος (event) στο οποίο έχει εγγραφεί η κλάση μας. Πρακτικά, είναι το σημείο στο οποίο θα προσθέσουμε τον κώδικα λειτουργίας της υπηρεσίας μας.
ενώ η επιλογή για διαγραφή μπορεί να οδηγήσει σε οθόνη επιβεβαίωσης, που κατασκευάζεται με απλό Java Swing προγραμματισμό:
Τα αποτελέσματα της επεξεργασίας εμφανίζονται στο παράθυρο Log:
και το σχετικό project έχει διαγραφεί επιτυχώς, όπως φαίνεται και στο file browser:
Ολόκληρο το code listing της εφαρμογής είναι διαθέσιμο. Ομολογουμένως εντυπωσιάστηκα με την ευχέρεια ανάπτυξης extensions.
1 comment:
The link registered for JDeveloper auto-update is invalid:
http://www.freefilehosting.net/files/NTY5OQ/remove-ext-updatecenter.1_1.zip
I'm unable to download your extension.
Post a Comment