diff --git a/core-java-modules/core-java-lang-2/pom.xml b/core-java-modules/core-java-lang-2/pom.xml index 22df5f7951..3230498f41 100644 --- a/core-java-modules/core-java-lang-2/pom.xml +++ b/core-java-modules/core-java-lang-2/pom.xml @@ -15,10 +15,10 @@ - org.openjdk.jmh - jmh-core - ${jmh-core.version} - + commons-beanutils + commons-beanutils + 1.9.4 + org.openjdk.jmh jmh-generator-annprocess @@ -29,6 +29,11 @@ jmh-generator-bytecode ${jmh-generator.version} + + org.openjdk.jmh + jmh-core + ${jmh-core.version} + diff --git a/core-java-modules/core-java-lang-2/src/main/java/com/baeldung/pojo/EmployeeBean.java b/core-java-modules/core-java-lang-2/src/main/java/com/baeldung/pojo/EmployeeBean.java new file mode 100644 index 0000000000..faf1c1f261 --- /dev/null +++ b/core-java-modules/core-java-lang-2/src/main/java/com/baeldung/pojo/EmployeeBean.java @@ -0,0 +1,53 @@ +package com.baeldung.pojo; + +import java.io.Serializable; +import java.time.LocalDate; + +public class EmployeeBean implements Serializable { + + /** + * + */ + private static final long serialVersionUID = -3760445487636086034L; + + private String firstName; + + private String lastName; + + private LocalDate startDate; + + public EmployeeBean() { + + } + + public EmployeeBean(String firstName, String lastName, LocalDate startDate) { + this.firstName = firstName; + this.lastName = lastName; + this.startDate = startDate; + } + + public String getFirstName() { + return firstName; + } + + public void setFirstName(String firstName) { + this.firstName = firstName; + } + + public String getLastName() { + return lastName; + } + + public void setLastName(String lastName) { + this.lastName = lastName; + } + + public LocalDate getStartDate() { + return startDate; + } + + public void setStartDate(LocalDate startDate) { + this.startDate = startDate; + } + +} diff --git a/core-java-modules/core-java-lang-2/src/main/java/com/baeldung/pojo/EmployeePojo.java b/core-java-modules/core-java-lang-2/src/main/java/com/baeldung/pojo/EmployeePojo.java new file mode 100644 index 0000000000..a48fa94381 --- /dev/null +++ b/core-java-modules/core-java-lang-2/src/main/java/com/baeldung/pojo/EmployeePojo.java @@ -0,0 +1,27 @@ +package com.baeldung.pojo; + +import java.time.LocalDate; + +public class EmployeePojo { + + public String firstName; + + public String lastName; + + private LocalDate startDate; + + public EmployeePojo(String firstName, String lastName, LocalDate startDate) { + this.firstName = firstName; + this.lastName = lastName; + this.startDate = startDate; + } + + public String name() { + return this.firstName + " " + this.lastName; + } + + public LocalDate getStart() { + return this.startDate; + } + +} diff --git a/core-java-modules/core-java-lang-2/src/main/java/com/baeldung/pojo/ReflectionExample.java b/core-java-modules/core-java-lang-2/src/main/java/com/baeldung/pojo/ReflectionExample.java new file mode 100644 index 0000000000..ebb4c10d92 --- /dev/null +++ b/core-java-modules/core-java-lang-2/src/main/java/com/baeldung/pojo/ReflectionExample.java @@ -0,0 +1,24 @@ +package com.baeldung.pojo; + +import java.beans.PropertyDescriptor; + +import org.apache.commons.beanutils.PropertyUtils; + + +public class ReflectionExample { + + public static void main(String[] args) { + + System.out.println("Fields for EmployeePojo are:"); + for (PropertyDescriptor pd : PropertyUtils.getPropertyDescriptors(EmployeePojo.class)) { + System.out.println(pd.getDisplayName()); + } + + System.out.println("Fields for EmployeeBean are:"); + for (PropertyDescriptor pd : PropertyUtils.getPropertyDescriptors(EmployeeBean.class)) { + System.out.println(pd.getDisplayName()); + } + + } + +}