001    package com.google.gwt.maps.client.adsense;
002    
003    /**
004     * Identifiers used to specify an AdSense For Content format. 
005     * <br><br>
006     * See <a href="https://google.com/adsense/adformats">AdFormats</a><br>
007     * See <a href="https://developers.google.com/maps/documentation/javascript/reference#AdFormat">AdFormat API Doc</a>
008     * <br><br>
009     * <b>Note:</b> class is <code>$wnd.google.maps.adsense.AdFormat</code>
010     */
011    public enum AdFormat {
012      
013      /**
014       *  A horizontal "banner" ad. (468x60px)
015       */
016      BANNER("468x60_as"),
017      
018      /**
019       * A small ad. (125x125px)
020       */
021      BUTTON("125x125_as"),
022      
023      /**
024       * A smaller horizontal "banner" ad. (234x60px)
025       */
026      HALF_BANNER("234x60_as"),
027      
028      /**
029       * A large rectangulare ad. (336x280px)
030       */
031      LARGE_RECTANGLE("336x280_as"),
032      
033      /**
034       * A fully horizontal display area. (728x90px)
035       */
036      LEADERBOARD("728x90_as"),
037      
038      /**
039       * A medium rectangular ad. (300x250px)
040       */
041      MEDIUM_RECTANGLE("300x250_as"),
042      
043      /**
044       * A large vertical ad. (120x600px)
045       */
046      SKYSCRAPER("120x600_as"),
047      
048      /**
049       * A small rectangular ad. (180x150px)
050       */
051      SMALL_RECTANGLE("180x150_as"),
052      
053      /**
054       * A smaller square ad. (200x200px)
055       */
056      SMALL_SQUARE("200x200_as"),
057      
058      /**
059       * A square ad with large type. (250x250px)
060       */
061      SQUARE("250x250_as"),
062      
063      /**
064       * A medium-sized vertical ad. (120x240px)
065       */
066      VERTICAL_BANNER("120x240_as"), 
067      
068      /**
069       * A wide, vertical ad using larger type. (160x600px)
070       */
071      WIDE_SKYSCRAPER("160x600_as");
072      
073      private String value;
074      
075      AdFormat(String value) {
076        this.value = value;
077      }
078      
079      public String value() {
080        return value;
081      }
082      
083      public String getName() {
084        return name();
085      }
086    
087      public String toString() {
088        return name() + "(" + value + ")";
089      }
090      
091      public static AdFormat fromValue(String value) {
092        if (value == null) {
093          return null;
094        }
095        AdFormat r = null;
096        if (value.equals("468x60_as")) {
097          r = BANNER;
098          
099        } else if (value.equals("125x125_as")) {
100          r = BUTTON;
101          
102        } else if (value.equals("234x60_as")) {
103          r = HALF_BANNER;
104          
105        } else if (value.equals("336x280_as")) {
106          r = LARGE_RECTANGLE;
107          
108        } else if (value.equals("728x90_as")) {
109          r = LEADERBOARD;
110          
111        } else if (value.equals("300x250_as")) {
112          r = MEDIUM_RECTANGLE;
113          
114        } else if (value.equals("120x600_as")) {
115          r = SKYSCRAPER;
116          
117        } else if (value.equals("180x150_as")) {
118          r = SMALL_RECTANGLE;
119          
120        } else if (value.equals("200x200_as")) {
121          r = SMALL_SQUARE;
122          
123        } else if (value.equals("250x250_as")) {
124          r = SQUARE;
125          
126        } else if (value.equals("120x240_as")) {
127          r = VERTICAL_BANNER;
128          
129        } else if (value.equals("160x600_as")) {
130          r = WIDE_SKYSCRAPER;
131        } 
132        return r;
133      }
134    }