@@ -134,6 +134,10 @@ public ClassWriter emitProperty(TypeClass.Property property) throws IOException
134134 if (property .meta .doc != null ) {
135135 emitJavadoc (property .meta .doc .replace ("\n " , "<br />\n " ));
136136 }
137+
138+ if (property .meta .deprecated ) {
139+ emitAnnotation ("Deprecated" );
140+ }
137141
138142 Map <String , Object > params = new HashMap <>(2 );
139143 if (!property .name .equals (property .meta .name )) {
@@ -267,6 +271,10 @@ public ClassWriter emitServiceMethod(TypeClass.Method method, boolean async) thr
267271 javadoc += "@see <a href=\" " + SLDN_URL_BASE_PATH + "services/" + type .meta .name +
268272 "/" + method .meta .name + "\" >" + type .meta .name + "::" + method .meta .name + "</a>" ;
269273 emitJavadoc (javadoc );
274+
275+ if (method .meta .deprecated ) {
276+ emitAnnotation ("Deprecated" );
277+ }
270278
271279 Map <String , Object > params = new HashMap <>(2 );
272280 if (!method .name .equals (method .meta .name )) {
@@ -279,6 +287,10 @@ public ClassWriter emitServiceMethod(TypeClass.Method method, boolean async) thr
279287 } else {
280288 // Otherwise, just a javadoc link
281289 emitJavadoc ("Async version of {@link Service#" + method .name + "}" );
290+
291+ if (method .meta .deprecated ) {
292+ emitAnnotation ("Deprecated" );
293+ }
282294 }
283295
284296 String [] parameters = new String [method .parameters .size () * 2 ];
@@ -296,6 +308,9 @@ public ClassWriter emitServiceMethod(TypeClass.Method method, boolean async) thr
296308
297309 // Async has an extra callback method
298310 if (async ) {
311+ if (method .meta .deprecated ) {
312+ emitAnnotation ("Deprecated" );
313+ }
299314 parameters = Arrays .copyOf (parameters , parameters .length + 2 );
300315 parameters [parameters .length - 2 ] = TYPE_RESPONSE_HANDLER + '<' + method .javaType + '>' ;
301316 parameters [parameters .length - 1 ] = "callback" ;
@@ -324,6 +339,10 @@ public ClassWriter emitServiceMethod(TypeClass.Property property, boolean async)
324339 javadoc += "@see <a href=\" " + SLDN_URL_BASE_PATH + "services/" + type .meta .name +
325340 "/" + name + "\" >" + type .meta .name + "::" + name + "</a>" ;
326341 emitJavadoc (javadoc );
342+
343+ if (property .meta .deprecated ) {
344+ emitAnnotation ("Deprecated" );
345+ }
327346
328347 // Instance is only required if it's not an account property
329348 if ("SoftLayer_Account" .equals (type .meta .name )) {
@@ -334,6 +353,10 @@ public ClassWriter emitServiceMethod(TypeClass.Property property, boolean async)
334353 } else {
335354 // Otherwise, just a javadoc link
336355 emitJavadoc ("Async version of {@link Service#" + name + "}" );
356+
357+ if (property .meta .deprecated ) {
358+ emitAnnotation ("Deprecated" );
359+ }
337360 }
338361
339362 String returnType = property .javaType ;
@@ -355,17 +378,12 @@ public ClassWriter emitType() throws IOException {
355378 emitPackage (type .packageName );
356379
357380 emitTypeImports ();
358-
359- // Javadoc
360- String javadoc = type .meta .typeDoc != null ? type .meta .typeDoc : type .meta .serviceDoc ;
361- if (javadoc == null ) {
362- javadoc = "" ;
363- } else {
364- javadoc = javadoc .replace ("\n " , "<br />\n " ) + "\n \n " ;
381+
382+ emitJavadoc (getTypeJavadoc ());
383+
384+ if (type .meta .deprecated ) {
385+ emitAnnotation ("Deprecated" );
365386 }
366- javadoc += "@see <a href=\" " + SLDN_URL_BASE_PATH + "datatypes/" +
367- type .meta .name + "\" >" + type .meta .name + "</a>" ;
368- emitJavadoc (javadoc );
369387
370388 // Each type has a type attribute
371389 emitAnnotation ("ApiType" , stringLiteral (type .meta .name ));
@@ -432,6 +450,18 @@ public ClassWriter emitType() throws IOException {
432450 emitMask ().endType ();
433451 return this ;
434452 }
453+
454+ protected String getTypeJavadoc () {
455+ String javadoc = type .meta .typeDoc != null ? type .meta .typeDoc : type .meta .serviceDoc ;
456+ if (javadoc == null ) {
457+ javadoc = "" ;
458+ } else {
459+ javadoc = javadoc .replace ("\n " , "<br />\n " ) + "\n \n " ;
460+ }
461+ javadoc += "@see <a href=\" " + SLDN_URL_BASE_PATH + "datatypes/" +
462+ type .meta .name + "\" >" + type .meta .name + "</a>" ;
463+ return javadoc ;
464+ }
435465
436466 public ClassWriter emitTypeImports () throws IOException {
437467 Map <String , String > imports = new HashMap <>(type .imports );
0 commit comments