/core/externals/update-engine/externals/gdata-objectivec-client/Source/Clients/WebmasterTools/GDataEntrySiteCrawlIssue.m

http://macfuse.googlecode.com/ · Objective C · 238 lines · 158 code · 59 blank · 21 comment · 3 complexity · 46ea362d646fd8d8e19f01840f161c1b MD5 · raw file

  1. /* Copyright (c) 2009 Google Inc.
  2. *
  3. * Licensed under the Apache License, Version 2.0 (the "License");
  4. * you may not use this file except in compliance with the License.
  5. * You may obtain a copy of the License at
  6. *
  7. * http://www.apache.org/licenses/LICENSE-2.0
  8. *
  9. * Unless required by applicable law or agreed to in writing, software
  10. * distributed under the License is distributed on an "AS IS" BASIS,
  11. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. * See the License for the specific language governing permissions and
  13. * limitations under the License.
  14. */
  15. //
  16. // GDataEntrySiteCrawlIssue.m
  17. //
  18. #if !GDATA_REQUIRE_SERVICE_INCLUDES || GDATA_INCLUDE_WEBMASTERTOOLS_SERVICE
  19. #import "GDataEntrySiteCrawlIssue.h"
  20. #import "GDataWebmasterToolsConstants.h"
  21. // private extensions
  22. @interface GDataSiteCrawlType : GDataValueElementConstruct <GDataExtension>
  23. @end
  24. @implementation GDataSiteCrawlType
  25. + (NSString *)extensionElementURI { return kGDataNamespaceWebmasterTools; }
  26. + (NSString *)extensionElementPrefix { return kGDataNamespaceWebmasterToolsPrefix; }
  27. + (NSString *)extensionElementLocalName { return @"crawl-type"; }
  28. @end
  29. @interface GDataSiteCrawlIssueDateDetected : GDataValueElementConstruct <GDataExtension>
  30. @end
  31. @implementation GDataSiteCrawlIssueDateDetected
  32. + (NSString *)extensionElementURI { return kGDataNamespaceWebmasterTools; }
  33. + (NSString *)extensionElementPrefix { return kGDataNamespaceWebmasterToolsPrefix; }
  34. + (NSString *)extensionElementLocalName { return @"date-detected"; }
  35. @end
  36. @interface GDataSiteCrawlIssueDetail : GDataValueElementConstruct <GDataExtension>
  37. @end
  38. @implementation GDataSiteCrawlIssueDetail
  39. + (NSString *)extensionElementURI { return kGDataNamespaceWebmasterTools; }
  40. + (NSString *)extensionElementPrefix { return kGDataNamespaceWebmasterToolsPrefix; }
  41. + (NSString *)extensionElementLocalName { return @"detail"; }
  42. @end
  43. @interface GDataSiteCrawlIssueType : GDataValueElementConstruct <GDataExtension>
  44. @end
  45. @implementation GDataSiteCrawlIssueType
  46. + (NSString *)extensionElementURI { return kGDataNamespaceWebmasterTools; }
  47. + (NSString *)extensionElementPrefix { return kGDataNamespaceWebmasterToolsPrefix; }
  48. + (NSString *)extensionElementLocalName { return @"issue-type"; }
  49. @end
  50. @interface GDataSiteCrawlIssueLinkedFrom : GDataValueElementConstruct <GDataExtension>
  51. @end
  52. @interface GDataSiteCrawlIssueURL: GDataValueElementConstruct <GDataExtension>
  53. @end
  54. @implementation GDataSiteCrawlIssueURL
  55. + (NSString *)extensionElementURI { return kGDataNamespaceWebmasterTools; }
  56. + (NSString *)extensionElementPrefix { return kGDataNamespaceWebmasterToolsPrefix; }
  57. + (NSString *)extensionElementLocalName { return @"url"; }
  58. @end
  59. @implementation GDataSiteCrawlIssueLinkedFrom
  60. + (NSString *)extensionElementURI { return kGDataNamespaceWebmasterTools; }
  61. + (NSString *)extensionElementPrefix { return kGDataNamespaceWebmasterToolsPrefix; }
  62. + (NSString *)extensionElementLocalName { return @"linked-from"; }
  63. @end
  64. @implementation GDataEntrySiteCrawlIssue
  65. + (id)crawlIssueEntry {
  66. GDataEntrySiteCrawlIssue *obj = [self object];
  67. [obj setNamespaces:[GDataWebmasterToolsConstants webmasterToolsNamespaces]];
  68. return obj;
  69. }
  70. #pragma mark -
  71. + (NSString *)standardEntryKind {
  72. return kGDataCategorySiteCrawlIssue;
  73. }
  74. + (void)load {
  75. [self registerEntryClass];
  76. }
  77. - (void)addExtensionDeclarations {
  78. [super addExtensionDeclarations];
  79. Class entryClass = [self class];
  80. [self addExtensionDeclarationForParentClass:entryClass
  81. childClasses:
  82. [GDataSiteCrawlType class],
  83. [GDataSiteCrawlIssueDateDetected class],
  84. [GDataSiteCrawlIssueDetail class],
  85. [GDataSiteCrawlIssueType class],
  86. [GDataSiteCrawlIssueLinkedFrom class],
  87. [GDataSiteCrawlIssueURL class],
  88. nil];
  89. }
  90. #if !GDATA_SIMPLE_DESCRIPTIONS
  91. - (NSMutableArray *)itemsForDescription {
  92. static struct GDataDescriptionRecord descRecs[] = {
  93. { @"crawlType", @"crawlType", kGDataDescValueLabeled },
  94. { @"date", @"detectedDate.stringValue", kGDataDescValueLabeled },
  95. { @"issueType", @"issueType", kGDataDescValueLabeled },
  96. { @"URL", @"issueURLString", kGDataDescValueLabeled },
  97. { @"linkedFrom", @"issueLinkedFromURLStrings", kGDataDescArrayDescs },
  98. { nil, nil, (GDataDescRecTypes)0 }
  99. };
  100. NSMutableArray *items = [super itemsForDescription];
  101. [self addDescriptionRecords:descRecs toItems:items];
  102. return items;
  103. }
  104. #endif
  105. + (NSString *)defaultServiceVersion {
  106. return kGDataWebmasterToolsDefaultServiceVersion;
  107. }
  108. #pragma mark -
  109. - (NSString *)crawlType {
  110. GDataSiteCrawlType *obj;
  111. obj = [self objectForExtensionClass:[GDataSiteCrawlType class]];
  112. return [obj stringValue];
  113. }
  114. - (void)setCrawlType:(NSString *)str {
  115. GDataSiteCrawlType *obj = [GDataSiteCrawlType valueWithString:str];
  116. [self setObject:obj forExtensionClass:[GDataSiteCrawlType class]];
  117. }
  118. - (GDataDateTime *)detectedDate {
  119. GDataSiteCrawlIssueDateDetected *obj;
  120. obj = [self objectForExtensionClass:[GDataSiteCrawlIssueDateDetected class]];
  121. return [obj dateTimeValue];
  122. }
  123. - (void)setDetectedDate:(GDataDateTime *)dateTime {
  124. GDataSiteCrawlIssueDateDetected *obj;
  125. obj = [GDataSiteCrawlIssueDateDetected valueWithDateTime:dateTime];
  126. [self setObject:obj forExtensionClass:[GDataSiteCrawlIssueDateDetected class]];
  127. }
  128. - (NSString *)detail {
  129. GDataSiteCrawlIssueDetail *obj;
  130. obj = [self objectForExtensionClass:[GDataSiteCrawlIssueDetail class]];
  131. return [obj stringValue];
  132. }
  133. - (void)setDetail:(NSString *)str {
  134. GDataSiteCrawlIssueDetail *obj;
  135. obj = [GDataSiteCrawlIssueDetail valueWithString:str];
  136. [self setObject:obj forExtensionClass:[GDataSiteCrawlIssueDetail class]];
  137. }
  138. - (NSString *)issueType {
  139. GDataSiteCrawlIssueType *obj;
  140. obj = [self objectForExtensionClass:[GDataSiteCrawlIssueType class]];
  141. return [obj stringValue];
  142. }
  143. - (void)setIssueType:(NSString *)str {
  144. GDataSiteCrawlIssueType *obj = [GDataSiteCrawlIssueType valueWithString:str];
  145. [self setObject:obj forExtensionClass:[GDataSiteCrawlIssueType class]];
  146. }
  147. - (NSString *)issueURLString {
  148. GDataSiteCrawlIssueURL *obj;
  149. obj = [self objectForExtensionClass:[GDataSiteCrawlIssueURL class]];
  150. return [obj stringValue];
  151. }
  152. - (void)setIssueURLString:(NSString *)str {
  153. GDataSiteCrawlIssueURL *obj = [GDataSiteCrawlIssueURL valueWithString:str];
  154. [self setObject:obj forExtensionClass:[GDataSiteCrawlIssueURL class]];
  155. }
  156. - (NSArray *)issueLinkedFromURLStrings {
  157. // retrurns an array of URL strings
  158. NSArray *array;
  159. array = [self objectsForExtensionClass:[GDataSiteCrawlIssueLinkedFrom class]];
  160. if ([array count] > 0) {
  161. // return the URL strings, not the extension objects
  162. return [array valueForKeyPath:@"stringValue"];
  163. }
  164. return nil;
  165. }
  166. - (void)setIssueLinkedFromURLStrings:(NSArray *)array {
  167. // remove any current URLs
  168. [self setObject:nil forExtensionClass:[GDataSiteCrawlIssueLinkedFrom class]];
  169. for (NSString *str in array) {
  170. [self addIssueLinkedFromURLString:str];
  171. }
  172. }
  173. - (void)addIssueLinkedFromURLString:(NSString *)str {
  174. GDataSiteCrawlIssueLinkedFrom *obj;
  175. obj = [GDataSiteCrawlIssueLinkedFrom valueWithString:str];
  176. [self addObject:obj forExtensionClass:[GDataSiteCrawlIssueLinkedFrom class]];
  177. }
  178. @end
  179. #endif // !GDATA_REQUIRE_SERVICE_INCLUDES || GDATA_INCLUDE_WEBMASTERTOOLS_SERVICE