@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class CustomerConverter {
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ı
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): 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()): 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(…): 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.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: 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.