@Override public void visit(VisitContext context, JavaResource resource) { try { JavaSource<?> javaType = resource.getJavaType(); if (javaType.isInterface()) { classes.add(resource); } } catch (FileNotFoundException e) { // ignore } } }
@Override public boolean isStatic() { return getOrigin().isInterface() || modifiers.hasModifier(field, ModifierKeyword.STATIC_KEYWORD); }
@Override public boolean isStatic() { return getOrigin().isInterface() || modifiers.hasModifier(field, ModifierKeyword.STATIC_KEYWORD); }
@Override public boolean isStatic() { return getOrigin().isInterface() || modifiers.hasModifier(field, ModifierKeyword.STATIC_KEYWORD); }
@Override public MethodSource<O> createMutator() { Assert.isTrue(getMutator() == null, "Mutator method already exists"); final String mutatorName = methodName("set", name); final String parameters = String.format("%s %s", typeName(), getName()); final MethodSource<O> result = getOrigin().addMethod().setReturnTypeVoid().setName(mutatorName) .setParameters(parameters); if (!getOrigin().isInterface()) { result.setVisibility(Visibility.PUBLIC); if (hasField()) { final String body = String.format("this.%1$s = %1$s;", getName()); result.setBody(body); } } return result; }
@Override public MethodSource<O> createMutator() { Assert.isTrue(getMutator() == null, "Mutator method already exists"); final String mutatorName = methodName("set", name); final String parameters = String.format("%s %s", typeName(), getName()); final MethodSource<O> result = getOrigin().addMethod().setReturnTypeVoid().setName(mutatorName) .setParameters(parameters); if (!getOrigin().isInterface()) { result.setVisibility(Visibility.PUBLIC); if (hasField()) { final String body = String.format("this.%1$s = %1$s;", getName()); result.setBody(body); } } return result; }
@Override public MethodSource<O> createMutator() { Assert.isTrue(getMutator() == null, "Mutator method already exists"); final String mutatorName = methodName("set", name); final String parameters = String.format("%s %s", typeName(), getName()); final MethodSource<O> result = getOrigin().addMethod().setReturnTypeVoid().setName(mutatorName) .setParameters(parameters); if (!getOrigin().isInterface()) { result.setVisibility(Visibility.PUBLIC); if (hasField()) { final String body = String.format("this.%1$s = %1$s;", getName()); result.setBody(body); } } return result; }
@Override public MethodSource<O> createAccessor() { Assert.isTrue(getAccessor() == null, "Accessor method already exists"); final Type<O> type = getType(); final String accessorName = methodName(type.isType(boolean.class) ? "is" : "get", name); final MethodSource<O> result = getOrigin().addMethod().setReturnType(typeName()) .setName(accessorName); if (!getOrigin().isInterface()) { result.setVisibility(Visibility.PUBLIC); if (hasField()) { final String body = String.format("return %s;", getName()); result.setBody(body); } } return result; }
@Override public MethodSource<O> createAccessor() { Assert.isTrue(getAccessor() == null, "Accessor method already exists"); final Type<O> type = getType(); final String accessorName = methodName(type.isType(boolean.class) ? "is" : "get", name); final MethodSource<O> result = getOrigin().addMethod().setReturnType(typeName()) .setName(accessorName); if (!getOrigin().isInterface()) { result.setVisibility(Visibility.PUBLIC); if (hasField()) { final String body = String.format("return %s;", getName()); result.setBody(body); } } return result; }
private MethodSource<O> createAccessor() { Assert.isTrue(getAccessor() == null, "Accessor method already exists"); final Type<O> type = getType(); final String accessorName = methodName(type.isType(boolean.class) ? "is" : "get", name); final MethodSource<O> result = getOrigin().addMethod().setReturnType(typeName()) .setName(accessorName); if (!getOrigin().isInterface()) { result.setVisibility(Visibility.PUBLIC); if (hasField()) { final String body = String.format("return %s;", getName()); result.setBody(body); } } return result; }
javaClassModel.setClassFile(sourceFileModel); javaClassModel.setPublic(javaSource.isPublic()); javaClassModel.setInterface(javaSource.isInterface()); if (!javaSource.isInterface() && javaSource instanceof Extendable)
javaClassModel.setClassFile(sourceFileModel); javaClassModel.setPublic(javaSource.isPublic()); javaClassModel.setInterface(javaSource.isInterface()); if (!javaSource.isInterface() && javaSource instanceof Extendable)
/** * Adds a default method implementation to the given {@link MethodSource}. This method will call * {@link MethodSource#setAbstract(false)} before setting the body if the origin is not an interface * * @param source */ public static void implementMethod(MethodSource<?> source) { if (source.getOrigin().isInterface()) { source.setBody(null); } else { if (source.isNative()) { source.setNative(false); } source.setAbstract(false); if (source.isReturnTypeVoid()) { source.setBody(""); } else { source.setBody("return " + Types.getDefaultValue(source.getReturnType().getName()) + ";"); } } }
/** * Adds a default method implementation to the given {@link MethodSource}. This method will call * {@link MethodSource#setAbstract(false)} before setting the body if the origin is not an interface * * @param source */ public static void implementMethod(MethodSource<?> source) { if (source.getOrigin().isInterface()) { source.setBody(null); } else { if (source.isNative()) { source.setNative(false); } source.setAbstract(false); if (source.isReturnTypeVoid()) { source.setBody(""); } else { source.setBody("return " + Types.getDefaultValue(source.getReturnType().getName()) + ";"); } } }
@Override public FieldSource<O> createField() { Assert.isFalse(getOrigin().isInterface(), "An interface cannot declare a nonstatic field"); Assert.isTrue(getField() == null, "Field already exists"); final FieldSource<O> result = getOrigin().addField().setVisibility(Visibility.PRIVATE).setType(typeName()) .setName(name); if (getOrigin().isEnum()) { result.setFinal(true); } if (isAccessible() && !getAccessor().isAbstract()) { removeAccessor(); createAccessor(); } if (isMutable() && !getMutator().isAbstract()) { removeMutator(); createMutator(); } return result; }
@Override public FieldSource<O> createField() { Assert.isFalse(getOrigin().isInterface(), "An interface cannot declare a nonstatic field"); Assert.isTrue(getField() == null, "Field already exists"); final FieldSource<O> result = getOrigin().addField().setVisibility(Visibility.PRIVATE).setType(typeName()) .setName(name); if (getOrigin().isEnum()) { result.setFinal(true); } if (isAccessible() && !getAccessor().isAbstract()) { removeAccessor(); createAccessor(); } if (isMutable() && !getMutator().isAbstract()) { removeMutator(); createMutator(); } return result; }
@Override public FieldSource<O> createField() { Assert.isFalse(getOrigin().isInterface(), "An interface cannot declare a nonstatic field"); Assert.isTrue(getField() == null, "Field already exists"); final FieldSource<O> result = getOrigin().addField().setVisibility(Visibility.PRIVATE).setType(typeName()) .setName(name); if (getOrigin().isEnum()) { result.setFinal(true); } if (isAccessible() && !getAccessor().isAbstract()) { removeAccessor(); createAccessor(); } if (isMutable() && !getMutator().isAbstract()) { removeMutator(); createMutator(); } return result; }