// Path: annotation/src/main/java/link/anyauto/smartkey/annotation/AnnotationConstants.java
// public class AnnotationConstants {
//     public static final String SUFFIX_INTENT_BUILDER = "IBuilder";
//     public static final String SUFFIX_SHARED_PREFERENCES_BUILDER = "SPBuilder";
//     public static final String SUFFIX_ACTIVITY_TARGET = "ATarget";
//     public static final String SUFFIX_SERVICE_TARGET = "STarget";
// 
//     public static final String TARGET_TYPE_ACTIVITY = "activity";
//     public static final String TARGET_TYPE_ACTIVITY_ALIAS = "activity-alias";
//     public static final String TARGET_TYPE_SERVICE = "service";
// }


import com.squareup.javapoet.ClassName;
import com.squareup.javapoet.FieldSpec;
import com.squareup.javapoet.JavaFile;
import com.squareup.javapoet.MethodSpec;
import com.squareup.javapoet.TypeName;
import com.squareup.javapoet.TypeSpec;
import java.io.IOException;
import java.util.LinkedList;
import java.util.List;
import javax.annotation.processing.ProcessingEnvironment;
import javax.lang.model.element.Modifier;
import link.anyauto.smartkey.annotation.AnnotationConstants;
import link.anyauto.smartkey.annotation.SmartSharedPreferences;
package link.anyauto.smartkey.apt;





/**
 * <pre>
 *  Generate helper classes and methods for manipulating shared preferences.
 *  Recommend way:
 *      Write only one class describing all data needed for the whole application,
 *      then read and write anything through the generated class' helper methods.
 * </pre>
 */
public class SharePreferenceGenerator extends Generator {
    public SharePreferenceGenerator(ProcessingEnvironment env) {
        super(env);
        smartClz = SmartSharedPreferences.class;
    }

    @Override
    protected void genClass(ClassDescription des) {
// Path: annotation/src/main/java/link/anyauto/smartkey/annotation/AnnotationConstants.java
// public class AnnotationConstants {
//     public static final String SUFFIX_INTENT_BUILDER = "IBuilder";
//     public static final String SUFFIX_SHARED_PREFERENCES_BUILDER = "SPBuilder";
//     public static final String SUFFIX_ACTIVITY_TARGET = "ATarget";
//     public static final String SUFFIX_SERVICE_TARGET = "STarget";
// 
//     public static final String TARGET_TYPE_ACTIVITY = "activity";
//     public static final String TARGET_TYPE_ACTIVITY_ALIAS = "activity-alias";
//     public static final String TARGET_TYPE_SERVICE = "service";
// }


// Path: apt/src/main/java/link/anyauto/smartkey/apt/SharePreferenceGenerator.java
import com.squareup.javapoet.ClassName;
import com.squareup.javapoet.FieldSpec;
import com.squareup.javapoet.JavaFile;
import com.squareup.javapoet.MethodSpec;
import com.squareup.javapoet.TypeName;
import com.squareup.javapoet.TypeSpec;
import java.io.IOException;
import java.util.LinkedList;
import java.util.List;
import javax.annotation.processing.ProcessingEnvironment;
import javax.lang.model.element.Modifier;
import link.anyauto.smartkey.annotation.AnnotationConstants;
import link.anyauto.smartkey.annotation.SmartSharedPreferences;

package link.anyauto.smartkey.apt;





/**
 * <pre>
 *  Generate helper classes and methods for manipulating shared preferences.
 *  Recommend way:
 *      Write only one class describing all data needed for the whole application,
 *      then read and write anything through the generated class' helper methods.
 * </pre>
 */
public class SharePreferenceGenerator extends Generator {
    public SharePreferenceGenerator(ProcessingEnvironment env) {
        super(env);
        smartClz = SmartSharedPreferences.class;
    }

    @Override
    protected void genClass(ClassDescription des) {
        String clzName = des.simpleClzName + AnnotationConstants.SUFFIX_SHARED_PREFERENCES_BUILDER;