/NSRTMParamsCriteria.m

http://rtm2cocoa.googlecode.com/ · Objective C · 94 lines · 61 code · 13 blank · 20 comment · 5 complexity · 6e741d27d5371915bb44232d875de11d MD5 · raw file

  1. /*
  2. * NSRTMParamsCriteria.m
  3. * RTMApiTest
  4. *
  5. * Created by kkillian on 17/11/09.
  6. * Copyright 2009 shufflecodebox. All rights reserved.
  7. * This program is free software; you can redistribute it and/or modify
  8. * it under the terms of the GNU General Public License as published by
  9. * the Free Software Foundation; either version 2 of the License, or
  10. * (at your option) any later version.
  11. *
  12. * This program is distributed in the hope that it will be useful,
  13. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15. * GNU General Public License for more details.
  16. *
  17. * You should have received a copy of the GNU General Public License
  18. * along with this program; if not, write to the Free Software
  19. * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  20. */
  21. #import "NSRTMParamsCriteria.h"
  22. #define RTMCriteriaListName @"list"
  23. #define RTMCriteriaTaskName @"name"
  24. #define RTMCriteriaNoteContains @"noteContains"
  25. #define RTMCriteriaHasNotes @"hasNotes"
  26. #define RTMCriteriaPriority @"priority"
  27. #define RTMCriteriaTimeEstimate @"timeEstimate"
  28. #define RTMCriteriaPostponed @"postponed"
  29. #define RTMCriteriaStatus @"status"
  30. #define RTM_TRUE @"true"
  31. #define RTM_FALSE @"false"
  32. @implementation NSRTMParamsCriteria
  33. +(NSRTMParamsCriteria *)criteriaWithListName:(NSString *)value {
  34. NSRTMParamsCriteria *criteria = [[[NSRTMParamsCriteria alloc] initWithCriteria:RTMCriteriaListName] retain];
  35. [criteria setCriteriaValue:value];
  36. return criteria;
  37. }
  38. +(NSRTMParamsCriteria *)criteriaWithTaskName:(NSString *)value {
  39. NSRTMParamsCriteria *criteria = [[[NSRTMParamsCriteria alloc] initWithCriteria:RTMCriteriaTaskName] retain];
  40. [criteria setCriteriaValue:value];
  41. return criteria;
  42. }
  43. +(NSRTMParamsCriteria *)criteriaWithNote:(NSString *)value {
  44. NSRTMParamsCriteria *criteria = [[[NSRTMParamsCriteria alloc] initWithCriteria:RTMCriteriaNoteContains] retain];
  45. [criteria setCriteriaValue:value];
  46. return criteria;
  47. }
  48. +(NSRTMParamsCriteria *)criteriaWithNoted:(BOOL)value {
  49. NSRTMParamsCriteria *criteria = [[[NSRTMParamsCriteria alloc] initWithCriteria:RTMCriteriaHasNotes] retain];
  50. if(value) {
  51. [criteria setCriteriaValue:RTM_TRUE];
  52. } else {
  53. [criteria setCriteriaValue:RTM_FALSE];
  54. }
  55. return criteria;
  56. }
  57. +(NSRTMParamsCriteria *)criteriaWithPriority:(NSInteger *)value {
  58. NSRTMParamsCriteria *criteria = [[[NSRTMParamsCriteria alloc] initWithCriteria:RTMCriteriaPriority] retain];
  59. [criteria setCriteriaValue:[NSString stringWithFormat:@"%d", value]];
  60. return criteria;
  61. }
  62. +(NSRTMParamsCriteria *)criteriaWithEstimeteTime:(NSString *)value {
  63. NSRTMParamsCriteria *criteria = [[[NSRTMParamsCriteria alloc] initWithCriteria:RTMCriteriaTimeEstimate] retain];
  64. [criteria setCriteriaValue:value];
  65. return criteria;
  66. }
  67. +(NSRTMParamsCriteria *)criteriaWithPosponedNum:(NSInteger*)value option:(NSRTMPosponedFilter)filter {
  68. NSRTMParamsCriteria *criteria = [[[NSRTMParamsCriteria alloc] initWithCriteria:RTMCriteriaPostponed] retain];
  69. [criteria setCriteriaValue:[NSString stringWithFormat:@"%d", value]];
  70. return criteria;
  71. }
  72. +(NSRTMParamsCriteria *)criteriaWithStatus:(NSRTMStatusOptions)value {
  73. NSRTMParamsCriteria *criteria = [[[NSRTMParamsCriteria alloc] initWithCriteria:RTMCriteriaStatus] retain];
  74. if(value == NSRTMTaskStatusCompleted) {
  75. [criteria setCriteriaValue:@"completed"];
  76. } else {
  77. [criteria setCriteriaValue:@"incomplete"];
  78. }
  79. return criteria;
  80. }
  81. @end