/** * Returns a {@link ClassIntrospectorBuilder}-s that could be used to create an identical {@link #ClassIntrospector} * . The returned {@link ClassIntrospectorBuilder} can be modified without interfering with anything. */ ClassIntrospectorBuilder createBuilder() { return new ClassIntrospectorBuilder(this); }
/** * @param incompatibleImprovements * See the corresponding parameter of {@link BeansWrapper#BeansWrapper(Version)}. Not {@code null}. Note * that the version will be normalized to the lowest version where the same incompatible * {@link BeansWrapper} improvements were already present, so for the returned instance * {@link #getIncompatibleImprovements()} might returns a lower version than what you have specified * here. * @param isIncompImprsAlreadyNormalized * Tells if the {@code incompatibleImprovements} parameter contains an <em>already normalized</em> value. * This parameter meant to be {@code true} when the class that extends {@link BeansWrapper} needs to add * additional breaking versions over those of {@link BeansWrapper}. Thus, if this parameter is * {@code true}, the versions where {@link BeansWrapper} had breaking changes must be already factored * into the {@code incompatibleImprovements} parameter value, as no more normalization will happen. (You * can use {@link BeansWrapper#normalizeIncompatibleImprovementsVersion(Version)} to discover those.) * * @since 2.3.22 */ protected BeansWrapperConfiguration(Version incompatibleImprovements, boolean isIncompImprsAlreadyNormalized) { _TemplateAPI.checkVersionNotNullAndSupported(incompatibleImprovements); incompatibleImprovements = isIncompImprsAlreadyNormalized ? incompatibleImprovements : BeansWrapper.normalizeIncompatibleImprovementsVersion(incompatibleImprovements); this.incompatibleImprovements = incompatibleImprovements; preferIndexedReadMethod = incompatibleImprovements.intValue() < _TemplateAPI.VERSION_INT_2_3_27; classIntrospectorBuilder = new ClassIntrospectorBuilder(incompatibleImprovements); }
/** * Returns a {@link ClassIntrospectorBuilder}-s that could be used to create an identical {@link #ClassIntrospector} * . The returned {@link ClassIntrospectorBuilder} can be modified without interfering with anything. */ ClassIntrospectorBuilder createBuilder() { return new ClassIntrospectorBuilder(this); }
/** * Returns a {@link ClassIntrospectorBuilder}-s that could be used to create an identical {@link #ClassIntrospector} * . The returned {@link ClassIntrospectorBuilder} can be modified without interfering with anything. */ ClassIntrospectorBuilder createBuilder() { return new ClassIntrospectorBuilder(this); }
/** * @param incompatibleImprovements * See the corresponding parameter of {@link BeansWrapper#BeansWrapper(Version)}. Not {@code null}. Note * that the version will be normalized to the lowest version where the same incompatible * {@link BeansWrapper} improvements were already present, so for the returned instance * {@link #getIncompatibleImprovements()} might returns a lower version than what you have specified * here. * @param isIncompImprsAlreadyNormalized * Tells if the {@code incompatibleImprovements} parameter contains an <em>already normalized</em> value. * This parameter meant to be {@code true} when the class that extends {@link BeansWrapper} needs to add * additional breaking versions over those of {@link BeansWrapper}. Thus, if this parameter is * {@code true}, the versions where {@link BeansWrapper} had breaking changes must be already factored * into the {@code incompatibleImprovements} parameter value, as no more normalization will happen. (You * can use {@link BeansWrapper#normalizeIncompatibleImprovementsVersion(Version)} to discover those.) * * @since 2.3.22 */ protected BeansWrapperConfiguration(Version incompatibleImprovements, boolean isIncompImprsAlreadyNormalized) { _TemplateAPI.checkVersionNotNullAndSupported(incompatibleImprovements); incompatibleImprovements = isIncompImprsAlreadyNormalized ? incompatibleImprovements : BeansWrapper.normalizeIncompatibleImprovementsVersion(incompatibleImprovements); this.incompatibleImprovements = incompatibleImprovements; preferIndexedReadMethod = incompatibleImprovements.intValue() < _TemplateAPI.VERSION_INT_2_3_27; classIntrospectorBuilder = new ClassIntrospectorBuilder(incompatibleImprovements); }
/** * @param incompatibleImprovements * See the corresponding parameter of {@link BeansWrapper#BeansWrapper(Version)}. Not {@code null}. Note * that the version will be normalized to the lowest version where the same incompatible * {@link BeansWrapper} improvements were already present, so for the returned instance * {@link #getIncompatibleImprovements()} might returns a lower version than what you have specified * here. * @param isIncompImprsAlreadyNormalized * Tells if the {@code incompatibleImprovements} parameter contains an <em>already normalized</em> value. * This parameter meant to be {@code true} when the class that extends {@link BeansWrapper} needs to add * additional breaking versions over those of {@link BeansWrapper}. Thus, if this parameter is * {@code true}, the versions where {@link BeansWrapper} had breaking changes must be already factored * into the {@code incompatibleImprovements} parameter value, as no more normalization will happen. (You * can use {@link BeansWrapper#normalizeIncompatibleImprovementsVersion(Version)} to discover those.) * * @since 2.3.22 */ protected BeansWrapperConfiguration(Version incompatibleImprovements, boolean isIncompImprsAlreadyNormalized) { _TemplateAPI.checkVersionNotNullAndSupported(incompatibleImprovements); incompatibleImprovements = isIncompImprsAlreadyNormalized ? incompatibleImprovements : BeansWrapper.normalizeIncompatibleImprovementsVersion(incompatibleImprovements); this.incompatibleImprovements = incompatibleImprovements; preferIndexedReadMethod = incompatibleImprovements.intValue() < _TemplateAPI.VERSION_INT_2_3_27; classIntrospectorBuilder = new ClassIntrospectorBuilder(incompatibleImprovements); }