diff --git a/modules/swagger-codegen/src/main/resources/flash/ApiInvoker.as b/modules/swagger-codegen/src/main/resources/flash/ApiInvoker.as
new file mode 100644
index 000000000000..98d94052ec43
--- /dev/null
+++ b/modules/swagger-codegen/src/main/resources/flash/ApiInvoker.as
@@ -0,0 +1,255 @@
+package io.swagger.common {
+import io.swagger.event.ApiClientEvent;
+import io.swagger.event.Response;
+
+public class ApiInvoker extends EventDispatcher {
+
+ private static const DELETE_DATA_DUMMY:String = "dummyDataRequiredForDeleteOverride";
+ private static const X_HTTP_OVERRIDE_KEY:String = "X-HTTP-Method-Override";
+ private static const CONTENT_TYPE_HEADER_KEY:String = "Content-Type";
+
+ public function ApiInvoker(apiUsageCredentials:ApiUserCredentials, eventNotifier:EventDispatcher, useProxy:Boolean = true) {
+ _apiUsageCredentials = apiUsageCredentials;
+ _useProxyServer = useProxy;
+ if (_apiUsageCredentials.hostName != null) {
+ _proxyHostName = _apiUsageCredentials.hostName;
+ }
+ _apiPath = _apiUsageCredentials.apiPath;
+ _proxyPath = _apiUsageCredentials.proxyPath;
+ _apiProxyServerUrl = _apiUsageCredentials.apiProxyServerUrl;
+ _apiEventNotifier = eventNotifier;
+ }
+ public var _apiEventNotifier:EventDispatcher;
+ internal var _apiProxyServerUrl:String = "";
+ internal var _useProxyServer:Boolean = true;
+ private var _apiUsageCredentials:ApiUserCredentials;
+ private var _baseUrl:String = "";
+ private var _proxyHostName:String = "";
+ private var _apiPath:String = "";
+ private var _proxyPath:String = "";
+
+ public function invokeAPI(resourceURL:String, method:String, queryParams:Dictionary, postObject:Object, headerParams:Dictionary):AsyncToken {
+ //make the communication
+ if (_useProxyServer) {
+ resourceURL = _apiProxyServerUrl + resourceURL;
+ }
+ else {
+ resourceURL = "http://" + _proxyHostName + _apiPath + resourceURL;
+ }
+
+ var counter:int = 0;
+ var symbol:String = "&";
+ var paramValue:Object;
+ for (var paramName:String in queryParams) {
+ paramValue = queryParams[paramName];
+ //var key:String = paramName;
+ // do stuff
+ symbol = "&";
+ if (counter == 0) {
+ symbol = "?";
+ }
+ resourceURL = resourceURL + symbol + paramName + "=" + paramValue.toString();
+ counter++;
+
+ }
+// trace(resourceURL);
+ //create a httpservice and invoke the rest url waiting for response
+ var requestHeader:Object = new Object();
+ if (headerParams != null) {
+ for (var key:String in headerParams) {
+ requestHeader[key] = headerParams[key];
+ }
+ }
+
+ resourceURL = ApiUrlHelper.appendTokenInfo(resourceURL, requestHeader, _apiUsageCredentials);
+
+ var bodyData:String = marshal(postObject).toString();//restRequest.postData;
+
+ return doRestCall(resourceURL, onApiRequestResult, onApiRequestFault, method, bodyData, requestHeader, "application/xml");
+
+
+ }
+
+ public function marshal(source:Object):Object {
+// trace("marshal got - " + source)
+ if (source is String) {
+ return source;
+ } else if (source is Array && source.length > 0) {
+ var writer:XMLWriter = new XMLWriter();
+ var sourceArray:Array = source as Array;
+ var arrayEnclosure:String = getArrayEnclosure(sourceArray);
+ writer.xml.setName(arrayEnclosure);
+
+ for (var i:int = 0; i < sourceArray.length; i++) {
+ var o:Object = sourceArray[i];
+ writer.xml.appendChild(marshal(o));
+ }
+ return writer.xml;
+ } else
+ return marshalObject(source);
+ }
+
+ public function marshalObject(source:Object):XML {
+ var writer:XMLWriter = new XMLWriter();
+ var objDescriptor:XML = describeType(source);
+ var property:XML;
+ var propertyType:String;
+ var propertyValue:Object;
+
+ var qualifiedClassName:String = objDescriptor.@name;
+ qualifiedClassName = qualifiedClassName.replace("::", ".");
+ var className:String = qualifiedClassName.substring(qualifiedClassName.lastIndexOf(".") + 1);
+ className = className().toLowerCase() + className.substring(1);
+ writer.xml.setName(className);
+
+ for each(property in objDescriptor.elements("variable")) {
+ propertyValue = source[property.@name];
+ if (propertyValue != null) {
+ if (ObjectUtil.isSimple(propertyValue)) {
+ writer.addProperty(property.@name, propertyValue.toString());
+ }
+ else {
+ writer.addProperty(property.@name, marshal(propertyValue).toXMLString());
+ }
+ }
+ }
+ for each(property in objDescriptor.elements("accessor")) {
+ if (property.@access == "readonly") {
+ continue;
+ }
+ propertyValue = source[property.@name];
+ if (source[property.@name] != null) {
+ if (ObjectUtil.isSimple(propertyValue)) {
+ writer.addProperty(property.@name, propertyValue.toString());
+ }
+ else {
+ writer.addProperty(property.@name, marshal(propertyValue).toXMLString());
+ }
+ }
+ }
+ return writer.xml;
+ }
+
+ public function escapeString(str:String):String {
+ return str;
+ }
+
+ private function doRestCall(url:String, resultFunction:Function, faultFunction:Function = null,
+ restMethod:String = "GET",
+ bodyData:Object = null, headers:Object = null, contentType:String = "application/xml"):AsyncToken {
+ var httpService:HTTPService = new HTTPService();
+
+ if (headers == null) {
+ headers = new Object();
+ }
+ httpService.method = restMethod;
+
+ if (restMethod.toUpperCase() != HTTPRequestMessage.GET_METHOD) {
+ //httpService.method = HTTPRequestMessage.POST_METHOD; - not required as we're using the proxy
+ if (bodyData == null) {
+ bodyData = new Object();
+ }
+
+ if (restMethod == HTTPRequestMessage.DELETE_METHOD) {
+ headers[X_HTTP_OVERRIDE_KEY] = HTTPRequestMessage.DELETE_METHOD;
+ bodyData = DELETE_DATA_DUMMY;
+ }
+ else if (restMethod == HTTPRequestMessage.PUT_METHOD) {
+ headers[X_HTTP_OVERRIDE_KEY] = HTTPRequestMessage.PUT_METHOD;
+ }
+ else {
+ headers[CONTENT_TYPE_HEADER_KEY] = contentType;
+ }
+ }
+ else {
+ //if the request type is GET and content type is xml then the Flex HTTPService converts it to a POST ... yeah
+ contentType = null;
+ }
+
+ httpService.url = url;
+ httpService.contentType = contentType;
+ httpService.resultFormat = "e4x";
+ httpService.headers = headers;
+ httpService.addEventListener(ResultEvent.RESULT, resultFunction);
+ if (faultFunction != null) {
+ httpService.addEventListener(FaultEvent.FAULT, faultFunction);
+ }
+ if (_useProxyServer) {
+ httpService.useProxy = true;
+
+ var channelSet:ChannelSet = new ChannelSet();
+ var httpChannel:HTTPChannel = new HTTPChannel();
+ httpChannel.uri = ApiUrlHelper.getProxyUrl(_proxyHostName, _proxyPath);
+ channelSet.addChannel(httpChannel);
+ httpService.channelSet = channelSet;
+ }
+
+ return httpService.send(bodyData);
+ }
+
+ private function onApiRequestResult(event:ResultEvent):void {
+ var completionListener:Function = event.token.completionListener;
+ var result:Object = event.result;
+ var resultType:Class = event.token.returnType;
+ var resultObject:Object;
+ if (resultType != null) {
+ var context:ASAXBContext = ASAXBContext.newInstance(resultType);
+ var unmarshaller:Unmarshaller = context.createUnmarshaller();
+ var resultXML:XML = new XML(event.result);
+ try {
+ resultObject = unmarshaller.unmarshal(resultXML);
+ }
+ catch (error:TypeError) {
+ var errorResponse:Response = new Response(false, null, "Could not unmarshall response");
+ if (_apiEventNotifier != null) { //dispatch event via assigned dispatcher
+ var failureEvent:ApiClientEvent = new ApiClientEvent(event.token.completionEventType);
+ failureEvent.response = errorResponse;
+ _apiEventNotifier.dispatchEvent(failureEvent);
+ }
+ }
+
+ if (resultObject is ListWrapper) {
+ resultObject = ListWrapper(resultObject).getList();
+ }
+ }
+
+ var response:Response = new Response(true, resultObject);
+ response.requestId = event.token.requestId;
+ var successEventType:String = event.token.completionEventType != null ? event.token.completionEventType : ApiClientEvent.SUCCESS_EVENT;
+
+ if (_apiEventNotifier != null) { //dispatch event via assigned dispatcher
+ var successEvent:ApiClientEvent = new ApiClientEvent(successEventType);
+ successEvent.response = response;
+ _apiEventNotifier.dispatchEvent(successEvent);
+ }
+ }
+
+ private function onApiRequestFault(event:FaultEvent):void {
+ var completionListener:Function = event.token.completionListener;
+ if (completionListener != null) {
+ completionListener.call(null, new Response(false, null, event.fault.faultString));
+ }
+
+ var failureEventType:String = event.token.completionEventType != null ? event.token.completionEventType : ApiClientEvent.FAILURE_EVENT;
+
+ if (_apiEventNotifier != null) { //dispatch event via assigned dispatcher
+ var failureEvent:ApiClientEvent = new ApiClientEvent(failureEventType);
+ failureEvent.response = new Response(false, null, event.fault.faultString);
+ _apiEventNotifier.dispatchEvent(failureEvent);
+ }
+ }
+
+ private function getArrayEnclosure(arr:Array):String {
+ if (arr != null && arr.length > 0) {
+ var className:String = flash.utils.getQualifiedClassName(arr[0])
+ if (className.indexOf("::") > 0)
+ className = className.substr(className.indexOf("::") + 2, className.length)
+
+ return className.substring(0, 1).toLowerCase() + className.substring(1, className.length) + "s";
+ } else
+ return "";
+ }
+
+
+}
+}
\ No newline at end of file
diff --git a/samples/client/petstore/flash/src/main/flex/com/wordnik/swagger/common/XMLWriter.as b/samples/client/petstore/flash/src/main/flex/com/wordnik/swagger/common/XMLWriter.as
new file mode 100644
index 000000000000..9b575262a312
--- /dev/null
+++ b/samples/client/petstore/flash/src/main/flex/com/wordnik/swagger/common/XMLWriter.as
@@ -0,0 +1,24 @@
+package com.wordnik.swagger.common {
+public class XMLWriter {
+ public function XMLWriter() {
+ xml = ;
+ }
+ public var xml:XML;
+
+ public function reset():void {
+ xml = new XML();
+ }
+
+ public function addProperty(propertyName:String, propertyValue:String):XML {
+ var xmlProperty:XML =
+ xmlProperty.setName(propertyName);
+ xmlProperty.appendChild(propertyValue);
+ xml.appendChild(xmlProperty);
+ return xmlProperty;
+ }
+
+ public function addAttribute(propertyName:String, attribute:String, attributeValue:String):void {
+ xml.elements(propertyName)[0].@[attribute] = attributeValue;
+ }
+}
+}
\ No newline at end of file
diff --git a/samples/client/wordnik/scala/src/main/java/io/swagger/client/api/WordApi.scala b/samples/client/wordnik/scala/src/main/java/io/swagger/client/api/WordApi.scala
new file mode 100644
index 000000000000..bb449cdbfa07
--- /dev/null
+++ b/samples/client/wordnik/scala/src/main/java/io/swagger/client/api/WordApi.scala
@@ -0,0 +1,426 @@
+package io.swagger.client.api
+
+import scala.collection.mutable.HashMap
+
+class WordApi(val defBasePath: String = "https://api.wordnik.com/v4",
+ defApiInvoker: ApiInvoker = ApiInvoker) {
+ var basePath = defBasePath
+ var apiInvoker = defApiInvoker
+
+ def addHeader(key: String, value: String) = apiInvoker.defaultHeaders += key -> value
+
+
+ def getWord(word: String, useCanonical: String, includeSuggestions: String): Option[WordObject] = {
+ // create path and map variables
+ val path = "/word.json/{word}".replaceAll("\\{format\\}", "json").replaceAll("\\{" + "word" + "\\}", apiInvoker.escape(word))
+
+
+
+
+ val contentType = {
+
+ "application/json"
+ }
+
+ // query params
+ val queryParams = new HashMap[String, String]
+ val headerParams = new HashMap[String, String]
+
+
+
+ if (String.valueOf(useCanonical) != "null") queryParams += "useCanonical" -> useCanonical.toString
+ if (String.valueOf(includeSuggestions) != "null") queryParams += "includeSuggestions" -> includeSuggestions.toString
+
+
+
+
+ try {
+ apiInvoker.invokeApi(basePath, path, "GET", queryParams.toMap, None, headerParams.toMap, contentType) match {
+ case s: String =>
+ Some(ApiInvoker.deserialize(s, "", classOf[WordObject]).asInstanceOf[WordObject])
+
+ case _ => None
+ }
+ } catch {
+ case ex: ApiException if ex.code == 404 => None
+ case ex: ApiException => throw ex
+ }
+ }
+
+ def getAudio(word: String, useCanonical: String, limit: Integer): Option[List[AudioFile]] = {
+ // create path and map variables
+ val path = "/word.json/{word}/audio".replaceAll("\\{format\\}", "json").replaceAll("\\{" + "word" + "\\}", apiInvoker.escape(word))
+
+
+
+
+ val contentType = {
+
+ "application/json"
+ }
+
+ // query params
+ val queryParams = new HashMap[String, String]
+ val headerParams = new HashMap[String, String]
+
+
+
+ if (String.valueOf(useCanonical) != "null") queryParams += "useCanonical" -> useCanonical.toString
+ if (String.valueOf(limit) != "null") queryParams += "limit" -> limit.toString
+
+
+
+
+ try {
+ apiInvoker.invokeApi(basePath, path, "GET", queryParams.toMap, None, headerParams.toMap, contentType) match {
+ case s: String =>
+ Some(ApiInvoker.deserialize(s, "array", classOf[AudioFile]).asInstanceOf[List[AudioFile]])
+
+ case _ => None
+ }
+ } catch {
+ case ex: ApiException if ex.code == 404 => None
+ case ex: ApiException => throw ex
+ }
+ }
+
+ def getDefinitions(word: String, limit: Integer, partOfSpeech: String, includeRelated: String, sourceDictionaries: List[String], useCanonical: String, includeTags: String): Option[List[Definition]] = {
+ // create path and map variables
+ val path = "/word.json/{word}/definitions".replaceAll("\\{format\\}", "json").replaceAll("\\{" + "word" + "\\}", apiInvoker.escape(word))
+
+
+
+
+ val contentType = {
+
+ "application/json"
+ }
+
+ // query params
+ val queryParams = new HashMap[String, String]
+ val headerParams = new HashMap[String, String]
+
+
+
+ if (String.valueOf(limit) != "null") queryParams += "limit" -> limit.toString
+ if (String.valueOf(partOfSpeech) != "null") queryParams += "partOfSpeech" -> partOfSpeech.toString
+ if (String.valueOf(includeRelated) != "null") queryParams += "includeRelated" -> includeRelated.toString
+ if (String.valueOf(sourceDictionaries) != "null") queryParams += "sourceDictionaries" -> sourceDictionaries.toString
+ if (String.valueOf(useCanonical) != "null") queryParams += "useCanonical" -> useCanonical.toString
+ if (String.valueOf(includeTags) != "null") queryParams += "includeTags" -> includeTags.toString
+
+
+
+
+ try {
+ apiInvoker.invokeApi(basePath, path, "GET", queryParams.toMap, None, headerParams.toMap, contentType) match {
+ case s: String =>
+ Some(ApiInvoker.deserialize(s, "array", classOf[Definition]).asInstanceOf[List[Definition]])
+
+ case _ => None
+ }
+ } catch {
+ case ex: ApiException if ex.code == 404 => None
+ case ex: ApiException => throw ex
+ }
+ }
+
+ def getEtymologies(word: String, useCanonical: String): Option[List[String]] = {
+ // create path and map variables
+ val path = "/word.json/{word}/etymologies".replaceAll("\\{format\\}", "json").replaceAll("\\{" + "word" + "\\}", apiInvoker.escape(word))
+
+
+
+
+ val contentType = {
+
+ "application/json"
+ }
+
+ // query params
+ val queryParams = new HashMap[String, String]
+ val headerParams = new HashMap[String, String]
+
+
+
+ if (String.valueOf(useCanonical) != "null") queryParams += "useCanonical" -> useCanonical.toString
+
+
+
+
+ try {
+ apiInvoker.invokeApi(basePath, path, "GET", queryParams.toMap, None, headerParams.toMap, contentType) match {
+ case s: String =>
+ Some(ApiInvoker.deserialize(s, "array", classOf[String]).asInstanceOf[List[String]])
+
+ case _ => None
+ }
+ } catch {
+ case ex: ApiException if ex.code == 404 => None
+ case ex: ApiException => throw ex
+ }
+ }
+
+ def getExamples(word: String, includeDuplicates: String, useCanonical: String, skip: Integer, limit: Integer) = {
+ // create path and map variables
+ val path = "/word.json/{word}/examples".replaceAll("\\{format\\}", "json").replaceAll("\\{" + "word" + "\\}", apiInvoker.escape(word))
+
+
+
+
+ val contentType = {
+
+ "application/json"
+ }
+
+ // query params
+ val queryParams = new HashMap[String, String]
+ val headerParams = new HashMap[String, String]
+
+
+
+ if (String.valueOf(includeDuplicates) != "null") queryParams += "includeDuplicates" -> includeDuplicates.toString
+ if (String.valueOf(useCanonical) != "null") queryParams += "useCanonical" -> useCanonical.toString
+ if (String.valueOf(skip) != "null") queryParams += "skip" -> skip.toString
+ if (String.valueOf(limit) != "null") queryParams += "limit" -> limit.toString
+
+
+
+
+ try {
+ apiInvoker.invokeApi(basePath, path, "GET", queryParams.toMap, None, headerParams.toMap, contentType) match {
+ case s: String =>
+
+ case _ => None
+ }
+ } catch {
+ case ex: ApiException if ex.code == 404 => None
+ case ex: ApiException => throw ex
+ }
+ }
+
+ def getWordFrequency(word: String, useCanonical: String, startYear: Integer, endYear: Integer): Option[FrequencySummary] = {
+ // create path and map variables
+ val path = "/word.json/{word}/frequency".replaceAll("\\{format\\}", "json").replaceAll("\\{" + "word" + "\\}", apiInvoker.escape(word))
+
+
+
+
+ val contentType = {
+
+ "application/json"
+ }
+
+ // query params
+ val queryParams = new HashMap[String, String]
+ val headerParams = new HashMap[String, String]
+
+
+
+ if (String.valueOf(useCanonical) != "null") queryParams += "useCanonical" -> useCanonical.toString
+ if (String.valueOf(startYear) != "null") queryParams += "startYear" -> startYear.toString
+ if (String.valueOf(endYear) != "null") queryParams += "endYear" -> endYear.toString
+
+
+
+
+ try {
+ apiInvoker.invokeApi(basePath, path, "GET", queryParams.toMap, None, headerParams.toMap, contentType) match {
+ case s: String =>
+ Some(ApiInvoker.deserialize(s, "", classOf[FrequencySummary]).asInstanceOf[FrequencySummary])
+
+ case _ => None
+ }
+ } catch {
+ case ex: ApiException if ex.code == 404 => None
+ case ex: ApiException => throw ex
+ }
+ }
+
+ def getHyphenation(word: String, useCanonical: String, sourceDictionary: String, limit: Integer) = {
+ // create path and map variables
+ val path = "/word.json/{word}/hyphenation".replaceAll("\\{format\\}", "json").replaceAll("\\{" + "word" + "\\}", apiInvoker.escape(word))
+
+
+
+
+ val contentType = {
+
+ "application/json"
+ }
+
+ // query params
+ val queryParams = new HashMap[String, String]
+ val headerParams = new HashMap[String, String]
+
+
+
+ if (String.valueOf(useCanonical) != "null") queryParams += "useCanonical" -> useCanonical.toString
+ if (String.valueOf(sourceDictionary) != "null") queryParams += "sourceDictionary" -> sourceDictionary.toString
+ if (String.valueOf(limit) != "null") queryParams += "limit" -> limit.toString
+
+
+
+
+ try {
+ apiInvoker.invokeApi(basePath, path, "GET", queryParams.toMap, None, headerParams.toMap, contentType) match {
+ case s: String =>
+
+ case _ => None
+ }
+ } catch {
+ case ex: ApiException if ex.code == 404 => None
+ case ex: ApiException => throw ex
+ }
+ }
+
+ def getPhrases(word: String, limit: Integer, wlmi: Integer, useCanonical: String): Option[List[Bigram]] = {
+ // create path and map variables
+ val path = "/word.json/{word}/phrases".replaceAll("\\{format\\}", "json").replaceAll("\\{" + "word" + "\\}", apiInvoker.escape(word))
+
+
+
+
+ val contentType = {
+
+ "application/json"
+ }
+
+ // query params
+ val queryParams = new HashMap[String, String]
+ val headerParams = new HashMap[String, String]
+
+
+
+ if (String.valueOf(limit) != "null") queryParams += "limit" -> limit.toString
+ if (String.valueOf(wlmi) != "null") queryParams += "wlmi" -> wlmi.toString
+ if (String.valueOf(useCanonical) != "null") queryParams += "useCanonical" -> useCanonical.toString
+
+
+
+
+ try {
+ apiInvoker.invokeApi(basePath, path, "GET", queryParams.toMap, None, headerParams.toMap, contentType) match {
+ case s: String =>
+ Some(ApiInvoker.deserialize(s, "array", classOf[Bigram]).asInstanceOf[List[Bigram]])
+
+ case _ => None
+ }
+ } catch {
+ case ex: ApiException if ex.code == 404 => None
+ case ex: ApiException => throw ex
+ }
+ }
+
+ def getTextPronunciations(word: String, useCanonical: String, sourceDictionary: String, typeFormat: String, limit: Integer) = {
+ // create path and map variables
+ val path = "/word.json/{word}/pronunciations".replaceAll("\\{format\\}", "json").replaceAll("\\{" + "word" + "\\}", apiInvoker.escape(word))
+
+
+
+
+ val contentType = {
+
+ "application/json"
+ }
+
+ // query params
+ val queryParams = new HashMap[String, String]
+ val headerParams = new HashMap[String, String]
+
+
+
+ if (String.valueOf(useCanonical) != "null") queryParams += "useCanonical" -> useCanonical.toString
+ if (String.valueOf(sourceDictionary) != "null") queryParams += "sourceDictionary" -> sourceDictionary.toString
+ if (String.valueOf(typeFormat) != "null") queryParams += "typeFormat" -> typeFormat.toString
+ if (String.valueOf(limit) != "null") queryParams += "limit" -> limit.toString
+
+
+
+
+ try {
+ apiInvoker.invokeApi(basePath, path, "GET", queryParams.toMap, None, headerParams.toMap, contentType) match {
+ case s: String =>
+
+ case _ => None
+ }
+ } catch {
+ case ex: ApiException if ex.code == 404 => None
+ case ex: ApiException => throw ex
+ }
+ }
+
+ def getRelatedWords(word: String, useCanonical: String, relationshipTypes: String, limitPerRelationshipType: Integer) = {
+ // create path and map variables
+ val path = "/word.json/{word}/relatedWords".replaceAll("\\{format\\}", "json").replaceAll("\\{" + "word" + "\\}", apiInvoker.escape(word))
+
+
+
+
+ val contentType = {
+
+ "application/json"
+ }
+
+ // query params
+ val queryParams = new HashMap[String, String]
+ val headerParams = new HashMap[String, String]
+
+
+
+ if (String.valueOf(useCanonical) != "null") queryParams += "useCanonical" -> useCanonical.toString
+ if (String.valueOf(relationshipTypes) != "null") queryParams += "relationshipTypes" -> relationshipTypes.toString
+ if (String.valueOf(limitPerRelationshipType) != "null") queryParams += "limitPerRelationshipType" -> limitPerRelationshipType.toString
+
+
+
+
+ try {
+ apiInvoker.invokeApi(basePath, path, "GET", queryParams.toMap, None, headerParams.toMap, contentType) match {
+ case s: String =>
+
+ case _ => None
+ }
+ } catch {
+ case ex: ApiException if ex.code == 404 => None
+ case ex: ApiException => throw ex
+ }
+ }
+
+ def getTopExample(word: String, useCanonical: String): Option[Example] = {
+ // create path and map variables
+ val path = "/word.json/{word}/topExample".replaceAll("\\{format\\}", "json").replaceAll("\\{" + "word" + "\\}", apiInvoker.escape(word))
+
+
+
+
+ val contentType = {
+
+ "application/json"
+ }
+
+ // query params
+ val queryParams = new HashMap[String, String]
+ val headerParams = new HashMap[String, String]
+
+
+
+ if (String.valueOf(useCanonical) != "null") queryParams += "useCanonical" -> useCanonical.toString
+
+
+
+
+ try {
+ apiInvoker.invokeApi(basePath, path, "GET", queryParams.toMap, None, headerParams.toMap, contentType) match {
+ case s: String =>
+ Some(ApiInvoker.deserialize(s, "", classOf[Example]).asInstanceOf[Example])
+
+ case _ => None
+ }
+ } catch {
+ case ex: ApiException if ex.code == 404 => None
+ case ex: ApiException => throw ex
+ }
+ }
+
+}