Bu Kategoriye İçerik Girin veya Soru Sorun

Kategori İçi Sözlük

Bu Sayfayı Paylaş:

Apache Commons Lang

Tanım: Apache kurumu tarafından geliştirilen java'nın temel kütüphaneleri (core class'lar) ile ilgili çok sayıda yardımcı ve kolaylık sağlayan class'ların bulunduğu kütüphane projesi. String , reflection concurrency , serileştirme , system özellikleri vb.. bir çok konuda yararlı class'lar içerir

Apache Commons Lang Kütüphanesinde Validate Class Kullanım Örneği

Aşağıda Apache Commons Lang kütüphanesinde fonksiyon veya kurucu ile gelen argümanları validate etmek için kullanılan Validate class'ının kullanım örneği görülmektedir :
import org.apache.commons.lang3.*;
public class Test {
	
	private String name;
	private int size;
	
	public Test(String name,int size) {
		
		Validate.notBlank(name,"name degeri bos");
		Validate.isTrue(size>0,"size 0 dan buyuk olmalı");
		
		setName(name);
		setSize(size);		
		
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}	
	public int getSize() {
		return size;
	}
	public void setSize(int size) {
		this.size = size;
	}	
	
	public static void main(String[] args) {
		Test t=new Test("", 123);
	
	}
}

Test class'ının kurucusunda name değerinin null veya "" şeklinde gelmesine engel olunmakta. Ayrıca size değeride 0'dan büyük gelmesi gerekmektedir. Main içindeki kod çalıştırıldığında name değer "" girilmesinden dolayı IllegalArgumentException gelecek ve mesaj olarak "name degeri bos" gozukecektir. notBlank aynı zamanda null bir değer giridiğinde de exception fırmasını sağlar.

Apache Commons Lang Kütüphanesinde ToStringBuilder Kullanım Örneği

Aşağıdaki class'ta Apache Commons Lang kütüphanesindeki ToStringBuilder class'ının kullanım örneği görülmektedir :
import org.apache.commons.lang3.builder.*;
public class Test {
	
	private String name;
	private int size;
	
	public Test(String name,int size) {
		setName(name);
		setSize(size);		
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}	
	public int getSize() {
		return size;
	}
	public void setSize(int size) {
		this.size = size;
	}	
	
	@Override
	public String toString() {
		return ToStringBuilder.reflectionToString(this);
	}
	
	public static void main(String[] args) {
		Test t=new Test("Ad1", 123);
		System.out.println(t);
	}
}
Yukarıdaki Test class'ının toString'i override edilmiş ve ToStringBuilder kullanılmıştır. Aynı class'ın için bir main koyarak test yapılmıştır. Uygulama çalıştırıldığında aşağıdaki gibi bir çıktı verecektir :
Test@390ede48[name=Ad1,size=123]

ToStringBuilder class'ın property'lerini bulmakta ve property adı=değer şeklinde output string'i üretmektedir.

Apache Commons Lang Kütüphanesinde HashCodeBuilder Kullanım Örneği

Aşağıdaki class'ta Apache Commons Lang kütüphanesindeki HashCodeBuilder class'ının kullanım örneği görülmektedir :
import org.apache.commons.lang3.builder.*;
public class Test {
	
	private String name;
	private int size;
	
	public Test(String name,int size) {
		setName(name);
		setSize(size);		
		
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}	
	public int getSize() {
		return size;
	}
	public void setSize(int size) {
		this.size = size;
	}
		
	@Override
	public int hashCode() {
		return HashCodeBuilder.reflectionHashCode(this);
	}	
	
	public static void main(String[] args) {
		Test t=new Test("ali", 112);
		Test t2=new Test("veli", 112);
		System.out.println("t hash code:"+t.hashCode());
		System.out.println("t2 hash code:"+t2.hashCode());
		
	}
}
Class'ta hem hashCode override edilmiş ve apache HashCodeBuilder class'ı kullanılmıştır. Ekrana üretilen hashcode'lar bastırılmıştır. Uygulama çalıştırıldığında aşağıdak gibi bir çıktı vermektedir :
t hash code:3600175
t2 hash code:133809909

Java'da Bir Class'ta equals ve hashCode Methodlarını Override Etmek İçin Apache Commons Lang Paketini Kullanabilirsiniz

Java'da bir class'ta equals ve hashCode methodlarını override (üzerine yazma) için Apache Commons Lang paketindeki ToStringBuilder ve HashCodeBuilder class'larını kullanabilirsiniz





Bu Sayfayı Paylaş:

İletişim Bilgileri

Takip Et

Her Hakkı Saklıdır. Bu sitede yayınlanan tüm bilgi ve fikirlerin kullanımından fibiler.com sorumlu değildir. Bu sitede üretilmiş , derlenmiş içerikleri, fibiler.com'u kaynak göstermek koşuluyla kendi sitenizde kullanılabilirsiniz. Ancak telif hakkı olan içeriklerin hakları sahiplerine aittir