You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by kr...@apache.org on 2013/08/23 17:27:49 UTC
svn commit: r1516882 - in
/maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils:
StringUtils.java xml/XMLEncode.java
Author: krosenvold
Date: Fri Aug 23 15:27:49 2013
New Revision: 1516882
URL: http://svn.apache.org/r1516882
Log:
Minor performance tweaks
Modified:
maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/StringUtils.java
maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/xml/XMLEncode.java
Modified: maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/StringUtils.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/StringUtils.java?rev=1516882&r1=1516881&r2=1516882&view=diff
==============================================================================
--- maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/StringUtils.java (original)
+++ maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/StringUtils.java Fri Aug 23 15:27:49 2013
@@ -772,7 +772,7 @@ public class StringUtils
int start = 0, end;
while ( ( end = text.indexOf( repl, start ) ) != -1 )
{
- buf.append( text.substring( start, end ) ).append( with );
+ buf.append( text, start, end ).append( with );
start = end + repl.length();
if ( --max == 0 )
@@ -780,7 +780,7 @@ public class StringUtils
break;
}
}
- buf.append( text.substring( start ) );
+ buf.append( text, start, text.length());
return buf.toString();
}
@@ -801,7 +801,11 @@ public class StringUtils
{
throw new NullPointerException( "overlay is null" );
}
- return text.substring( 0, start ) + overlay + text.substring( end );
+ return new StringBuilder( start + overlay.length() + text.length() - end + 1 )
+ .append( text, 0, start )
+ .append( overlay )
+ .append( text, end, text.length() )
+ .toString();
}
// Centering
@@ -1438,13 +1442,20 @@ public class StringUtils
{
return null;
}
- else if ( str.length() == 0 )
- {
- return "";
- }
else
{
- return String.valueOf( Character.toLowerCase( str.charAt( 0 ) ) ) + str.substring( 1 );
+ int length = str.length();
+ if ( length == 0 )
+ {
+ return "";
+ }
+ else
+ {
+ return new StringBuffer( length )
+ .append( Character.toLowerCase( str.charAt( 0 ) ) )
+ .append( str, 1, length )
+ .toString();
+ }
}
}
@@ -1463,13 +1474,20 @@ public class StringUtils
{
return null;
}
- else if ( str.length() == 0 )
- {
- return "";
- }
else
{
- return String.valueOf( Character.toTitleCase( str.charAt( 0 ) ) ) + str.substring( 1 );
+ int length = str.length();
+ if ( length == 0 )
+ {
+ return "";
+ }
+ else
+ {
+ return new StringBuilder( length )
+ .append( Character.toTitleCase( str.charAt( 0 ) ) )
+ .append( str, 1, length )
+ .toString();
+ }
}
}
@@ -2143,11 +2161,16 @@ public class StringUtils
*/
public @Nonnull static String capitalizeFirstLetter( @Nonnull String data )
{
- char firstLetter = Character.toTitleCase( data.substring( 0, 1 ).charAt( 0 ) );
-
- String restLetters = data.substring( 1 );
-
- return firstLetter + restLetters;
+ char firstChar = data.charAt( 0 );
+ char titleCase = Character.toTitleCase( firstChar );
+ if (firstChar == titleCase)
+ {
+ return data;
+ }
+ StringBuilder result = new StringBuilder( data.length() );
+ result.append( titleCase );
+ result.append( data, 1, data.length() );
+ return result.toString();
}
/**
Modified: maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/xml/XMLEncode.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/xml/XMLEncode.java?rev=1516882&r1=1516881&r2=1516882&view=diff
==============================================================================
--- maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/xml/XMLEncode.java (original)
+++ maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/xml/XMLEncode.java Fri Aug 23 15:27:49 2013
@@ -125,8 +125,14 @@ final class XMLEncode
return null;
}
char c;
- StringBuilder n = new StringBuilder( text.length() * 2 );
- for ( int i = 0; i < text.length(); i++ )
+ int length = text.length();
+ StringBuilder n = new StringBuilder( length * 2 );
+ if ( forAttribute )
+ {
+ n.append( quoteChar );
+ }
+
+ for ( int i = 0; i < length; i++ )
{
c = text.charAt( i );
switch ( c )
@@ -163,7 +169,7 @@ final class XMLEncode
case '\r':
if ( forAttribute )
{
- if ( i == ( text.length() - 1 ) || text.charAt( i + 1 ) != '\n' )
+ if ( i == ( length - 1 ) || text.charAt( i + 1 ) != '\n' )
{
n.append( " " );
}
@@ -194,7 +200,6 @@ final class XMLEncode
if ( forAttribute )
{
n.append( quoteChar );
- n.insert( 0, quoteChar );
}
return n.toString();