@Override public String getMetadataName() { return getNotImplementedString("NodeJSPackageMetadataNamer.getMetadataName"); }
@Override public SurfaceNamer cloneWithPackageName(String packageName) { return new NodeJSSurfaceNamer(packageName, isGcloud); }
@Override public TypedValue getImplZeroValue(TypeRef type) { return getSnippetZeroValue(type); }
private GapicInterfaceContext createContext( InterfaceModel apiInterface, GapicProductConfig productConfig) { return GapicInterfaceContext.create( apiInterface, productConfig, new ModelTypeTable( new JSTypeTable(productConfig.getPackageName()), new NodeJSModelTypeNameConverter(productConfig.getPackageName())), new NodeJSSurfaceNamer(productConfig.getPackageName(), NodeJSUtils.isGcloud(productConfig)), new NodeJSFeatureConfig()); } }
@Override public List<ViewModel> transform(ProtoApiModel model, GapicProductConfig productConfig) { List<ViewModel> models = new ArrayList<ViewModel>(); NodeJSPackageMetadataNamer namer = new NodeJSPackageMetadataNamer( productConfig.getPackageName(), productConfig.getDomainLayerLocation()); models.addAll(generateMetadataViews(model, productConfig, namer)); models.add(generateReadmeView(model, productConfig, namer)); return models; }
@Override public List<ViewModel> transform(ProtoApiModel model, GapicProductConfig productConfig) { List<ViewModel> models = new ArrayList<ViewModel>(); NodeJSSurfaceNamer namer = new NodeJSSurfaceNamer(productConfig.getPackageName(), NodeJSUtils.isGcloud(productConfig)); models.add(generateTestView(model, productConfig, namer)); models.addAll(createSmokeTestViews(model, productConfig)); return models; }
private OptionalArrayMethodView createExampleApiMethodView( GapicMethodContext context, boolean packageHasMultipleServices) { OptionalArrayMethodView apiMethodView = new NodeJSMethodViewGenerator( new DynamicLangApiMethodTransformer( new NodeJSApiMethodParamTransformer(), new InitCodeTransformer(), SampleType.IN_CODE)) .generateOneApiMethod( context, testCaseTransformer.createSmokeTestInitContext(context), packageHasMultipleServices); return apiMethodView; }
private List<ViewModel> generateApiClasses( Collection<? extends InterfaceModel> apiInterfaces, GapicProductConfig productConfig, boolean hasMultipleServices) { ImmutableList.Builder<ViewModel> models = ImmutableList.builder(); for (InterfaceModel apiInterface : apiInterfaces) { GapicInterfaceContext context = createContext(apiInterface, productConfig); models.add(generateApiClass(context, hasMultipleServices)); } return models.build(); }
@Override public List<ViewModel> transform(ProtoApiModel model, GapicProductConfig productConfig) { ImmutableList.Builder<ViewModel> models = ImmutableList.builder(); models.addAll(generateSampleClassesForModel(model, productConfig)); return models.build(); }
@Override public String getFullyQualifiedStubType(InterfaceModel apiInterface) { return getModelTypeFormatter().getFullNameFor(apiInterface); }
@Override public String getStreamTypeName(GrpcStreamingType type) { switch (type) { case BidiStreaming: return "gax.StreamType.BIDI_STREAMING"; case ClientStreaming: return "gax.StreamType.CLIENT_STREAMING"; case ServerStreaming: return "gax.StreamType.SERVER_STREAMING"; default: return getNotImplementedString( "SurfaceNamer.getStreamTypeName(GrpcStreamingType." + type.toString() + ")"); } }
@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 publicFieldName(Name.from(resourceNameConfig.getEntityName(), "path", "template")); }
@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); } }
@Override public String getFormatFunctionName( InterfaceConfig interfaceConfig, SingleResourceNameConfig resourceNameConfig) { return staticFunctionName(Name.from(resourceNameConfig.getEntityName(), "path")); }
@Override public String getFieldSetFunctionName(TypeModel type, Name identifier) { if (type.isMap() || type.isRepeated()) { return publicMethodName(Name.from("add").join(identifier)); } else { return publicMethodName(Name.from("set").join(identifier)); } }
@Override public ImportSectionView generateImportSection(TransformationContext context, String className) { ImportSectionView.Builder importSection = ImportSectionView.newBuilder(); importSection.externalImports(generateExternalImports((GapicInterfaceContext) context)); return importSection.build(); }
private GapicInterfaceContext createContext( InterfaceModel apiInterface, GapicProductConfig productConfig) { return GapicInterfaceContext.create( apiInterface, productConfig, new ModelTypeTable( new JSTypeTable(productConfig.getPackageName()), new NodeJSModelTypeNameConverter(productConfig.getPackageName())), new NodeJSSurfaceNamer(productConfig.getPackageName(), NodeJSUtils.isGcloud(productConfig)), new NodeJSFeatureConfig()); } }
private GapicInterfaceContext createContext( InterfaceModel apiInterface, GapicProductConfig productConfig) { return GapicInterfaceContext.create( apiInterface, productConfig, new ModelTypeTable( new JSTypeTable(productConfig.getPackageName()), new NodeJSModelTypeNameConverter(productConfig.getPackageName())), new NodeJSSurfaceNamer(productConfig.getPackageName(), NodeJSUtils.isGcloud(productConfig)), new NodeJSFeatureConfig()); } }
private GapicInterfaceContext createContext( InterfaceModel apiInterface, GapicProductConfig productConfig) { return GapicInterfaceContext.create( apiInterface, productConfig, new ModelTypeTable( new JSTypeTable(productConfig.getPackageName()), new NodeJSModelTypeNameConverter(productConfig.getPackageName())), new NodeJSSurfaceNamer(productConfig.getPackageName(), NodeJSUtils.isGcloud(productConfig)), new NodeJSFeatureConfig()); } }