00001 #ifndef __ARC_SEC_STRINGATTRIBUTE_H__
00002 #define __ARC_SEC_STRINGATTRIBUTE_H__
00003
00004 #include <arc/security/ArcPDP/attr/AttributeValue.h>
00005
00006 namespace ArcSec {
00007 class StringAttribute : public AttributeValue {
00008 private:
00009 static std::string identifier;
00010 std::string value;
00011 std::string id;
00012
00013 public:
00014 StringAttribute(){ };
00015 StringAttribute(const std::string& v,const std::string& i) : value(v), id(i){ };
00016 virtual ~StringAttribute(){ };
00017
00018 virtual bool equal(AttributeValue* other, bool check_id = true);
00019 virtual bool inrange(AttributeValue* other);
00020 virtual std::string encode() {return value;};
00021 std::string getValue(){ return value; };
00022 virtual std::string getType() {return identifier; };
00023 virtual std::string getId() {return id;};
00024 static const std::string& getIdentifier(void) { return identifier; };
00025
00026 };
00027
00028 }
00029
00030 #endif
00031
00032