diff --git a/src/com/wentch/redkale/util/AnyValue.java b/src/com/wentch/redkale/util/AnyValue.java index 8bc9795a6..2a89fb37a 100644 --- a/src/com/wentch/redkale/util/AnyValue.java +++ b/src/com/wentch/redkale/util/AnyValue.java @@ -54,6 +54,66 @@ public interface AnyValue { return rs; } + public void addAll(final AnyValue av) { + if (av == null) return; + if (av instanceof DefaultAnyValue) { + final DefaultAnyValue adv = (DefaultAnyValue) av; + if (adv.stringValues != null) { + for (Entry en : adv.stringValues) { + this.addValue(en.name, en.value); + } + } + if (adv.entityValues != null) { + for (Entry en : adv.entityValues) { + this.addValue(en.name, en.value); + } + } + } else { + final Entry[] strings = av.getStringEntrys(); + if (strings != null) { + for (Entry en : strings) { + this.addValue(en.name, en.value); + } + } + final Entry[] anys = av.getAnyEntrys(); + if (anys != null) { + for (Entry en : anys) { + this.addValue(en.name, en.value); + } + } + } + } + + public void setAll(final AnyValue av) { + if (av == null) return; + if (av instanceof DefaultAnyValue) { + final DefaultAnyValue adv = (DefaultAnyValue) av; + if (adv.stringValues != null) { + for (Entry en : adv.stringValues) { + this.setValue(en.name, en.value); + } + } + if (adv.entityValues != null) { + for (Entry en : adv.entityValues) { + this.setValue(en.name, en.value); + } + } + } else { + final Entry[] strings = av.getStringEntrys(); + if (strings != null) { + for (Entry en : strings) { + this.setValue(en.name, en.value); + } + } + final Entry[] anys = av.getAnyEntrys(); + if (anys != null) { + for (Entry en : anys) { + this.setValue(en.name, en.value); + } + } + } + } + @Override public Entry[] getStringEntrys() { return stringValues;