@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 birCustomer
nesnesine dönüştürür. Metot statik olduğu içinCustomerConverter
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ındakigenerate
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 birCustomer
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.
Top comments (0)