⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 itemtypesexample.java

📁 google的gdata api包
💻 JAVA
字号:
/* Copyright (c) 2006 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * *     http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */package sample.gbase.cmdline;import com.google.api.gbase.client.GoogleBaseAttributeId;import com.google.api.gbase.client.GoogleBaseEntry;import com.google.api.gbase.client.GoogleBaseFeed;import com.google.api.gbase.client.GoogleBaseQuery;import com.google.api.gbase.client.ItemTypeDescription;import com.google.api.gbase.client.MetadataEntryExtension;import com.google.gdata.util.ServiceException;import java.io.IOException;import java.net.URL;/** * This class demonstrates how to retrieve Google Base item types * using the client library of the Google Base data API. * * The tool implemented by this class will connect to Google Base,  * run the request and display some results. */public class ItemTypesExample extends Example {  /**   * Runs the example.   */  public static void main(String[] args) throws IOException, ServiceException {    String locale = null;    String itemType = null;        args = init(args, "Google-ItemTypesExample-1.0");        if (args.length == 0) {      // nothing to do    } else if (args.length == 1) {      locale = args[0];    } else if (args.length == 2) {      locale = args[0];      itemType = args[1];    } else {      System.err.println("Invalid argument count.");      System.err.println("Expected either two arguments, to get an itemtype:");      System.err.println(" locale itemtype");      System.err.println("or one argument, to get the itemtypes of a locale:");      System.err.println(" locale");      System.err.println("or no argument, to get the locales.");      System.exit(1);    }    if (locale == null) {      queryLocales();    } else {      if (itemType == null) {        queryItemTypes(locale);      } else {        queryItemType(locale, itemType);      }    }  }  /**   * Retrieves and prints the locales.   *    */  private static void queryLocales()       throws IOException, ServiceException {    // Create a query URL    URL url = urlFactory.getLocalesFeedURL();    GoogleBaseQuery query = new GoogleBaseQuery(url);    // Display the URL generated by the API    System.out.println("Sending request to: " + query.getUrl());    try {      GoogleBaseFeed feed = service.query(query);      // Print the locales      for (GoogleBaseEntry entry : feed.getEntries()) {        System.out.println(entry.getTitle().getPlainText());      }    } catch (ServiceException e) {      printServiceException(e);    }  }    /**   * Retrieves and prints the item types Google suggests for a locale.   *    * @param locale the locale to be analysed   */  private static void queryItemTypes(String locale)       throws IOException, ServiceException {    // Create a query URL from the given arguments    URL url = urlFactory.getItemTypesFeedURL(locale);    GoogleBaseQuery query = new GoogleBaseQuery(url);    // Display the URL generated by the API    System.out.println("Sending request to: " + query.getUrl());    try {      GoogleBaseFeed feed = service.query(query);      // Print the item types      printItemTypeFeed(feed);    } catch (ServiceException e) {      printServiceException(e);    }  }    /**   * Retrieves and prints the attribute ids Google suggests for an item type of   * a locale.   *    * @param locale the locale of the item type   * @param itemType the item type to be analysed   */  private static void queryItemType(String locale, String itemType)       throws IOException, ServiceException {    // Create a query URL from the given arguments    URL url = urlFactory.getItemTypesEntryURL(locale, itemType);    // Display the URL generated by the API    System.out.println("Sending request to: " + url);    try {      GoogleBaseEntry entry = service.getEntry(url);      // Print the item type      printItemTypeEntry(entry);    } catch (ServiceException e) {      printServiceException(e);    }  }  /**   * Prints each itemtype item in the feed to the output.   * Uses {@link #printItemTypeEntry(GoogleBaseEntry)}.   *   * @param feed a Google Base data API itemtypes feed   */  private static void printItemTypeFeed(GoogleBaseFeed feed) {    if (feed.getTotalResults() == 0) {      System.out.println("No matches.");      return;    }    for (GoogleBaseEntry entry : feed.getEntries()) {      printItemTypeEntry(entry);    }  }  /**   * Prints the name and the recommended attribute names of    * an itemtype GoogleBaseEntry item.   *    * @param entry a Google Base data API itemtype entry   */  private static void printItemTypeEntry(GoogleBaseEntry entry) {    MetadataEntryExtension metadata = entry.getGoogleBaseMetadata();    ItemTypeDescription itemTypeDescription = metadata.getItemTypeDescription();    System.out.println(itemTypeDescription.getName() + " - " + entry.getId());    for (GoogleBaseAttributeId attrId : itemTypeDescription.getAttributeIds()) {      System.out.println(attrId.getName() +           " (" + attrId.getType().getName() + ")");    }  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -