Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 2nd, 2012  |  syntax: None  |  size: 4.63 KB  |  hits: 13  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. package
  2. {
  3.         import com.wordnik.api.batch.Batch;
  4.         import com.wordnik.api.batch.OpGetAudioInfo;
  5.         import com.wordnik.api.batch.OpGetDefinitions;
  6.         import com.wordnik.api.batch.OpGetExamples;
  7.         import com.wordnik.api.batch.OpGetFrequencyData;
  8.         import com.wordnik.api.batch.OpGetPronunciations;
  9.         import com.wordnik.api.batch.OpGetRelatedWords;
  10.         import com.wordnik.api.client.WordnikClient;
  11.         import com.wordnik.api.entity.ApiUserCredentials;
  12.         import com.wordnik.api.entity.Word;
  13.         import com.wordnik.api.entity.word.AudioFileInfo;
  14.         import com.wordnik.api.entity.word.RelatedWordSet;
  15.         import com.wordnik.api.entity.word.TextPronunciation;
  16.         import com.wordnik.api.entity.word.UsageFrequency;
  17.         import com.wordnik.api.event.ApiClientEvent;
  18.         import com.wordnik.api.event.Response;
  19.        
  20.         import flash.display.Sprite;
  21.         import flash.text.TextField;
  22.         import flash.text.TextFieldAutoSize;
  23.         import flash.text.TextFormat;
  24.        
  25.         public class Main extends Sprite
  26.         {
  27.                 private const textfield:TextField = new TextField();
  28.                 private const format:TextFormat = new TextFormat();
  29.  
  30.                 private const apiKey: String = "your-api-key";
  31.                 private const hostName: String = "api.wordnik.com";
  32.                
  33.                 public function Main()
  34.                 {
  35.                         initUi();
  36.                        
  37.                         // Instantiate a WordnikClient
  38.                         var wordnikCredentials: ApiUserCredentials = new ApiUserCredentials(this.apiKey);
  39.                         wordnikCredentials.hostName = this.hostName;
  40.                         const wordnikClient: WordnikClient = new WordnikClient(wordnikCredentials);
  41.                        
  42.                         // To make multiple calls in one shot use the batch feature:
  43.                         // Create a batch
  44.                         const batch: Batch = new Batch();
  45.                         batch.add(new OpGetDefinitions(2));
  46.                         batch.add(new OpGetExamples());
  47.                         batch.add(new OpGetRelatedWords());
  48.                         batch.add(new OpGetAudioInfo(5));
  49.                         batch.add(new OpGetFrequencyData());
  50.                         batch.add(new OpGetPronunciations());
  51.                        
  52.                         // Execute it
  53.                         wordnikClient.addEventListener(ApiClientEvent.BATCH_EXECUTE_RESPONSE_EVENT, onBatchRequestCompleted);
  54.                         wordnikClient.execute("freedom", batch);
  55.                 }
  56.                
  57.                 private function onBatchRequestCompleted(event: ApiClientEvent, requestId: String = null):void {
  58.                         var result: Response = event.response;
  59.                         var wordnikWord: Word = result.payload as Word;
  60.  
  61.                         showText("");
  62.                         showText("Definitions");
  63.                         for(var i: Number = 0; i < wordnikWord.definitions.length; i++) {
  64.                                 showText(" - " + wordnikWord.definitions[i].text);
  65.                         }
  66.                        
  67.                         showText("");
  68.                         showText("Examples");
  69.                         for(i = 0; i < wordnikWord.examples.length; i++) {
  70.                                 showText(" - " + wordnikWord.examples[i].display);
  71.                         }
  72.                        
  73.                         for(i = 0; i < wordnikWord.relatedWords.length; i++) {
  74.                                 var relatedWordSet: RelatedWordSet = wordnikWord.relatedWords[i] as RelatedWordSet;
  75.                                
  76.                                 showText("");
  77.                                 showText("Related Words " + relatedWordSet.relationType);
  78.                                 for(var j: Number = 0; j < relatedWordSet.words.length; j++) {
  79.                                         showText(" - " + relatedWordSet.words[j]);
  80.                                 }
  81.                         }
  82.                        
  83.                         showText("");
  84.                         showText("Audio Urls");
  85.                         for(i = 0; i < wordnikWord.audioMetadata.length; i++) {
  86.                                 var audioInfo: AudioFileInfo = wordnikWord.audioMetadata[i] as AudioFileInfo;
  87.                                 showText(" - " + audioInfo.fileUrl);
  88.                         }
  89.                        
  90.                         if(wordnikWord.frequencyData != null) {
  91.                                 showText("");
  92.                                 showText("Frequency Data");
  93.                                 showText(" - frequency: " + wordnikWord.frequencyData.frequencyString);
  94.                                 showText(" - usage count: " + wordnikWord.frequencyData.totalCount);
  95.                                 showText(" - unknownYearCount: " + wordnikWord.frequencyData.unknownYearCount);
  96.                                
  97.                                 if(wordnikWord.frequencyData.usageFrequencies != null && wordnikWord.frequencyData.usageFrequencies.length > 0) {
  98.                                         showText("");
  99.                                         showText("Frequency Data - Usage Frequency");
  100.  
  101.                                         for(i = 0; i < wordnikWord.frequencyData.usageFrequencies.length; i++) {
  102.                                                 var usageFrequency: UsageFrequency = wordnikWord.frequencyData.usageFrequencies[i] as UsageFrequency;
  103.                                                 showText(" - " + usageFrequency.year + " : " + usageFrequency.count);
  104.                                         }
  105.                                 }
  106.                         }
  107.                        
  108.                         showText("");
  109.                         showText("Text Pronunciations");
  110.                         for(i = 0; i < wordnikWord.audioMetadata.length; i++) {
  111.                                 var textPron: TextPronunciation = wordnikWord.textPronunciations[i] as TextPronunciation;
  112.                                 showText(" - " + textPron.raw);
  113.                         }
  114.                        
  115.                 }
  116.                
  117.                 private function initUi(): void {
  118.                         textfield.width = 200;
  119.                         textfield.height = 300;
  120.                         textfield.text = "Properties of freedom";
  121.                         textfield.y = 0;
  122.                         textfield.x = 0;
  123.                         textfield.border = true;
  124.                         textfield.background = true;
  125.                         textfield.multiline = true;
  126.                         textfield.wordWrap = true;
  127.                        
  128.                         format.color = 0x666666;
  129.                         format.size = 8;
  130.                        
  131.                         textfield.defaultTextFormat = format;
  132.                         textfield.setTextFormat(format);
  133.                        
  134.                         addChild(textfield);           
  135.                 }
  136.                
  137.                 private function showText(s: String): void {
  138.                         textfield.appendText(s + "\n");
  139.                         trace(s);
  140.                 }
  141.                
  142.         }
  143. }