44<#@ output extension="\\" #>
55<#host.TemplateName = IBaseTypeRequestBuilder(c);#>
66<#=writer.WriteHeader()#>
7- <#=CreatePackageDef(host)#>
7+ <#=CreatePackageDefForIBaseEntityRequestBuilder(host)#>
8+ import com.microsoft.graph.http.IRequestBuilder;
9+ import com.microsoft.graph.options.Option;
810
911<#=CreateInterfaceDef(IBaseTypeRequestBuilder(c), "IRequestBuilder")#>
1012 /**
@@ -104,3 +106,95 @@ if (c.AsOdcmClass() != null)
104106#>
105107
106108}
109+ <#+
110+ public string CreatePackageDefForIBaseEntityRequestBuilder(CustomT4Host host)
111+ {
112+ var sb = new StringBuilder();
113+ sb.Append(CreatePackageDefinition(host));
114+ var importFormat = @"import {0}.{1}.{2};";
115+ sb.AppendFormat(importFormat,
116+ host.CurrentModel.NamespaceName(),
117+ "requests.extensions",
118+ ITypeRequest(host.CurrentType));
119+ sb.Append("\n");
120+ var c = host.CurrentType;
121+ if (c.AsOdcmClass() != null)
122+ {
123+ foreach(var prop in c.AsOdcmClass().NavigationProperties())
124+ {
125+ if (prop.IsCollection()) {
126+
127+ sb.AppendFormat(importFormat,
128+ host.CurrentModel.NamespaceName(),
129+ "requests.extensions",
130+ ITypeCollectionRequestBuilder(prop));
131+ sb.Append("\n");
132+
133+ sb.AppendFormat(importFormat,
134+ host.CurrentModel.NamespaceName(),
135+ "requests.extensions",
136+ ITypeRequestBuilder(prop));
137+ sb.Append("\n");
138+ } else {
139+ sb.AppendFormat(importFormat,
140+ host.CurrentModel.NamespaceName(),
141+ "requests.extensions",
142+ ITypeRequestBuilder(prop));
143+ sb.Append("\n");
144+ }
145+ }
146+
147+ foreach (var prop in c.AsOdcmClass().GetProperties(typeName:"Stream"))
148+ {
149+ var propRequestBuilder = TypeRequestBuilder(prop);
150+ sb.AppendFormat(importFormat,
151+ host.CurrentModel.NamespaceName(),
152+ "requests.extensions",
153+ "I" + propRequestBuilder);
154+ sb.Append("\n");
155+ }
156+
157+ if (c is OdcmMediaClass)
158+ {
159+ sb.AppendFormat(importFormat,
160+ host.CurrentModel.NamespaceName(),
161+ "requests.extensions",
162+ ITypeStreamRequestBuilder(host.CurrentType));
163+ sb.Append("\n");
164+ }
165+
166+ foreach (var method in c.AsOdcmClass().MethodsAndOverloads()) {
167+ if (method.IsBoundToCollection) {
168+ continue;
169+ }
170+
171+ foreach (var p in method.Parameters)
172+ {
173+ if(!(p.Type is OdcmPrimitiveType) && p.Type.GetTypeString() != "com.google.gson.JsonElement") {
174+ sb.AppendFormat(importFormat,
175+ host.CurrentModel.NamespaceName(),
176+ getPackagePrefix(p),
177+ p.Type.GetTypeString());
178+ sb.Append("\n");
179+ }
180+ }
181+
182+ if (method.IsCollection) {
183+ sb.AppendFormat(importFormat,
184+ host.CurrentModel.NamespaceName(),
185+ "requests.extensions",
186+ ITypeCollectionRequestBuilder(method));
187+ sb.Append("\n");
188+ } else {
189+ sb.AppendFormat(importFormat,
190+ host.CurrentModel.NamespaceName(),
191+ "requests.extensions",
192+ ITypeRequestBuilder(method));
193+ sb.Append("\n");
194+ }
195+ }
196+ }
197+ return sb.ToString();
198+ }
199+
200+ #>
0 commit comments