/**
* File Created at 2011-12-05
* $Id$
*
* Copyright 2008 Alibaba.com Croporation Limited.
* All rights reserved.
*
* This software is the confidential and proprietary information of
* Alibaba Company. ("Confidential Information"). You shall not
* disclose such Confidential Information and shall use it only in
* accordance with the terms of the license agreement you entered into
* with Alibaba.com.
*/
package com.alibaba.dubbo.rpc.protocol.thrift;
/**
* @author <a href="mailto:gang.lvg@alibaba-inc.com">gang.lvg</a>
*/
public class ThriftUtils {
/**
* Generate class name which represents service arguments.
*
* @param serviceName service name
* @param methodName method name
* @return method args class name or null
*/
public static String generateMethodArgsClassName( String serviceName, String methodName ) {
int index = serviceName.lastIndexOf( "." );
if ( index > 0 ) {
return new StringBuilder( 32 )
.append( serviceName.substring( 0, index + 1 ) )
.append( "$__" )
.append( serviceName.substring( index + 1 ) )
.append( "Stub$" )
.append( methodName )
.append( "_args" )
.toString();
} else {
return new StringBuffer( 32 )
.append( "$__" )
.append( serviceName )
.append( "Stub$" )
.append( methodName )
.append( "_args" )
.toString();
}
}
public static String generateMethodResultClassName( String serviceName, String method ) {
int index = serviceName.lastIndexOf( "." );
if ( index > 0 ) {
return new StringBuilder( 32 )
.append( serviceName.substring( 0, index + 1 ) )
.append( "$__" )
.append( serviceName.substring( index + 1 ) )
.append( "Stub$" )
.append( method )
.append( "_result" )
.toString();
} else {
return new StringBuilder( 32 )
.append( "$__" )
.append( serviceName )
.append( "Stub$" )
.append( method )
.append( "_result" )
.toString();
}
}
public static String generateSetMethodName( String fieldName ) {
return new StringBuilder( 16 )
.append( "set" )
.append( Character.toUpperCase( fieldName.charAt( 0 ) ) )
.append( fieldName.substring( 1 ) )
.toString();
}
public static String generateGetMethodName( String fieldName ) {
return new StringBuffer( 16 )
.append( "get" )
.append( Character.toUpperCase( fieldName.charAt( 0 ) ) )
.append( fieldName.substring( 1 ) )
.toString();
}
public static String generateMethodArgsClassNameThrift( String serviceName, String methodName ) {
int index = serviceName.indexOf( "$" );
if ( index > 0 ) {
return new StringBuilder( 32 )
.append( serviceName.substring( 0, index + 1 ) )
.append( methodName )
.append( "_args" )
.toString();
}
return null;
}
public static String generateMethodResultClassNameThrift( String serviceName, String methodName ) {
int index = serviceName.indexOf( "$" );
if ( index > 0 ) {
return new StringBuilder( 32 )
.append( serviceName.substring( 0, index + 1 ) )
.append( methodName )
.append( "_result" )
.toString();
}
return null;
}
}