@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,
CustomerSaveRequestnesnesini alarak birCustomernesnesine dönüştürür. Metot statik olduğu içinCustomerConvertersı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()):
requestnesnesinden alınan parola (password),HashUtilsınıfındakigeneratemetodu 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(...):
CustomerSaveRequestnesnesinden alınan isim (name), soyisim (surname), e-posta (email) ve hashlenmiş parola (hashedPassword) kullanılarak yeni birCustomernesnesi oluşturulur.
Ek Ayarların Yapılması
customer.setAccountType(AccountType.STANDARD);
customer.setIsActive(Boolean.TRUE);
-
customer.setAccountType(AccountType.STANDARD): Müşterinin hesap türü
STANDARDolarak ayarlanır. - customer.setIsActive(Boolean.TRUE): Müşteri aktif olarak işaretlenir.
Sonuç
return customer;
-
return customer: Oluşturulan ve ayarları yapılan
Customernesnesi 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.
Top comments (0)