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

@@ -1,23 +1,20 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-3-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-3-0 http://www.eiffel.com/developers/xml/configuration-1-3-0.xsd" name="json" uuid="4E21C3BD-7951-4C6E-A673-431E762D7414" library_target="json">
<target name="json">
<root all_classes="true"/>
<option namespace="EJSON.Library">
</option>
<library name="base" location="$ISE_LIBRARY\library\base\base.ecf"/>
<cluster name="json" location=".\" recursive="true">
<file_rule>
<exclude>/EIFGENs$</exclude>
<exclude>/.svn$</exclude>
<exclude>/CVS$</exclude>
</file_rule>
<file_rule>
<exclude>^/scanner$</exclude>
</file_rule>
<cluster name="scanner" location=".\scanner\"/>
</cluster>
</target>
<target name="json_dotnet" extends="json">
<setting name="msil_generation" value="true"/>
</target>
</system>
<?xml version="1.0" encoding="ISO-8859-1"?>
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-3-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-3-0 http://www.eiffel.com/developers/xml/configuration-1-3-0.xsd" name="json" uuid="4E21C3BD-7951-4C6E-A673-431E762D7414" library_target="json">
<target name="json">
<root all_classes="true"/>
<option namespace="EJSON.Library">
</option>
<library name="base" location="$ISE_LIBRARY\library\base\base.ecf"/>
<cluster name="json" location=".\" recursive="true">
<file_rule>
<exclude>/EIFGENs$</exclude>
<exclude>/.svn$</exclude>
<exclude>/CVS$</exclude>
</file_rule>
<file_rule>
<exclude>^/scanner$</exclude>
</file_rule>
<cluster name="scanner" location=".\scanner\"/>
</cluster>
</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