@Override public String getParamDocName(String var) { // 'super' to prevent '@' being prefixed to keywords String name = super.localVarName(Name.from(var)); // Remove "id" suffix if present, as the C# code template always adds an ID suffix. if (name.toLowerCase().endsWith("id")) { return name.substring(0, name.length() - 2); } else { return name; } }
@Override public String getLocalPackageName() { // NodeJS module names can be hyphen separated. return Name.from(getApiWrapperModuleName().split("[^a-zA-Z0-9']+")).toLowerCamel(); }
@Override public String getPathTemplateName( InterfaceConfig interfaceConfig, SingleResourceNameConfig resourceNameConfig) { return inittedConstantName(Name.from(resourceNameConfig.getEntityName(), "name", "template")); }
@Override public String getPathTemplateName( InterfaceConfig interfaceConfig, SingleResourceNameConfig resourceNameConfig) { return inittedConstantName(Name.from(resourceNameConfig.getEntityName(), "template")); }
@Override public String getResourceTypeParseListMethodName( ImportTypeTable typeTable, FieldConfig resourceFieldConfig) { String concreteResourceTypeName = getConcreteResourceTypeName(typeTable, resourceFieldConfig); return concreteResourceTypeName + "." + publicMethodName(Name.from("parse_list")); }
@Override public String getResourceTypeFormatListMethodName( ImportTypeTable typeTable, FieldConfig resourceFieldConfig) { String concreteResourceTypeName = getConcreteResourceTypeName(typeTable, resourceFieldConfig); return concreteResourceTypeName + "." + publicMethodName(Name.from("to_string_list")); }
@Override public String getFormatFunctionName( InterfaceConfig interfaceConfig, SingleResourceNameConfig resourceNameConfig) { return staticFunctionName(Name.from(resourceNameConfig.getEntityName(), "path")); }
/** * The function name to parse a variable from the string representing the entity for the given * collection. */ public String getParseFunctionName(String var, SingleResourceNameConfig resourceNameConfig) { return staticFunctionName( Name.from("parse", var, "from", resourceNameConfig.getEntityName(), "name")); }
@Override public String getResourceTypeParseMethodName( ImportTypeTable typeTable, FieldConfig resourceFieldConfig) { String concreteResourceTypeName = getConcreteResourceTypeName(typeTable, resourceFieldConfig); return concreteResourceTypeName + "." + publicMethodName(Name.from("parse")); }
/** The function name to get a field having the given name. */ public String getFieldGetFunctionName(Name identifier, MapType mapType, Cardinality cardinality) { if (mapType != MapType.IS_MAP && cardinality == Cardinality.IS_REPEATED) { return publicMethodName(Name.from("get").join(identifier).join("list")); } else if (mapType == MapType.IS_MAP) { return publicMethodName(Name.from("get").join(identifier).join("map")); } else { return publicMethodName(Name.from("get").join(identifier)); } }
/** The name of the create method for the resource one-of for the given field config */ public String getResourceOneofCreateMethod(ImportTypeTable typeTable, FieldConfig fieldConfig) { return getAndSaveResourceTypeName(typeTable, fieldConfig.getMessageFieldConfig()) + "." + publicMethodName(Name.from("from")); }
/** The function name to add an element to a map or repeated field. */ public String getFieldAddFunctionName(FieldModel field) { if (field.isMap()) { return publicMethodName(Name.from("put").join(field.getNameAsParameterName())); } else if (field.isRepeated()) { return publicMethodName(Name.from("add").join(field.getNameAsParameterName())); } else { return publicMethodName(Name.from("set").join(field.getNameAsParameterName())); } }
@Override public String getOneofVariantTypeName(OneofConfig oneof) { return String.format( "%s_%s", converter.getTypeName(oneof.parentType(), false).getNickname(), publicFieldName(Name.from(oneof.field().getSimpleName()))); }
@Override public String getMockGrpcServiceImplName(InterfaceModel apiInterface) { return privateClassName( Name.from("mock").join(getReducedServiceName(apiInterface.getSimpleName()).join("server"))); }
public String getInstantiatingChannelProvider(TransportProtocol protocol) { return publicClassName( Name.from("instantiating") .join(getTransportProtocolName(protocol).join("channel").join("provider"))); }
public String getDefaultChannelProviderBuilder(TransportProtocol protocol) { Name protocolName = getTransportProtocolName(protocol); return privateMethodName( Name.from("default").join(protocolName).join("channel").join("provider").join("builder")); }
public String getDefaultTransportProviderBuilder(TransportProtocol protocol) { Name protocolName = getTransportProtocolName(protocol); return privateMethodName( Name.from("default").join(protocolName).join("transport").join("provider").join("builder")); }
@Override public String getApiWrapperClassConstructorExampleName(InterfaceConfig interfaceConfig) { return publicMethodName( Name.from("example") .join("new") .join(clientNamePrefix(interfaceConfig.getInterfaceModel().getSimpleName())) .join("client")); }
@Test public void testSingleWord() { Name name = Name.from("dog"); assertThat(name.toLowerUnderscore()).isEqualTo("dog"); assertThat(name.toUpperUnderscore()).isEqualTo("DOG"); assertThat(name.toLowerCamel()).isEqualTo("dog"); assertThat(name.toUpperCamel()).isEqualTo("Dog"); }
@Test public void testWordAndNumber() { Name name = Name.from("dog", "2"); assertThat(name.toLowerUnderscore()).isEqualTo("dog_2"); assertThat(name.toUpperUnderscore()).isEqualTo("DOG_2"); assertThat(name.toLowerCamel()).isEqualTo("dog2"); assertThat(name.toUpperCamel()).isEqualTo("Dog2"); }