/* * Copyright (c) MuleSoft, Inc. All rights reserved. http://www.mulesoft.com * The software in this package is published under the terms of the CPAL v1.0 * license, a copy of which has been included with this distribution in the * LICENSE.txt file. */ package org.mule.test.heisenberg.extension.model; import static org.apache.commons.lang.builder.EqualsBuilder.reflectionEquals; import static org.mule.runtime.api.meta.ExpressionSupport.NOT_SUPPORTED; import static org.mule.test.heisenberg.extension.HeisenbergExtension.AGE; import static org.mule.test.heisenberg.extension.HeisenbergExtension.HEISENBERG; import org.mule.runtime.extension.api.annotation.Alias; import org.mule.runtime.extension.api.annotation.Expression; import org.mule.runtime.extension.api.annotation.param.Optional; import org.mule.runtime.extension.api.annotation.param.Parameter; import org.mule.runtime.extension.api.annotation.param.display.DisplayName; import org.mule.runtime.extension.api.annotation.param.display.Placement; import java.time.LocalDateTime; import java.util.Calendar; import java.util.Date; import java.util.List; public class PersonalInfo { @Parameter @Alias("myName") @Optional(defaultValue = HEISENBERG) @Placement(order = 1) private String name; @Parameter @Optional(defaultValue = AGE) @Placement(order = 2) private Integer age; @Parameter @Optional @Placement(order = 3) private LocalDateTime dateOfConception; @Parameter @Optional @Placement(order = 4) private Date dateOfBirth; @Parameter @Optional @DisplayName("Date of decease") @Placement(order = 5) private Calendar dateOfDeath; @Parameter @Optional @Expression(NOT_SUPPORTED) @Placement(order = 6) private Calendar dateOfGraduation; @Parameter @Placement(order = 7) private List<String> knownAddresses; public List<String> getKnownAddresses() { return knownAddresses; } public PersonalInfo() {} public PersonalInfo(String name, Integer age) { this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public LocalDateTime getDateOfConception() { return dateOfConception; } public void setDateOfConception(LocalDateTime dateOfConception) { this.dateOfConception = dateOfConception; } public Date getDateOfBirth() { return dateOfBirth; } public void setDateOfBirth(Date dateOfBirth) { this.dateOfBirth = dateOfBirth; } public Calendar getDateOfDeath() { return dateOfDeath; } public void setDateOfDeath(Calendar dateOfDeath) { this.dateOfDeath = dateOfDeath; } public Calendar getDateOfGraduation() { return dateOfGraduation; } public void setDateOfGraduation(Calendar dateOfGraduation) { this.dateOfGraduation = dateOfGraduation; } @Override public boolean equals(Object obj) { return reflectionEquals(obj, this); } }