package com.hypnoticocelot.jaxrs.doclet.translator; import com.hypnoticocelot.jaxrs.doclet.parser.AnnotationHelper; import com.sun.javadoc.FieldDoc; import com.sun.javadoc.MethodDoc; import com.sun.javadoc.Type; import static com.hypnoticocelot.jaxrs.doclet.translator.Translator.OptionalName.presentOrMissing; public class NameBasedTranslator implements Translator { @Override public OptionalName typeName(Type type) { return presentOrMissing(AnnotationHelper.typeOf(type.qualifiedTypeName())); } @Override public OptionalName fieldName(FieldDoc field) { return presentOrMissing(field.name()); } @Override public OptionalName methodName(MethodDoc method) { String name = null; if (method.name().startsWith("get") && method.name().length() > 3) { name = method.name().substring(3); name = name.substring(0, 1).toLowerCase() + (name.length() > 1 ? name.substring(1) : ""); } return presentOrMissing(name); } }