/
ANFilter.h
70 lines (51 loc) · 2.06 KB
/
ANFilter.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
//
// ANFilter.h
// Alef
//
// Created by Brent Royal-Gordon on 10/19/12.
// Copyright (c) 2012 Architechies. All rights reserved.
//
#import "ANIdentifiedResource.h"
//@class ANDraftFilter;
typedef enum {
ANFilterMatchPolicyIncludeAny,
ANFilterMatchPolicyIncludeAll,
ANFilterMatchPolicyExcludeAny,
ANFilterMatchPolicyExcludeAll
} ANFilterMatchPolicy;
extern NSString * ANStringFromFilterMatchPolicy(ANFilterMatchPolicy matchPolicy);
extern ANFilterMatchPolicy ANFilterMatchPolicyFromString(NSString * string);
@interface ANFilter : ANIdentifiedResource
@property (nonatomic,readonly) NSString * name;
@property (nonatomic,readonly) NSArray * clauses;
@property (nonatomic,readonly) NSArray * clauseRepresentations;
@property (nonatomic,readonly) ANFilterMatchPolicy matchPolicy;
@property (nonatomic,readonly) NSString * matchPolicyRepresentation;
//- (ANDraftFilter*)draftFilter;
@end
typedef enum {
ANFilterClauseObjectTypePost,
ANFilterClauseObjectTypeStar,
ANFilterClauseObjectTypeUserFollow
} ANFilterClauseObjectType;
extern NSString * ANStringFromFilterClauseObjectType(ANFilterClauseObjectType objectType);
extern ANFilterClauseObjectType ANFilterClauseObjectTypeFromString(NSString * string);
typedef enum {
ANFilterClauseOperatorEquals,
ANFilterClauseOperatorMatches,
ANFilterClauseOperatorLess,
ANFilterClauseOperatorLessOrEquals,
ANFilterClauseOperatorGreater,
ANFilterClauseOperatorGreaterOrEquals,
ANFilterClauseOperatorOneOf
} ANFilterClauseOperator;
extern NSString * ANStringFromFilterClauseOperator(ANFilterClauseOperator operator);
extern ANFilterClauseOperator ANFilterClauseOperatorFromString(NSString * string);
@interface ANFilterClause : ANResource
@property (nonatomic,readonly) ANFilterClauseObjectType objectType;
@property (nonatomic,readonly) NSString * objectTypeRepresentation;
@property (nonatomic,readonly) ANFilterClauseOperator operator;
@property (nonatomic,readonly) NSString * operatorRepresentation;
@property (nonatomic,readonly) NSString * field;
@property (nonatomic,readonly) id value;
@end