@Override public TypeName getTypeNameInImplicitPackage(String shortName) { String fullName = implicitPackageName + "." + shortName; return new TypeName(fullName, shortName); }
@Override public TypeName getTypeNameInImplicitPackage(String shortName) { return new TypeName(implicitPackageName + "." + shortName, shortName); }
@Override public TypeName getTypeNameInImplicitPackage(String shortName) { String fullName = implicitPackageName + "." + shortName; return new TypeName(fullName, shortName); }
@Override public TypeName getTypeNameInImplicitPackage(String shortName) { String fullName = implicitPackageName + getSeparator() + shortName; return new TypeName(fullName, shortName); }
/** * Creates a type alias for an inner type with the given fullName and referenced by nickname, with * an import of outerTypeName. */ public static TypeName createOuterTypeName( String fullName, String nickname, String outerTypeName) { TypeAlias typeAlias = TypeAlias.createOuterImport(fullName, nickname, outerTypeName); return new TypeName(typeAlias); }
@Override public String getAndSaveNicknameForInnerType( String containerFullName, String innerTypeShortName) { int lastDotIndex = innerTypeShortName.lastIndexOf('.'); if (lastDotIndex != -1) { throw new IllegalArgumentException("Cannot have qualified innerTypeShortName."); } String fullName = containerFullName + "." + innerTypeShortName; return getAndSaveNicknameFor(new TypeName(fullName, innerTypeShortName, containerFullName)); }
@Override public TypeName getTypeName(InterfaceModel interfaceModel) { return new TypeName(interfaceModel.getFullName()); }
@Override public TypeName getTypeName(String fullName) { int lastSeparatorIndex = fullName.lastIndexOf(getSeparator()); if (lastSeparatorIndex < 0) { throw new IllegalArgumentException("expected fully qualified name"); } String nickname = fullName.substring(lastSeparatorIndex + getSeparator().length()); return new TypeName(fullName, nickname); }
@Override public TypeName getTypeName(ProtoElement elem) { String packageName = getProtoElementPackage(elem); String shortName = getShortName(elem); String longName = packageName + "." + shortName; return new TypeName(longName, shortName); }
@Override public TypeName getTypeName(TypeRef type) { if (type.isMap()) { return new TypeName("array"); } else if (type.isRepeated()) { TypeName elementTypeName = getTypeNameForElementType(type); return new TypeName("", "", "%i[]", elementTypeName); } else { return getTypeNameForElementType(type); } }
@Override public TypeName getTypeName(TypeRef type) { if (type.isMap()) { return new TypeName("Object"); } else if (type.isRepeated()) { TypeName elementTypeName = getTypeNameForElementType(type); return new TypeName("", "", "%i[]", elementTypeName); } else { return getTypeNameForElementType(type); } }
private TypeName getTypeNameForTypedResourceName(FieldModel type, String typedResourceShortName) { String packageName = implicitPackageName; String longName = packageName + "." + typedResourceShortName; TypeName simpleTypeName = new TypeName(longName, typedResourceShortName); if (type.isMap()) { throw new IllegalArgumentException("Map type not supported for typed resource name"); } else if (type.isRepeated()) { TypeName listTypeName = typeNameConverter.getTypeName("java.util.List"); return new TypeName( listTypeName.getFullName(), listTypeName.getNickname(), "%s<%i>", simpleTypeName); } else { return simpleTypeName; } }
private TypeName getTypeNameForTypedResourceName( ResourceNameConfig resourceNameConfig, TypeRef type, String typedResourceShortName) { String longName = getResourceNamePackage(resourceNameConfig) + "." + typedResourceShortName; TypeName simpleTypeName = new TypeName(longName, typedResourceShortName); if (type.isMap()) { throw new IllegalArgumentException("Map type not supported for typed resource name"); } else if (type.isRepeated()) { TypeName listTypeName = typeNameConverter.getTypeName("java.util.List"); return new TypeName( listTypeName.getFullName(), listTypeName.getNickname(), "%s<%i>", simpleTypeName); } else { return simpleTypeName; } }
public static TypeName getGrpcTypeName(ProtoElement elem) { String packageName = getJavaPackage(elem.getFile()); String shortName = getShortName(elem); String longName = packageName + "." + shortName; return new TypeName(longName, shortName); }
@Override public TypeName getTypeName(TypeRef type) { if (type.isMap()) { TypeName keyTypeName = getTypeNameForElementType(type.getMapKeyField().getType()); TypeName valueTypeName = getTypeNameForElementType(type.getMapValueField().getType()); return new TypeName("", "", "map[%i]%i", keyTypeName, valueTypeName); } else if (type.isRepeated()) { TypeName elementTypeName = getTypeNameForElementType(type); return new TypeName("", "", "[]%i", elementTypeName); } else { return getTypeNameForElementType(type); } }
@Test public void testSimple() { TypeName typeName = new TypeName("com.google.Foo", "Foo"); assertThat(typeName.getFullName()).isEqualTo("com.google.Foo"); assertThat(typeName.getNickname()).isEqualTo("Foo"); MockTypeTable typeTable = new MockTypeTable(); assertThat(typeName.getAndSaveNicknameIn(typeTable)).isEqualTo("Foo"); List<TypeAlias> expectedImports = Arrays.asList(TypeAlias.create("com.google.Foo", "Foo")); assertThat(typeTable.imports).isEqualTo(expectedImports); }