private boolean isNonPublicField(final HasAnnotations annotated) { return annotated instanceof MetaField && !((MetaField) annotated).isPublic(); }
/** * This should only be called for non-public fields. This method forces a * private accessor to be generated for the field. * * @param field * A non-static field. * @return A statement for accessing the value of a field. */ public ContextualStatementBuilder exposedFieldStmt(final Statement instance, final MetaField field) { if (!field.isPublic()) { addExposedField(field); } return DecorableType.FIELD.call(instance, field, factory); }
/** * This should only be called for non-public fields. This method forces a * private accessor to be generated for the field. * * @param field * A field, static or non-static. * @return A statement for accessing the value of a field. */ public ContextualStatementBuilder exposedFieldStmt(final MetaField field) { if (!field.isPublic()) { addExposedField(field); } return DecorableType.FIELD.getAccessStatement(field, factory); }
public static ContextualStatementBuilder getPublicOrPrivateFieldValue(final FactoryController controller, final MetaField field) { if (field.isPublic()) { return loadVariable("instance").loadField(field); } else { return controller.exposedFieldStmt(field); } }
private void addFieldInjectionPoints(final Injectable typeInjectable, final DependencyGraphBuilder builder, final List<String> problems) { final boolean noPublicFieldsAllowed = typeInjectable.getWiringElementTypes().contains(WiringElementType.NormalScopedBean); final MetaClass type = typeInjectable.getInjectedType(); final Collection<Class<? extends Annotation>> injectAnnotations = injectionContext.getAnnotationsForElementType(WiringElementType.InjectionPoint); for (final Class<? extends Annotation> inject : injectAnnotations) { for (final MetaField field : type.getFieldsAnnotatedWith(inject)) { if (noPublicFieldsAllowed && field.isPublic()) { problems.add("The normal scoped bean " + type.getFullyQualifiedName() + " has a public field " + field.getName()); } builder.addFieldDependency(typeInjectable, field.getType(), qualFactory.forSink(field), field); } } }
@Override public ContextualStatementBuilder call(final Statement instance, final HasAnnotations annotated, final BuildMetaClass factory, final Statement... params) { final MetaField field = (MetaField) annotated; if (field.isPublic()) { if (field.isStatic()) { return loadStatic(field.getDeclaringClass(), field.getName()); } else { return nestedCall(instance).loadField(field); } } else { final Object[] accessorParams = (field.isStatic() ? new Object[0] : new Object[] { instance }); return invokeStatic(notNull(factory), getPrivateFieldAccessorName(field), accessorParams); } } },
assertTypeIsBindable(dataModelType); if (!field.isPublic()) { controller.exposedFieldStmt(field);
assertTypeIsBindable(dataModelType); if (!field.isPublic()) { controller.exposedFieldStmt(field);
if (!fieldDep.getField().isPublic()) { controller.exposedFieldStmt(fieldDep.getField());
if (!fieldDep.getField().isPublic()) { controller.exposedFieldStmt(fieldDep.getField());
if (!field.isPublic()) { controller.addExposedField(field); final String privateFieldInjectorName = getPrivateFieldAccessorName(field);
dataModelType = (MetaClass) field.getType().getParameterizedType().getTypeParameters()[0]; dataBinderRef = DecorableType.FIELD.getAccessStatement(field, decorable.getFactoryMetaClass()); if (!field.isPublic()) { controller.addExposedField(field);
dataModelType = (MetaClass) field.getType().getParameterizedType().getTypeParameters()[0]; dataBinderRef = DecorableType.FIELD.getAccessStatement(field, decorable.getFactoryMetaClass()); if (!field.isPublic()) { controller.addExposedField(field);
public Statement valueAccessorFor(final MetaClassMember member, ClassStructureBuilder<?> classStructureBuilder) { if (member instanceof MetaField) { final MetaField field = (MetaField) member; if (!field.isPublic()) { final MetaMethod getterMethod = GenUtil.findCaseInsensitiveMatch(field.getType(), field.getDeclaringClass(), "get" + field.getName());
public Statement valueAccessorFor(final MetaClassMember member, ClassStructureBuilder<?> classStructureBuilder) { if (member instanceof MetaField) { final MetaField field = (MetaField) member; if (!field.isPublic()) { final MetaMethod getterMethod = GenUtil.findCaseInsensitiveMatch(field.getType(), field.getDeclaringClass(), "get" + field.getName());
if (field.isPublic()) { BlockBuilder<CaseBlockBuilder> caseBlock = switchBlock.case_(memberMapping.getKey()); caseBlock.append(loadVariable("entity").loadField(field.getName()).assignValue(val))
if (field.isPublic()) { BlockBuilder<CaseBlockBuilder> caseBlock = switchBlock.case_(memberMapping.getKey()); caseBlock.append(loadVariable("entity").loadField(field.getName()).assignValue(val))