1*8a52c783SCole Faust<!-- 2*8a52c783SCole Faust ~ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3*8a52c783SCole Faust ~ 4*8a52c783SCole Faust ~ Licensed under the Apache License, Version 2.0 (the "License"). 5*8a52c783SCole Faust ~ You may not use this file except in compliance with the License. 6*8a52c783SCole Faust ~ A copy of the License is located at 7*8a52c783SCole Faust ~ 8*8a52c783SCole Faust ~ http://aws.amazon.com/apache2.0 9*8a52c783SCole Faust ~ 10*8a52c783SCole Faust ~ or in the "license" file accompanying this file. This file is distributed 11*8a52c783SCole Faust ~ on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 12*8a52c783SCole Faust ~ express or implied. See the License for the specific language governing 13*8a52c783SCole Faust ~ permissions and limitations under the License. 14*8a52c783SCole Faust --> 15*8a52c783SCole Faust 16*8a52c783SCole Faust<MessageCollection> 17*8a52c783SCole Faust <Detector class="software.amazon.awssdk.buildtools.findbugs.DisallowMethodCall" > 18*8a52c783SCole Faust <Details>This detector checks for method calls that are not allowed for use.</Details> 19*8a52c783SCole Faust </Detector> 20*8a52c783SCole Faust <Detector class="software.amazon.awssdk.buildtools.findbugs.ToBuilderIsCorrect" > 21*8a52c783SCole Faust <Details>This detector checks for correct CopyableBuilder definition.</Details> 22*8a52c783SCole Faust </Detector> 23*8a52c783SCole Faust 24*8a52c783SCole Faust <BugPattern type="SDK_BAD_METHOD_CALL"> 25*8a52c783SCole Faust <ShortDescription>Bad method call</ShortDescription> 26*8a52c783SCole Faust 27*8a52c783SCole Faust <LongDescription> 28*8a52c783SCole Faust <![CDATA[ 29*8a52c783SCole Faust {1} uses a method that is prohibited. 30*8a52c783SCole Faust The headers() and rawQueryParameters() methods create a deep copy of the data, which can result in 31*8a52c783SCole Faust significant memory pressure. Instead of retrieving a copy of the headers to look at it, use methods like 32*8a52c783SCole Faust hasHeaders(), firstMatchingHeader(...) or forEachHeader(..) which may be optimized in the type to avoid 33*8a52c783SCole Faust copying the data. 34*8a52c783SCole Faust ]]> 35*8a52c783SCole Faust </LongDescription> 36*8a52c783SCole Faust 37*8a52c783SCole Faust <Details> 38*8a52c783SCole Faust <![CDATA[ 39*8a52c783SCole Faust The headers() and rawQueryParameters() methods create a deep copy of the data, which can result in 40*8a52c783SCole Faust significant memory pressure. Instead of retrieving a copy of the headers to look at it, use methods like 41*8a52c783SCole Faust hasHeaders(), firstMatchingHeader(...) or forEachHeader(..) which may be optimized in the type to avoid 42*8a52c783SCole Faust copying the data. 43*8a52c783SCole Faust ]]> 44*8a52c783SCole Faust </Details> 45*8a52c783SCole Faust </BugPattern> 46*8a52c783SCole Faust <BugCode abbrev="BM">Bad method call</BugCode> 47*8a52c783SCole Faust 48*8a52c783SCole Faust <BugPattern type="BAD_TO_BUILDER"> 49*8a52c783SCole Faust <ShortDescription>Bad toBuilder implementation</ShortDescription> 50*8a52c783SCole Faust <LongDescription>Bad toBuilder implementation. See the SpotBugs logs for problem details.</LongDescription> 51*8a52c783SCole Faust <Details>Bad toBuilder implementation. See the SpotBugs logs for problem details.</Details> 52*8a52c783SCole Faust </BugPattern> 53*8a52c783SCole Faust <BugCode abbrev="BTB">Bad toBuilder implementation</BugCode> 54*8a52c783SCole Faust</MessageCollection> 55