
net.projectmonkey.object.mapper.analysis.cache.MappingsCacheKey Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of object-mapper Show documentation
Show all versions of object-mapper Show documentation
Object mapping implementation written as an alternative to modelmapper which is able to support inheritance, handles flattening / expanding in a precise way, and is extensible / configurable
The newest version!
package net.projectmonkey.object.mapper.analysis.cache;
import net.projectmonkey.object.mapper.analysis.duplicates.DuplicateMappingBehaviour;
import net.projectmonkey.object.mapper.analysis.matching.MatchingStrategy;
import net.projectmonkey.object.mapper.analysis.resolver.PropertyResolver;
import net.projectmonkey.object.mapper.analysis.tokenizer.PropertyNameTokenizer;
import net.projectmonkey.object.mapper.context.ConversionConfiguration;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.commons.lang3.builder.ToStringBuilder;
/*
*
* * Copyright 2012 the original author or authors.
* *
* * Licensed under the Apache License, Version 2.0 (the "License");
* * you may not use this file except in compliance with the License.
* * You may obtain a copy of the License at
* *
* * http://www.apache.org/licenses/LICENSE-2.0
* *
* * Unless required by applicable law or agreed to in writing, software
* * distributed under the License is distributed on an "AS IS" BASIS,
* * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* * See the License for the specific language governing permissions and
* * limitations under the License.
*
*/
/**
* @author Andy Moody
*/
public class MappingsCacheKey
{
private final PropertyResolver sourcePropertyResolver;
private final PropertyResolver destinationPropertyResolver;
private final PropertyNameTokenizer sourceTokenizer;
private final PropertyNameTokenizer destTokenizer;
private final MatchingStrategy matchingStrategy;
private final DuplicateMappingBehaviour duplicateMappingBehaviour;
private final TypePair, ?> pair;
public MappingsCacheKey(ConversionConfiguration configuration,
final TypePair, ?> pair)
{
this.sourcePropertyResolver = configuration.getSourcePropertyResolver();
this.destinationPropertyResolver = configuration.getDestinationPropertyResolver();
this.sourceTokenizer = configuration.getSourceTokenizer();
this.destTokenizer = configuration.getDestinationTokenizer();
this.matchingStrategy = configuration.getMatchingStrategy();
this.duplicateMappingBehaviour = configuration.getDuplicateMappingBehaviour();
this.pair = pair;
}
@Override
public boolean equals(final Object o)
{
return EqualsBuilder.reflectionEquals(this, o);
}
@Override
public int hashCode()
{
return HashCodeBuilder.reflectionHashCode(this);
}
@Override
public String toString()
{
return ToStringBuilder.reflectionToString(this);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy