//
// BeanUtils.h
// GotoBus
//
// Created by haibara on 1/19/15.
//
//

#import <Foundation/Foundation.h>

@interface BeanUtils : NSObject

+ (NSDictionary *)describe:(id)bean;
+ (void)populate:(id)bean properties:(NSDictionary *)properties;
+ (void)copyProperties:(id)dest origin:(id)orig;

+ (NSArray *)keysForAccessiblePropertyWithClass:(Class)beanClass;
+ (NSArray *)keysForAccessibleSimplePropertyWithClass:(Class)beanClass;
+ (NSDictionary *)describe:(id)bean keys:(NSArray *)keys;
+ (NSDictionary *)describeAccessible:(id)bean;
+ (NSDictionary *)describeAccessibleSimple:(id)bean;
+ (NSDictionary *)describeAccessibleSimple:(id)bean superClass:(Class)superClass;
+ (id)copyWithZone:(NSZone *)zone origin:(id)orig;
+ (id)copyWithZone:(NSZone *)zone origin:(id)orig superClass:(Class)superClass;

@end
