Update JSON_OBJECT, put routine, now follows Eiffel Style based on HAST_TABLE

This commit is contained in:
jvelilla
2008-06-09 02:18:34 +00:00
parent aaa10d178a
commit cb595d27f4
2 changed files with 32 additions and 27 deletions

View File

@@ -17,7 +17,4 @@
<cluster name="scanner" location=".\scanner\"/>
</cluster>
</target>
<target name="json_dotnet" extends="json">
<setting name="msil_generation" value="true"/>
</target>
</system>

View File

@@ -36,10 +36,11 @@ feature -- Initialization
feature -- Change Element
put(key:JSON_STRING; value:JSON_VALUE) is
--
put(value:JSON_VALUE ; key:JSON_STRING) is
-- Assuming there is no item of key `key',
-- insert `value' with `key'.
require
not_null: key /= Void
not_present: not has_key (key)
local
l_json_null:JSON_NULL
l_value:JSON_VALUE
@@ -52,6 +53,7 @@ feature -- Change Element
object.extend(l_value,key)
end
feature -- Access
has_key(key:JSON_STRING):BOOLEAN is
-- has the JSON_OBJECT contains a specific key 'key'.
@@ -59,13 +61,19 @@ feature -- Access
Result := object.has (key)
end
has_item(value:JSON_VALUE):BOOLEAN is
-- has the JSON_OBJECT contain a specfic item 'value'
do
Result := object.has_item (value)
end
item(key:JSON_STRING):JSON_VALUE is
-- the json_value associated with a key.
do
Result:= object.item (key)
end
get_keys:ARRAY[JSON_STRING] is
current_keys:ARRAY[JSON_STRING] is
-- array containing actually used keys
do
Result:=object.current_keys