Please rename this class to Json**.
JSON** ones the copied ones from Douglas Crockford's JSON-java lib. There
are few Json** ones in the same package which are ours. There is also
README file in this package explaining this.
I know this is not perfect but it works.


On Fri, Mar 29, 2013 at 3:50 AM, <ivaynb...@apache.org> wrote:

> Updated Branches:
>   refs/heads/master bf13599b1 -> b29bb9052
>
>
> added a more efficient json stringer impl
>
>
> Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
> Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/b29bb905
> Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/b29bb905
> Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/b29bb905
>
> Branch: refs/heads/master
> Commit: b29bb90525a50d78023e5b7b4b43dfcf64bf0900
> Parents: bf13599
> Author: Igor Vaynberg <igor.vaynb...@gmail.com>
> Authored: Thu Mar 28 18:50:16 2013 -0700
> Committer: Igor Vaynberg <igor.vaynb...@gmail.com>
> Committed: Thu Mar 28 18:50:23 2013 -0700
>
> ----------------------------------------------------------------------
>  .../wicket/ajax/json/JSONSequenceStringer.java     |   60 +++++++++++++++
>  1 files changed, 60 insertions(+), 0 deletions(-)
> ----------------------------------------------------------------------
>
>
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/b29bb905/wicket-core/src/main/java/org/apache/wicket/ajax/json/JSONSequenceStringer.java
> ----------------------------------------------------------------------
> diff --git
> a/wicket-core/src/main/java/org/apache/wicket/ajax/json/JSONSequenceStringer.java
> b/wicket-core/src/main/java/org/apache/wicket/ajax/json/JSONSequenceStringer.java
> new file mode 100644
> index 0000000..ffe7d15
> --- /dev/null
> +++
> b/wicket-core/src/main/java/org/apache/wicket/ajax/json/JSONSequenceStringer.java
> @@ -0,0 +1,60 @@
> +/*
> + * Licensed to the Apache Software Foundation (ASF) under one or more
> + * contributor license agreements.  See the NOTICE file distributed with
> + * this work for additional information regarding copyright ownership.
> + * The ASF licenses this file to You under the Apache License, Version 2.0
> + * (the "License"); you may not use this file except in compliance with
> + * the License.  You may obtain a copy of the License at
> + *
> + *      http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing, software
> + * distributed under the License is distributed on an "AS IS" BASIS,
> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> implied.
> + * See the License for the specific language governing permissions and
> + * limitations under the License.
> + */
> +package org.apache.wicket.ajax.json;
> +
> +import java.io.IOException;
> +
> +import org.apache.wicket.util.io.StringBufferWriter;
> +
> +import com.sun.istack.internal.Nullable;
> +
> +/**
> + * An efficient implementation of a JSON stringer. The efficiency comes
> from the fact that istead of
> + * a {@link String} this class can return a {@link CharSequence}. This is
> better for downstream
> + * method that can accept a {@link CharSequence} becuase it requires one
> less memory copy of the
> + * internal {@link AppendingStringBufferWriter} to a {@link String} to
> get the JSON.
> + *
> + * @author igor
> + */
> +public class JSONSequenceStringer extends JSONWriter
> +{
> +       public JSONSequenceStringer()
> +       {
> +               super(new StringBufferWriter());
> +       }
> +
> +       /**
> +        * @return JSON text as a {@link CharSequence}
> +        */
> +       @Nullable
> +       public CharSequence toCharSequence()
> +       {
> +
> +               if (mode != 'd')
> +                       return null;
> +
> +               try
> +               {
> +                       writer.flush();
> +               }
> +               catch (IOException e)
> +               {
> +                       throw new RuntimeException(e);
> +               }
> +               return ((StringBufferWriter)writer).getStringBuffer();
> +       }
> +}
>
>


-- 
Martin Grigorov
jWeekend
Training, Consulting, Development
http://jWeekend.com <http://jweekend.com/>

Reply via email to