Logo Search packages:      
Sourcecode: libjson-java version File versions

static JSONArray net::sf::json::JSONArray::_fromArray ( Enum  e,
JsonConfig  jsonConfig 
) [inline, static, private]

Construct a JSONArray from an Enum value.

Parameters:
e A enum value.
Exceptions:
JSONException If there is a syntax error.

Definition at line 839 of file JSONArray.java.

References net::sf::json::AbstractJSON::addInstance(), elements, net::sf::json::AbstractJSON::fireArrayEndEvent(), net::sf::json::AbstractJSON::fireArrayStartEvent(), net::sf::json::AbstractJSON::fireElementAddedEvent(), net::sf::json::AbstractJSON::fireErrorEvent(), get(), net::sf::json::JsonConfig::getCycleDetectionStrategy(), net::sf::json::util::CycleDetectionStrategy::handleRepeatedReferenceAsArray(), JSONArray(), and net::sf::json::AbstractJSON::removeInstance().

                                                                        {

      fireArrayStartEvent( jsonConfig );
      if( !addInstance( e ) ){
         try{
            return jsonConfig.getCycleDetectionStrategy()
                  .handleRepeatedReferenceAsArray( e );
         }catch( JSONException jsone ){
            removeInstance( e );
            fireErrorEvent( jsone, jsonConfig );
            throw jsone;
         }catch( RuntimeException re ){
            removeInstance( e );
            JSONException jsone = new JSONException( re );
            fireErrorEvent( jsone, jsonConfig );
            throw jsone;
         }
      }
      JSONArray jsonArray = new JSONArray();
      if( e != null ){
         jsonArray.elements.add( e.toString() );
         fireElementAddedEvent( 0, jsonArray.get( 0 ), jsonConfig );
      }else{
         JSONException jsone = new JSONException( "enum value is null" );
         removeInstance( e );
         fireErrorEvent( jsone, jsonConfig );
         throw jsone;
      }

      removeInstance( e );
      fireArrayEndEvent( jsonConfig );
      return jsonArray;
   }


Generated by  Doxygen 1.6.0   Back to index