Class MappingMethodOptions
- java.lang.Object
-
- org.mapstruct.ap.internal.model.source.MappingMethodOptions
-
public class MappingMethodOptions extends java.lang.ObjectEncapsulates all options specifiable on a mapping method
-
-
Field Summary
Fields Modifier and Type Field Description private BeanMappingOptionsbeanMappingprivate static MappingMethodOptionsEMPTYprivate EnumMappingOptionsenumMappingOptionsprivate booleanfullyInitializedprivate IterableMappingOptionsiterableMappingprivate MapMappingOptionsmapMappingprivate MapperOptionsmapperprivate java.util.Set<MappingOptions>mappingsprivate java.util.Set<SubclassMappingOptions>subclassMappingsprivate SubclassValidatorsubclassValidatorprivate java.util.List<ValueMappingOptions>valueMappings
-
Constructor Summary
Constructors Constructor Description MappingMethodOptions(MapperOptions mapper, java.util.Set<MappingOptions> mappings, IterableMappingOptions iterableMapping, MapMappingOptions mapMapping, BeanMappingOptions beanMapping, EnumMappingOptions enumMappingOptions, java.util.List<ValueMappingOptions> valueMappings, java.util.Set<SubclassMappingOptions> subclassMappings, SubclassValidator subclassValidator)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidaddAllNonRedefined(java.util.Set<MappingOptions> inheritedMappings)private voidaddAllNonRedefined(SourceMethod sourceMethod, javax.lang.model.element.AnnotationMirror annotationMirror, java.util.List<SubclassMappingOptions> inheritedMappings)voidapplyIgnoreAll(SourceMethod method, TypeFactory typeFactory, FormattingMessager messager)voidapplyInheritedOptions(SourceMethod sourceMethod, SourceMethod templateMethod, boolean isInverse, javax.lang.model.element.AnnotationMirror annotationMirror)Merges in all the mapping options configured, giving the already defined options precedence.private booleanelementsAreContainedIn(java.lang.String redefinedName, java.lang.String inheritedName)static MappingMethodOptionsempty()creates empty mapping optionsprivate voidfilterNestedTargetIgnores(java.util.Set<MappingOptions> mappings)BeanMappingOptionsgetBeanMapping()EnumMappingOptionsgetEnumMappingOptions()private java.lang.StringgetFirstTargetPropertyName(MappingOptions mapping)static MappingMethodOptionsgetForgedMethodInheritedOptions(MappingMethodOptions options)SubclassMappingOptions are not inherited to forged methods.IterableMappingOptionsgetIterableMapping()MapMappingOptionsgetMapMapping()MapperOptionsgetMapper()java.util.Set<MappingOptions>getMappings()private java.lang.String[]getPropertyEntries(MappingOptions mapping)java.util.Set<SubclassMappingOptions>getSubclassMappings()java.util.List<ValueMappingOptions>getValueMappings()booleanisFullyInitialized()private booleanisRedefined(java.util.Set<java.lang.String> redefinedNames, java.lang.String inheritedName)private booleanisToBeIgnored(java.util.Set<java.lang.String> ignored, MappingOptions mapping)voidmarkAsFullyInitialized()voidsetBeanMapping(BeanMappingOptions beanMapping)voidsetEnumMappingOptions(EnumMappingOptions enumMappingOptions)voidsetIterableMapping(IterableMappingOptions iterableMapping)voidsetMapMapping(MapMappingOptions mapMapping)voidsetValueMappings(java.util.List<ValueMappingOptions> valueMappings)
-
-
-
Field Detail
-
EMPTY
private static final MappingMethodOptions EMPTY
-
mapper
private MapperOptions mapper
-
mappings
private java.util.Set<MappingOptions> mappings
-
iterableMapping
private IterableMappingOptions iterableMapping
-
mapMapping
private MapMappingOptions mapMapping
-
beanMapping
private BeanMappingOptions beanMapping
-
enumMappingOptions
private EnumMappingOptions enumMappingOptions
-
valueMappings
private java.util.List<ValueMappingOptions> valueMappings
-
fullyInitialized
private boolean fullyInitialized
-
subclassMappings
private java.util.Set<SubclassMappingOptions> subclassMappings
-
subclassValidator
private SubclassValidator subclassValidator
-
-
Constructor Detail
-
MappingMethodOptions
public MappingMethodOptions(MapperOptions mapper, java.util.Set<MappingOptions> mappings, IterableMappingOptions iterableMapping, MapMappingOptions mapMapping, BeanMappingOptions beanMapping, EnumMappingOptions enumMappingOptions, java.util.List<ValueMappingOptions> valueMappings, java.util.Set<SubclassMappingOptions> subclassMappings, SubclassValidator subclassValidator)
-
-
Method Detail
-
empty
public static MappingMethodOptions empty()
creates empty mapping options- Returns:
- empty mapping options
-
getMappings
public java.util.Set<MappingOptions> getMappings()
- Returns:
- the
MappingOptionss configured for this method, keyed by target property name. Only for enum mapping methods a target will be mapped by several sources.
-
getIterableMapping
public IterableMappingOptions getIterableMapping()
-
getMapMapping
public MapMappingOptions getMapMapping()
-
getBeanMapping
public BeanMappingOptions getBeanMapping()
-
getEnumMappingOptions
public EnumMappingOptions getEnumMappingOptions()
-
getValueMappings
public java.util.List<ValueMappingOptions> getValueMappings()
-
getSubclassMappings
public java.util.Set<SubclassMappingOptions> getSubclassMappings()
-
setIterableMapping
public void setIterableMapping(IterableMappingOptions iterableMapping)
-
setMapMapping
public void setMapMapping(MapMappingOptions mapMapping)
-
setBeanMapping
public void setBeanMapping(BeanMappingOptions beanMapping)
-
setEnumMappingOptions
public void setEnumMappingOptions(EnumMappingOptions enumMappingOptions)
-
setValueMappings
public void setValueMappings(java.util.List<ValueMappingOptions> valueMappings)
-
getMapper
public MapperOptions getMapper()
-
isFullyInitialized
public boolean isFullyInitialized()
- Returns:
- the
true, iff the options have been fully initialized by applying all available inheritance options
-
markAsFullyInitialized
public void markAsFullyInitialized()
-
applyInheritedOptions
public void applyInheritedOptions(SourceMethod sourceMethod, SourceMethod templateMethod, boolean isInverse, javax.lang.model.element.AnnotationMirror annotationMirror)
Merges in all the mapping options configured, giving the already defined options precedence.- Parameters:
sourceMethod- the method which inherits the options.templateMethod- the template method with the options to inherit, may benullisInverse- iftrue, the specified options are from an inverse methodannotationMirror- the annotation on which the compile errors will be shown.
-
addAllNonRedefined
private void addAllNonRedefined(SourceMethod sourceMethod, javax.lang.model.element.AnnotationMirror annotationMirror, java.util.List<SubclassMappingOptions> inheritedMappings)
-
addAllNonRedefined
private void addAllNonRedefined(java.util.Set<MappingOptions> inheritedMappings)
-
isRedefined
private boolean isRedefined(java.util.Set<java.lang.String> redefinedNames, java.lang.String inheritedName)
-
elementsAreContainedIn
private boolean elementsAreContainedIn(java.lang.String redefinedName, java.lang.String inheritedName)
-
applyIgnoreAll
public void applyIgnoreAll(SourceMethod method, TypeFactory typeFactory, FormattingMessager messager)
-
filterNestedTargetIgnores
private void filterNestedTargetIgnores(java.util.Set<MappingOptions> mappings)
-
isToBeIgnored
private boolean isToBeIgnored(java.util.Set<java.lang.String> ignored, MappingOptions mapping)
-
getPropertyEntries
private java.lang.String[] getPropertyEntries(MappingOptions mapping)
-
getFirstTargetPropertyName
private java.lang.String getFirstTargetPropertyName(MappingOptions mapping)
-
getForgedMethodInheritedOptions
public static MappingMethodOptions getForgedMethodInheritedOptions(MappingMethodOptions options)
SubclassMappingOptions are not inherited to forged methods. They would result in an infinite loop if they were.- Returns:
- a MappingMethodOptions without SubclassMappingOptions or SubclassValidator.
-
-