package com.tvd12.ezyfox.binding.testing.objectbinding;

import java.util.List;

import com.tvd12.ezyfox.binding.EzyAccessType;
import com.tvd12.ezyfox.binding.annotation.EzyObjectBinding;
import com.tvd12.ezyfox.binding.annotation.EzyValue;
import com.tvd12.ezyfox.collect.Lists;

import lombok.AccessLevel;
import lombok.Getter;
import lombok.Setter;

@Setter
@Getter
@EzyObjectBinding(accessType = EzyAccessType.NONE)
public class ClassA {
	
	@EzyValue("1")
	private String a = "1";

	@EzyValue("2")
	private String b = "2";
	
	@EzyValue("3")
	private List<?> c = Lists.newArrayList(1, 2, 3);
	
	@Setter(AccessLevel.NONE)
	@Getter(AccessLevel.NONE)
	@EzyValue("4")
	private String d = "4";
	
	@Setter(AccessLevel.NONE)
	@Getter(AccessLevel.NONE)
	@EzyValue("5")
	private String e = "5";
	
	@Setter(AccessLevel.NONE)
	@Getter(AccessLevel.NONE)
	@EzyValue("9")
	public List<?> i = Lists.newArrayList(1, 2, 3);
	
	@EzyValue("6")
	public void getF() {
	}
	
	@EzyValue("6")
	public void setF(String a, String b) {
		
	}
	
	@EzyValue("7")
	protected String getG() {
		return "g";
	}
	
	@EzyValue("8")
	public List<?> getH() {
		return Lists.newArrayList(1, 2, 3);
	}
	
	@EzyValue("8")
	public void setH(List<?> h) {
		
	}
}

@@ -345,16 +345,40 @@
 .Setter;
+%0Aimport lombok.ToString;
 %0A%0A@Sette
@@ -387,16 +387,26 @@
 @Getter%0A
+@ToString%0A
 @EzyObje
@@ -936,24 +936,117 @@
 1, 2, 3);%0A%09%0A
+%09@Getter%0A%09@Setter%0A%09@EzyValue(%22booleanValue%22)%0A%09private Boolean booleanValue = Boolean.TRUE;%0A%09%0A
 %09@EzyValue(%22

add unitest