Class BuilderMapper
java.lang.Object
diegosneves.github.conectardoacoes.adapters.rest.mapper.BuilderMapper
A classe
BuilderMapper fornece métodos para mapear os campos de um objeto fonte
para os campos de uma classe destino.- Since:
- 1.0.0
- Author:
- diegoneves
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static FieldfindFieldWithName(Object source, String name, Class<?> paramType) Método utilitário privado para encontrar e retornar um objetoFieldde nome específico de uma instância de objeto fornecida (source).static <T,E> T mapTo(MapperStrategy<T, E> strategy, E source) Esta é uma função auxiliar genérica para converter (mapear) um objeto de origem em um destino desejado, usando uma estratégia de mapeamento fornecida.static <T> TMapeia os campos do objeto de origem para os campos da classe de destino.
-
Field Details
-
SOURCE_OBJECT_NULL_ERROR_MESSAGE
- See Also:
-
STRATEGY_CANNOT_BE_NULL
- See Also:
-
CLASS_MAPPING_FAILURE
-
-
Constructor Details
-
BuilderMapper
private BuilderMapper()
-
-
Method Details
-
mapTo
public static <T> T mapTo(Class<T> destinationClass, Object source) throws ConstructorDefaultUndefinedException, MapperFailureException Mapeia os campos do objeto de origem para os campos da classe de destino.- Type Parameters:
T- o tipo da classe de destino- Parameters:
destinationClass- a classe a ser mapeadasource- o objeto de origem que será convertido no objeto de destino- Returns:
- uma instância da classe de destino com seus campos preenchidos
- Throws:
ConstructorDefaultUndefinedException- se a classe de destino não tiver um construtor padrãoMapperFailureException- se ocorrer um erro ao mapear os campos
-
findFieldWithName
Método utilitário privado para encontrar e retornar um objetoFieldde nome específico de uma instância de objeto fornecida (source). O objetoFieldretornado é aquele cujo nome corresponde ao parâmetro de nome fornecido e é do tipo atribuível ao parâmetro de tipo fornecido (paramType).- Parameters:
source- A instância de objeto cujo campo está sendo procurado.name- O nome do campo que está sendo procurado.paramType- O tipo de classe do campo que está sendo procurado.- Returns:
- Retorna um objeto Field se um campo correspondente for encontrado. Retorna null se nenhum campo correspondente for encontrado.
-
mapTo
Esta é uma função auxiliar genérica para converter (mapear) um objeto de origem em um destino desejado, usando uma estratégia de mapeamento fornecida. Ele fornece utilidade na redução de código duplicado ao lidar com conversões de objetos em projetos. A função utiliza Generics para manter a flexibilidade, permitindo que qualquer objeto seja mapeado para qualquer outro.Esta função verifica primeiro se a estratégia fornecida e o objeto de origem não são nulos. Se algum deles for nulo, a função lançará uma exceção
IllegalArgumentException.O propósito deste método é fornecer um mapeamento eficaz de objetos e garantir a validade dos dados a serem mapeados.
- Type Parameters:
T- O tipo do objeto de destino, para o qual o objeto de origem será mapeado.E- O tipo do objeto de origem que será mapeado para o objeto de destino.- Parameters:
strategy- A estratégia de mapeamento que define a lógica de como o objeto de origem deve ser mapeado para o objeto de destino. Os detalhes sobre como implementar a estratégia são responsabilidade do desenvolvedor.source- O objeto de origem a ser mapeado. A estrutura desse objeto depende do objeto definido durante a invocação.- Returns:
- Retorna um novo objeto do tipo de destino (T) com seus campos mapeados do objeto de origem.
- Throws:
IllegalArgumentException- será lançada se a estratégia de mapeamento ou o objeto de origem for null.- See Also:
-