]> err.no Git - sope/blob - sope-appserver/NGObjWeb/Associations/WOLabelAssociation.h
improved SOPE security exceptions
[sope] / sope-appserver / NGObjWeb / Associations / WOLabelAssociation.h
1 /*
2   Copyright (C) 2000-2004 SKYRIX Software AG
3
4   This file is part of OpenGroupware.org.
5
6   OGo is free software; you can redistribute it and/or modify it under
7   the terms of the GNU Lesser General Public License as published by the
8   Free Software Foundation; either version 2, or (at your option) any
9   later version.
10
11   OGo is distributed in the hope that it will be useful, but WITHOUT ANY
12   WARRANTY; without even the implied warranty of MERCHANTABILITY or
13   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
14   License for more details.
15
16   You should have received a copy of the GNU Lesser General Public
17   License along with OGo; see the file COPYING.  If not, write to the
18   Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
19   02111-1307, USA.
20 */
21 // $Id$
22
23 #ifndef __NGObjWeb_WOLabelAssociation_H__
24 #define __NGObjWeb_WOLabelAssociation_H__
25
26 #include <NGObjWeb/WOAssociation.h>
27
28 /*
29   WOLabelAssociation
30
31   String value syntax:
32     "next"       - lookup key 'next' in table 'nil'   with default 'next'
33     "table/next" - lookup key 'next' in table 'table' with default 'next'
34   
35   This association performs a string lookup in the components 
36   WOResourceManager (or the app's manager if the component has none). It uses 
37   the session and browser languages for the key lookup.
38   
39   Note that this also supports keypathes by prefixing the values with an
40   "$", eg: "$currentDay" will first evaluate "currentDay" in the component
41   and then pipe the result through the label processor.
42   We consider that a bit hackish, but given that it is often required in
43   practice, a pragmatic implementation.
44 */
45
46 @interface WOLabelAssociation : WOAssociation < NSCopying >
47 {
48   NSString *key;
49   NSString *table;
50   NSString *defaultValue;
51   struct {
52     int isKeyKeyPath:1;
53     int isTableKeyPath:1;
54     int isValueKeyPath:1;
55     int reserved:29;
56   } flags;
57 }
58
59 - (id)initWithKey:(NSString *)_key inTable:(NSString *)_table
60   withDefaultValue:(NSString *)_default;
61
62 - (id)initWithString:(NSString *)_str;
63
64 /* value */
65
66 - (BOOL)isValueConstant; // returns NO
67 - (BOOL)isValueSettable; // returns NO
68
69 @end
70
71 #endif /* __NGObjWeb_WOLabelAssociation_H__ */