Documentazione |  
L'interfaccia di classe personalizzata Java
L'Arachnophilia è © Copyright 2015, P. Lutus.

L'Arachnophilia è CareWare

Utilizzando macro di sistema, Arachnophilia può interfacciarsi con classi Java esterne scritte dall'utente o fornite da terze parti. Ciò significa essenzialmente che qualsiasi funzione immaginabile può essere aggiunta all'Arachnophilia.

Ecco come procedere:

Questa è l'idea generale e la maggior parte dei programmatori non avrà alcun problema. Ma, solo per un esempio, invocheremo una classe Java di esempio inclusa in Arachnophilia.

Ecco un elenco della classe di test (copia il blocco sottostante per creare il tuo contenuto):


/*
* Creato il 26 ottobre 2009 12:06:55
*/

/* TestClass ha lo scopo di dimostrare l'uso
* della funzionalità di avvio delle classi personalizzate di Arachnophilia.
* Basta compilare questa classe sul posto, creare
* una macro simile a questa:
* "[EseguiCustomClassDoc:CustomClasses/TestClass]",
* caricare un documento adatto e attivare la macro.
*/

pacchetto Classi personalizzate;

importa java.util.*;

pubblica classe Classe di prova {

// questo è un metodo di ricerca e sostituzione globale minimo e generico

privato Ricerca stringhe Sostituisci (Dati stringa, Trova stringa, Sostituisci stringa)
{
StringBuffer sb = nuovo StringBuffer();
int a = 0,b;
int findLength = find.length();
mentre((b = data.indexOf(find,a)) != -1) {
sb.append(data.substring(a,b));
sb.append(sostituisci);
a = b + trovaLunghezza;
}
if(a <data.length()) {
sb.append(data.substring(a));
}
return sb.toString();
}

// questo è il metodo predefinito che le classi personalizzate
 // deve lavorare con la classe di Arachnophilia
 // funzionalità di avvio a meno che non sia specificato un nome di metodo
 // è fornito

public String processString(String s)
{
String result = "Ciao! Questo è un esempio di Java Custom Class Interfacing!

"
 + "Hai inviato questo:
"
 + "\"" + s + "\"
"
 + "Qui è tutto maiuscolo:
"
 + "\"" + s.toUpperCase() + "\"
"
 + "Qui è tutto minuscolo:
"
 + "\"" + s.toLowerCase() + "\"
"
 + "Eccolo con un cambiamento globale:
"
 + "\"" + cercaSostituisci(i),"a","(A)") + "\"
";
ritorno risultato;
}

// questo è un altro metodo per mostrare la capacità di scegliere
 // qualsiasi metodo per nome

public String metodo davvero noioso(String s)
{
ritorno "On " + nuovo Data() + ", hai invocato questo metodo Java davvero noioso.";
}
}


Questa classe di test è già stata creata e compilata e dovrebbe trovarsi nella tua directory utente in una sottodirectory denominata "CustomClasses". Vediamo se lo è. :)

Apri un nuovo documento di testo e digita qualcosa al suo interno. Ecco il nostro testo di esempio:
Questa è una frase di prova.
Ora trova la voce di menu Programmazione ... Demo di classe personalizzata e fai clic su di esso. La macro dietro questa voce di menu ha questo contenuto per impostazione predefinita:

[RunCustomClassDoc:CustomClasses/TestClass]
Questa macro significa "Trova una classe Java in una sottodirectory della directory utente Arachnophilia denominata "CustomClasses", trova una classe denominata "TestClass" ed esegui un metodo chiamato "ProcessString" con il contenuto del documento corrente come argomento.

Ecco il risultato della nostra frase di esempio:

Ciao! Questo è un esempio di interfaccia di classe personalizzata Java!
Hai inviato questo:
"Questa è una frase di prova."
Qui è tutto maiuscolo:
"QUESTA È UNA FRASE DI PROVA."
Qui è tutto minuscolo:
"questa è una frase di prova."
Eccolo con un cambiamento globale:
"Questo è (A) test phr(A)se."

Se la macro viene richiamata come sopra, assumerà l'esistenza di un metodo pubblico chiamato "ProcessString" e ti dirà se non riesce a trovarlo. Se desideri utilizzare un nome di metodo diverso, fornisci semplicemente il nome, in questo modo:

[RunCustomClassDoc:CustomClasses/TestClass.reallyBoringMethod]

Succede che ci sia un metodo con questo nome nella nostra classe di test, e se invocato restituirà (qualcosa di simile):

Il venerdì 8 marzo 21:58:27 PST 2002, hai invocato questo metodo Java davvero noioso.

Le classi personalizzate create dall'utente possono trovarsi ovunque nella directory o nelle sottodirectory Arachnophilia dell'utente e nelle classi può esserci un numero qualsiasi di metodi con qualsiasi nome. Gli unici requisiti sono che l'identificatore del pacchetto sia lo stesso dell'elenco precedente ("CustomClasses") e che i metodi siano pubblici e ricevano e restituiscano una stringa.

Documentazione |