 //        return nil
 //    }
     
-    class func createObjectFromJson< T : JSONObject >(json:JSON) -> T {
+    public class func createObjectFromJson< T : JSONObject >(json:JSON) -> T {
         
         return T.createObjectFromDict(json.dictionaryObject!)
     }
     
-    func setExtraPropertiesFromJSON(json:JSON) {
+    public func setExtraPropertiesFromJSON(json:JSON) {
         
     }
     

        classMappings[propertyKey] = mapping
    }
    
    func registerClass(anyClass: AnyClass, propertyKey: String, jsonKey: String) {
        
        registerClass(anyClass, propertyKey: propertyKey, jsonKey: jsonKey, format: nil)
    }
    
    func registerClass(anyClass: AnyClass, forKey: String) {
        
        registerClass(anyClass, propertyKey: forKey, jsonKey: forKey)
    }
    
    func registerDate(propertyKey: String, jsonKey: String, format: String) {
        
        registerClass(NSDate.self, propertyKey: propertyKey, jsonKey: jsonKey, format: format)
    }
    
    func registerDate(forKey: String, format: String) {
        
        registerDate(forKey, jsonKey: forKey, format: format)
    }

//}

protocol WebApiManagerDelegate {
    func webApiRestObjectID() -> Int?
}

@objc protocol JsonMappingDelegate {
    optional func registerClassesForJsonMapping()
}

public class JSONObject: NSObject, WebApiManagerDelegate, JsonMappingDelegate {
