/** * the constructor. * * @param element * @category constructor */ public ClassGenerateHelper(Element element) { classElement = element; g.setPackageName(getPackageName(element)); g.setTarget(getSimpleName(element)); TypeElement superclass = AptUtil.getSuperClassElement(element); if (superclass.getAnnotation(JsonModel.class) != null) { g.setTargetBase(AptUtil.getFullQualifiedName(superclass)); g.setExistsBase(true); } g.setPostfix(postfix); g.setTreatUnknownKeyAsError(getTreatUnknownKeyAsError(element)); }
@Override public JsonElement visitEnum(DeclaredType t, Element el) { Types typeUtils = processingEnv.getTypeUtils(); if (AptUtil.isInternalType(typeUtils, el.asType())) { // InternalなEnum TypeElement typeElement = AptUtil.getTypeElement(typeUtils, el); if (AptUtil.isPublic(typeElement)) { return genJsonElement(t, el, Kind.ENUM); } else { Log.e("Internal EnumType must use public & static.", el); encountError = true; return defaultAction(t, el); } } else { // InternalじゃないEnum return genJsonElement(t, el, Kind.ENUM); } }