Örnek ile converter java

RMAG news

@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class CustomerConverter {

public static Customer toCustomer(CustomerSaveRequest request) {
String hashedPassword = HashUtil.generate(request.getPassword());

Customer customer = new Customer(request.getName(), request.getSurname(), request.getEmail(), hashedPassword);
customer.setAccountType(AccountType.STANDARD);
customer.setIsActive(Boolean.TRUE);
return customer;
}

}
burda ne yapılmış ?

Bu kod parçasında, bir CustomerConverter adında bir sınıf oluşturulmuş ve bu sınıf içinde bir statik metot tanımlanmış. Bu metot, bir CustomerSaveRequest nesnesini alarak bir Customer nesnesine dönüştürmek için kullanılıyor. İşlemlerin ayrıntılarına bakalım:

Anotasyon ve Sınıf Tanımı

@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class CustomerConverter {

@NoArgsConstructor(access = AccessLevel.PRIVATE): Bu anotasyon, Lombok kütüphanesi tarafından sağlanır ve sınıfın özel bir parametresiz (no-args) kurucu oluşturur. Böylece bu sınıftan nesne oluşturulması engellenir. Bu, tüm metotların statik olacağını ve bu sınıfın yalnızca bir yardımcı (utility) sınıf olarak kullanılacağını gösterir.

Statik Metot

public static Customer toCustomer(CustomerSaveRequest request) {

public static Customer toCustomer(CustomerSaveRequest request): Bu metot, CustomerSaveRequest nesnesini alarak bir Customer nesnesine dönüştürür. Metot statik olduğu için CustomerConverter sınıfının bir örneğini oluşturmadan doğrudan çağrılabilir.

Parolanın Hashlenmesi

String hashedPassword = HashUtil.generate(request.getPassword());

String hashedPassword = HashUtil.generate(request.getPassword()): request nesnesinden alınan parola (password), HashUtil sınıfındaki generate metodu kullanılarak hashlenir. Bu, parolanın güvenli bir şekilde saklanmasını sağlar.

Customer Nesnesinin Oluşturulması

Customer customer = new Customer(request.getName(), request.getSurname(), request.getEmail(), hashedPassword);

Customer customer = new Customer(…): CustomerSaveRequest nesnesinden alınan isim (name), soyisim (surname), e-posta (email) ve hashlenmiş parola (hashedPassword) kullanılarak yeni bir Customer nesnesi oluşturulur.

Ek Ayarların Yapılması

customer.setAccountType(AccountType.STANDARD);
customer.setIsActive(Boolean.TRUE);

customer.setAccountType(AccountType.STANDARD): Müşterinin hesap türü STANDARD olarak ayarlanır.

customer.setIsActive(Boolean.TRUE): Müşteri aktif olarak işaretlenir.

Sonuç

return customer;

return customer: Oluşturulan ve ayarları yapılan Customer nesnesi geri döndürülür.

Özet

Bu kod parçası, bir CustomerSaveRequest nesnesinden bir Customer nesnesi oluşturan bir yardımcı sınıf (utility class) tanımlar. CustomerConverter sınıfı, özel bir kurucuya sahip olduğu için doğrudan örneklenemez. Statik toCustomer metodu, CustomerSaveRequest’ten gelen verileri kullanarak yeni bir Customer nesnesi oluşturur, parolayı hashler, hesap türünü ve aktif durumunu ayarlar ve son olarak bu nesneyi geri döndürür.