org.apache.commons.lang – Instalacja i użycie Apache Commons Lang na przykładzie klasy WordUtils i NetBeans

Apache Commons to zbiór niezwykle przydatnych klas, które rozszerzają zbiór tych, które standardowo należą do JDK. Apache Commons składa się z wielu pakietów (package), a jednym z nich jest org.apache.commons.lang. Pakiet ten składa się z tylko jednej klas o nazwie WordUtils, która dostarcza kilku przydatnych metod do manipulowania stringami.

Metody, z których składa się WordUtils to:

  • abbreviate(…) – Pomaga w tworzeniu skrótów tekstu
  • capitalize(…) – Ustawia pierwsze litery wyrazów w tekście na duże litery
  • capitalizeFully(…) – Ustawia pierwsze znaki wyrazów na duże litery, a resztę znaków na małe litery
  • initials(…) – Ekstrahuje pierwsze litery wyrazów tekstu
  • swapCase(…) – Zamienia duże litery na małe i odwrotnie
  • uncapitalize(…) – Ustawia pierwsze litery wyrazów w tekście na małe litery
  • wrap(…) – Dzieli tekst na wiersze

Aby skorzystać z tego pakietu, najpierw musimy ściągnąć go z internetu. Można to zrobić z oficjalnej strony:

http://commons.apache.org/lang/download_lang.cgi

Dostępnych jest kilka wersji. Dalsza część tekstu opiera się na wersji 2.6, czyli pliku:

http://ftp.tpnet.pl/vol/d1/apache//commons/lang/binaries/commons-lang-2.6-bin.zip

Użycie innej wersji nie różni się znacząco – inne jest tylko nazwa pakietu i ewentualnie klasy oraz metod. Gdy już ściągniemy nasz plik, to w wewnątrz archiwum odnajdziemy plik o nazwie

commons-lang-2.6.jar

Kopiujemy go do dowolnego miejsca, gdzie chcemy trzymać nasze zewnętrzne biblioteki. Następnie przechodzimy do NetBeans i dodajemy naszą bibliotekę do projektu poprzez Add JAR/Folder tak jak pokazano na rysunku poniżej.

Dodawanie biblioteki do projektu w NeatBeans

Gdy już dodamy ją do projektu, to możemy zobaczyć to co zawiera – jak na rysunku poniżej.

Zawartość Apache Commons Lang

Ostatnie co nam zostaje to tylko zaimportować w kodzie odpowiednią klasę i ją użyć. Przykład poniżej.

package person;
import org.apache.commons.lang.WordUtils;
 
public class Person {
    protected String fullName;
    protected String firstName, lastName;
 
    public Person( String firstName, String lastName ) {
        this.firstName = WordUtils.capitalize( firstName );
        this.lastName = WordUtils.capitalize( lastName );
    }
 
    public String getFullName() {
        if( fullName != null ) {
            return fullName;
        }
        return firstName + " " + lastName;
    }
}