| package com.matrix.component.ueditor.define; | 
|   | 
| import com.matrix.component.ueditor.Encoder; | 
|   | 
| import java.util.HashMap; | 
| import java.util.Iterator; | 
| import java.util.Map; | 
|   | 
|   | 
| public class BaseState implements State { | 
|   | 
|     private boolean state = false; | 
|     private String info = null; | 
|      | 
|     private Map<String, String> infoMap = new HashMap<String, String>(); | 
|      | 
|     public BaseState () { | 
|         this.state = true; | 
|     } | 
|      | 
|     public BaseState ( boolean state ) { | 
|         this.setState( state ); | 
|     } | 
|      | 
|     public BaseState ( boolean state, String info ) { | 
|         this.setState( state ); | 
|         this.info = info; | 
|     } | 
|      | 
|     public BaseState ( boolean state, int infoCode ) { | 
|         this.setState( state ); | 
|         this.info = AppInfo.getStateInfo( infoCode ); | 
|     } | 
|      | 
|     public boolean isSuccess () { | 
|         return this.state; | 
|     } | 
|      | 
|     public void setState ( boolean state ) { | 
|         this.state = state; | 
|     } | 
|      | 
|     public void setInfo ( String info ) { | 
|         this.info = info; | 
|     } | 
|      | 
|     public void setInfo ( int infoCode ) { | 
|         this.info = AppInfo.getStateInfo( infoCode ); | 
|     } | 
|      | 
|     @Override | 
|     public String toJSONString() { | 
|         return this.toString(); | 
|     } | 
|      | 
|     public String toString () { | 
|          | 
|         String key = null; | 
|         String stateVal = this.isSuccess() ? AppInfo.getStateInfo( AppInfo.SUCCESS ) : this.info; | 
|          | 
|         StringBuilder builder = new StringBuilder(); | 
|          | 
|         builder.append( "{\"state\": \"" + stateVal + "\"" ); | 
|          | 
|         Iterator<String> iterator = this.infoMap.keySet().iterator(); | 
|          | 
|         while ( iterator.hasNext() ) { | 
|              | 
|             key = iterator.next(); | 
|              | 
|             builder.append( ",\"" + key + "\": \"" + this.infoMap.get(key) + "\"" ); | 
|              | 
|         } | 
|          | 
|         builder.append( "}" ); | 
|   | 
|         return Encoder.toUnicode( builder.toString() ); | 
|   | 
|     } | 
|   | 
|     @Override | 
|     public void putInfo(String name, String val) { | 
|         this.infoMap.put(name, val); | 
|     } | 
|   | 
|     @Override | 
|     public void putInfo(String name, long val) { | 
|         this.putInfo(name, val+""); | 
|     } | 
|   | 
| } |