List of usage examples for javax.lang.model.element Modifier FINAL
Modifier FINAL
To view the source code for javax.lang.model.element Modifier FINAL.
Click Source Link
From source file:info.archinnov.achilles.internals.codegen.dsl.select.SelectDSLCodeGen.java
public static TypeSpec buildSelectClass(EntityMetaSignature signature) { final String firstPartitionKey = signature.fieldMetaSignatures.stream() .filter(x -> x.context.columnType == ColumnType.PARTITION) .map(x -> Tuple2.of(x.context.fieldName, (PartitionKeyInfo) x.context.columnInfo)) .sorted(TUPLE2_PARTITION_KEY_SORTER).map(Tuple2::_1).findFirst().get(); TypeName selectFromTypeName = ClassName.get(DSL_PACKAGE, signature.selectFromReturnType()); TypeName selectColumnsTypeName = ClassName.get(DSL_PACKAGE, signature.selectColumnsReturnType()); final TypeSpec.Builder selectClassBuilder = TypeSpec.classBuilder(signature.selectClassName()) .superclass(ABSTRACT_SELECT).addModifiers(Modifier.PUBLIC, Modifier.FINAL) .addMethod(buildSelectConstructor(signature)).addField(buildExactEntityMetaField(signature)) .addField(buildEntityClassField(signature)).addType(buildSelectColumns(signature)) .addType(buildSelectFrom(signature, firstPartitionKey)); signature.fieldMetaSignatures.stream().filter(x -> x.context.columnType != ColumnType.COMPUTED) .forEach(x -> selectClassBuilder .addMethod(buildSelectColumnMethod(selectColumnsTypeName, x, "select", NEW))); signature.fieldMetaSignatures.stream().filter(x -> x.context.columnType == ColumnType.COMPUTED) .forEach(x -> selectClassBuilder .addMethod(buildSelectComputedColumnMethod(selectColumnsTypeName, x, "select", NEW))); selectClassBuilder.addMethod(buildSelectFunctionCallMethod(selectColumnsTypeName, "select", NEW)); selectClassBuilder.addMethod(buildAllColumns(selectFromTypeName, SELECT_WHERE, "select")); selectClassBuilder.addMethod(buildAllColumnsWithSchemaProvider(selectFromTypeName, SELECT_WHERE, "select")); SelectWhereDSLCodeGen.buildWhereClasses(signature).forEach(selectClassBuilder::addType); return selectClassBuilder.build(); }
From source file:info.archinnov.achilles.internals.parser.validator.BeanValidator.java
public static void validateIsAConcreteNonFinalClass(AptUtils aptUtils, TypeElement typeElement) { final Name name = typeElement.getQualifiedName(); aptUtils.validateTrue(typeElement.getKind() == ElementKind.CLASS, "Bean type '%s' should be a class", name); final Set<Modifier> modifiers = typeElement.getModifiers(); aptUtils.validateFalse(modifiers.contains(Modifier.ABSTRACT), "Bean type '%s' should not be abstract", name);/*from ww w . j a v a2 s .com*/ aptUtils.validateFalse(modifiers.contains(Modifier.FINAL), "Bean type '%s' should not be final", name); }
From source file:me.oriley.shiv.holders.ExtraBindingHolder.java
@Override void addBindingsToClass(@NonNull TypeSpec.Builder typeSpecBuilder) throws ShivException { if (mElements.isEmpty()) { // Nothing to bind return;//from www. j av a 2s . c o m } // Type parameter ParameterSpec param = ParameterSpec .builder(TypeName.get(Object.class).annotated(AnnotationSpec.builder(NonNull.class).build()), OBJECT, Modifier.FINAL) .build(); // Create bindExtras method MethodSpec bindMethod = MethodSpec.methodBuilder(BIND_EXTRAS).addModifiers(Modifier.PUBLIC) .addAnnotation(Override.class).addParameter(param).addCode(generateBindExtrasMethod()).build(); typeSpecBuilder.addMethod(bindMethod); }
From source file:me.oriley.shiv.holders.ViewBindingHolder.java
@Override void addBindingsToClass(@NonNull TypeSpec.Builder typeSpecBuilder) throws ShivException { if (mElements.isEmpty()) { // Nothing to bind return;//from w ww . j a v a2s . c o m } // Type parameter ParameterSpec param = ParameterSpec .builder(TypeName.get(Object.class).annotated(AnnotationSpec.builder(NonNull.class).build()), OBJECT, Modifier.FINAL) .build(); ParameterSpec viewGroupParam = ParameterSpec .builder(ClassName.get(ViewGroup.class).annotated(AnnotationSpec.builder(NonNull.class).build()), VIEW_GROUP, Modifier.FINAL) .build(); // Add count to final field for early exit strategy typeSpecBuilder.addField( FieldSpec.builder(int.class, VIEW_COUNT, Modifier.FINAL, Modifier.STATIC, Modifier.PRIVATE) .initializer("$L", mElements.size()).build()); // Create bindViews method MethodSpec publicBindMethod = MethodSpec.methodBuilder(BIND_VIEWS).addModifiers(Modifier.PUBLIC) .addAnnotation(Override.class).addParameter(param).addCode(generatePublicBindViewsMethod()).build(); // Create bindViews method MethodSpec iterativeBindMethod = MethodSpec.methodBuilder(BIND_VIEWS).addModifiers(Modifier.PRIVATE) .addParameter(param).addParameter(viewGroupParam).returns(int.class) .addCode(generateProtectedBindViewsMethod()).build(); // Create unbindViews method MethodSpec unbindMethod = MethodSpec.methodBuilder(UNBIND_VIEWS).addModifiers(Modifier.PUBLIC) .addAnnotation(Override.class).addParameter(param).addCode(generateUnbindViewsMethod()).build(); typeSpecBuilder.addMethod(publicBindMethod).addMethod(iterativeBindMethod).addMethod(unbindMethod); }
From source file:info.archinnov.achilles.internals.codegen.meta.UDTMetaCodeGen.java
public TypeSpec buildUDTClassProperty(TypeElement elm, EntityParsingContext context, List<FieldMetaSignature> parsingResults) { final TypeName rawBeanType = TypeName.get(aptUtils.erasure(elm)); final Optional<Strategy> strategy = aptUtils.getAnnotationOnClass(elm, Strategy.class); final String className = elm.getSimpleName() + META_SUFFIX; TypeName classType = ClassName.get(UDT_META_PACKAGE, className); final TypeSpec.Builder builder = TypeSpec.classBuilder(className) .addModifiers(Modifier.PUBLIC, Modifier.FINAL) .superclass(genericType(ABSTRACT_UDT_CLASS_PROPERTY, rawBeanType)) .addMethod(buildGetStaticKeyspace(elm)).addMethod(buildGetStaticUDTName(elm)) .addMethod(buildGetStaticNamingStrategy(strategy)).addMethod(buildGetUdtName(elm, context)) .addMethod(buildGetUdtClass(rawBeanType)) .addMethod(buildComponentsProperty(rawBeanType, parsingResults)) .addMethod(buildCreateUDTFromBeanT(rawBeanType, parsingResults)) .addMethod(buildCreateBeanFromUDT(rawBeanType, parsingResults)); for (FieldMetaSignature x : parsingResults) { builder.addField(x.buildPropertyAsField()); }//from w w w .j a va 2s.c o m /** * REALLY IMPORTANT, generate the INSTANCE field * right AFTER ALL the meta data */ builder.addField(build_INSTANCE_Field(classType)); return builder.build(); }
From source file:me.oriley.shiv.holders.NonConfigurationInstanceBindingHolder.java
@Override void addBindingsToClass(@NonNull TypeSpec.Builder typeSpecBuilder) throws ShivException { if (mElements.isEmpty()) { // Nothing to bind return;/*from w w w . ja va 2 s.co m*/ } // Type parameter ParameterSpec param = ParameterSpec .builder(TypeName.get(Object.class).annotated(AnnotationSpec.builder(NonNull.class).build()), OBJECT, Modifier.FINAL) .build(); ParameterSpec mapParam = ParameterSpec .builder(NON_CONFIGURATION_MAP_TYPE.annotated(AnnotationSpec.builder(NonNull.class).build()), MAP, Modifier.FINAL) .build(); // Create restoreNonConfigInstance method MethodSpec restoreMethod = MethodSpec.methodBuilder(RESTORE_NON_CONFIG_INSTANCE) .addModifiers(Modifier.PUBLIC).addAnnotation(Override.class).addParameter(param) .addCode(generateRestoreNonConfigInstanceMethod(typeSpecBuilder)).build(); // Create saveNonConfigInstance method MethodSpec saveMethod = MethodSpec.methodBuilder(SAVE_NON_CONFIG_INSTANCE).addModifiers(Modifier.PUBLIC) .addAnnotation(Override.class).addParameter(param).addParameter(mapParam) .addCode(generateSaveNonConfigInstanceMethod()).build(); typeSpecBuilder.addMethod(restoreMethod).addMethod(saveMethod); }
From source file:com.github.benmanes.caffeine.cache.node.NodeRule.java
/** Creates an accessor that returns the reference. */ protected final MethodSpec newGetRef(String varName) { MethodSpec.Builder getter = MethodSpec.methodBuilder("get" + capitalize(varName) + "Reference") .addModifiers(Modifier.PUBLIC, Modifier.FINAL).returns(Object.class); getter.addStatement("return $T.UNSAFE.getObject(this, $N)", UNSAFE_ACCESS, offsetName(varName)); return getter.build(); }
From source file:ch.rasc.constgen.CodeGenerator.java
public void generate(Appendable appendable) throws IOException { Builder classBuilder = TypeSpec.classBuilder(this.className); classBuilder.addModifiers(Modifier.PUBLIC, Modifier.FINAL); for (Constant constant : collectFields()) { FieldSpec fieldSpec = FieldSpec.builder(String.class, constant.getName()) .addModifiers(Modifier.PUBLIC, Modifier.FINAL, Modifier.STATIC) .initializer("$S", constant.getValue()).build(); classBuilder.addField(fieldSpec); }/*ww w . ja v a 2 s .c o m*/ JavaFile javaFile = JavaFile.builder(this.packageName, classBuilder.build()).build(); javaFile.writeTo(appendable); }
From source file:com.shieldsbetter.sbomg.ModelClass.java
public void addField(boolean finalFlag, TypeName type, String name) { FieldSpec.Builder f = FieldSpec.builder(type, name).addModifiers(Modifier.PRIVATE); if (finalFlag) { f.addModifiers(Modifier.FINAL); }//from w ww. j a v a2 s. com myFields.add(f.build()); }
From source file:io.soabase.halva.processor.caseclass.Templates.java
void addField(CaseClassItem item, TypeSpec.Builder builder, TypeName type, boolean makeFinal, boolean makeVolatile, Settings settings) { TypeName localType;/*from w ww. ja va 2s . co m*/ if (makeFinal) { localType = type; } else { localType = item.hasDefaultValue() ? type.box() : type; } FieldSpec.Builder fieldBuilder = FieldSpec.builder(localType, item.getName(), Modifier.PRIVATE); if (makeFinal) { fieldBuilder.addModifiers(Modifier.FINAL); } if (makeVolatile) { fieldBuilder.addModifiers(Modifier.VOLATILE); } Set<AnnotationSpec> annotationSpecs = new HashSet<>(); if (settings.json) { List<AnnotationSpec> parent = parentJsonAnnotations(item.getElement()); if (parent.isEmpty()) { AnnotationSpec annotationSpec = AnnotationSpec .builder(ClassName.get("com.fasterxml.jackson.annotation", "JsonProperty")).build(); parent = Collections.singletonList(annotationSpec); } annotationSpecs.addAll(parent); } if (settings.validate) { item.getElement().getAnnotationMirrors().stream().map(AnnotationSpec::get) .forEach(annotationSpecs::add); } fieldBuilder.addAnnotations(annotationSpecs); builder.addField(fieldBuilder.build()); }