/core/externals/update-engine/externals/gdata-objectivec-client/Source/Clients/Spreadsheets/GDataQuerySpreadsheet.m

http://macfuse.googlecode.com/ · Objective C · 152 lines · 104 code · 29 blank · 19 comment · 2 complexity · fbec5febc8fbea03659a7b54fd60dcfe MD5 · raw file

  1. /* Copyright (c) 2007 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. // GDataQuerySpreadsheet.m
  17. //
  18. #if !GDATA_REQUIRE_SERVICE_INCLUDES || GDATA_INCLUDE_SPREADSHEET_SERVICE
  19. #import "GDataQuerySpreadsheet.h"
  20. static NSString *const kSpreadsheetQueryParamName = @"sq";
  21. static NSString *const kReverseParamName = @"reverse";
  22. static NSString *const kTitleParamName = @"title";
  23. static NSString *const kExactTitleParamName = @"title-exact";
  24. static NSString *const kMinRowParamName = @"min-row";
  25. static NSString *const kMaxRowParamName = @"max-row";
  26. static NSString *const kMinColParamName = @"min-col";
  27. static NSString *const kMaxColParamName = @"max-col";
  28. static NSString *const kRangeParamName = @"range";
  29. static NSString *const kReturnEmptyParamName = @"return-empty";
  30. @implementation GDataQuerySpreadsheet
  31. + (GDataQuerySpreadsheet *)spreadsheetQueryWithFeedURL:(NSURL *)feedURL {
  32. return [self queryWithFeedURL:feedURL];
  33. }
  34. - (NSString *)titleQuery {
  35. NSString *str = [self valueForParameterWithName:kTitleParamName];
  36. return str;
  37. }
  38. - (void)setTitleQuery:(NSString *)str {
  39. [self addCustomParameterWithName:kTitleParamName value:str];
  40. }
  41. - (BOOL)isTitleQueryExact {
  42. return [self boolValueForParameterWithName:kExactTitleParamName
  43. defaultValue:NO];
  44. }
  45. - (void)setIsTitleQueryExact:(BOOL)flag {
  46. [self addCustomParameterWithName:kExactTitleParamName
  47. boolValue:flag
  48. defaultValue:NO];
  49. }
  50. // list feed parameters
  51. - (void)setSpreadsheetQuery:(NSString *)queryStr {
  52. [self addCustomParameterWithName:kSpreadsheetQueryParamName
  53. value:queryStr];
  54. }
  55. - (NSString *)spreadsheetQuery {
  56. return [self valueForParameterWithName:kSpreadsheetQueryParamName];
  57. }
  58. - (void)setIsReverseSort:(BOOL)isReverse {
  59. [self addCustomParameterWithName:kReverseParamName
  60. boolValue:isReverse
  61. defaultValue:NO];
  62. }
  63. - (BOOL)isReverseSort {
  64. return [self boolValueForParameterWithName:kReverseParamName
  65. defaultValue:NO];
  66. }
  67. // cell feed parameters
  68. - (NSString *)stringParamOrNilForInt:(NSInteger)val {
  69. if (val > 0) {
  70. return [NSString stringWithFormat:@"%ld", (long)val];
  71. }
  72. return nil;
  73. }
  74. - (void)setMinimumRow:(NSInteger)val {
  75. [self addCustomParameterWithName:kMinRowParamName
  76. value:[self stringParamOrNilForInt:val]];
  77. }
  78. - (NSInteger)minimumRow {
  79. return [self intValueForParameterWithName:kMinRowParamName
  80. missingParameterValue:0];
  81. }
  82. - (void)setMaximumRow:(NSInteger)val {
  83. [self addCustomParameterWithName:kMaxRowParamName
  84. value:[self stringParamOrNilForInt:val]];
  85. }
  86. - (NSInteger)maximumRow {
  87. return [self intValueForParameterWithName:kMaxRowParamName
  88. missingParameterValue:0];
  89. }
  90. - (void)setMinimumColumn:(NSInteger)val {
  91. [self addCustomParameterWithName:kMinColParamName
  92. value:[self stringParamOrNilForInt:val]];
  93. }
  94. - (NSInteger)minimumColumn {
  95. return [self intValueForParameterWithName:kMinColParamName
  96. missingParameterValue:0];
  97. }
  98. - (void)setMaximumColumn:(NSInteger)val {
  99. [self addCustomParameterWithName:kMaxColParamName
  100. value:[self stringParamOrNilForInt:val]];
  101. }
  102. - (NSInteger)maximumColumn {
  103. return [self intValueForParameterWithName:kMaxColParamName
  104. missingParameterValue:0];
  105. }
  106. - (void)setRange:(NSString *)str {
  107. [self addCustomParameterWithName:kRangeParamName
  108. value:str];
  109. }
  110. - (NSString *)range {
  111. return [self valueForParameterWithName:kRangeParamName];
  112. }
  113. - (void)setShouldReturnEmpty:(BOOL)flag {
  114. [self addCustomParameterWithName:kReturnEmptyParamName
  115. boolValue:flag
  116. defaultValue:NO];
  117. }
  118. - (BOOL)shouldReturnEmpty {
  119. return [self boolValueForParameterWithName:kReturnEmptyParamName
  120. defaultValue:NO];
  121. }
  122. @end
  123. #endif // !GDATA_REQUIRE_SERVICE_INCLUDES || GDATA_INCLUDE_SPREADSHEET_SERVICE