Zaawansowane użycie

Moduł FTP udostępnia metodę execute umożliwiającą wykonywanie operacji związanych z komunikacją z serwerem FTP, które nie są wspierane bezpośrednio przez moduł. Powinna być używana, w obiektach Groovy, przez programistów posiadających podstawowową wiedzę związaną z biblioteką Apache Commons Net a bardziej szczegółowo z klasą org.apache.commons.net.ftp.FTPClient.

Metoda jako pierwszy argument przyjmuje nazwę konektora. Jako drugi argument podawany jest dynamiczny kod Groovy - Closure. Kod ten wywoływany jest z jednym argumentem typu org.apache.commons.net.ftp.FTPClient. Programista może w ten sposób wykonać dowolną operację/operacje wspieraną przez tą klasę przy jednoczesnym wsparciu mechanizmów jPALIO związanych z zarządzaniem połączeniami.

Poniżej przedstawiono przykład użycia.

palio.Groovy.module("ftp").execute("ftp") {client ->

    println "### Status"
    println client.getStatus()
    
    println "### File names:"
    for (f in client.listNames()) {
        println f
    }

}
Przykładowy wynik działania powyższego kodu:

### Status
211-Status of '0.0.0.0'
 Connected from ::ffff:127.0.0.1 (::ffff:127.0.0.1)
 Logged in as devel
 TYPE: BINARY, STRUcture: File, Mode: Stream
 Total bytes transferred for session: 120
 No data connection
211 End of status
### File names:
welcome.msg