// FIXME: Ugly hack, but some services (Health) have shapes with names
// that differ only in the casing of the first letter, and generating
// classes for them breaks on case insensitive filesystems...
public Optional<ClassName> copierClassFor(MemberModel memberModel) {
        if (canCopyReference(memberModel)) {
            return Optional.empty();
        }
        if (canUseStandardCopier(memberModel)) {
            return Optional.of(ClassName.get(StandardMemberCopier.class));
        }
        // FIXME: Ugly hack, but some services (Health) have shapes with names
        // that differ only in the casing of the first letter, and generating
        // classes for them breaks on case insensitive filesystems...
        String shapeName = memberModel.getC2jShape();
        if (shapeName.substring(0, 1).toLowerCase(Locale.ENGLISH).equals(shapeName.substring(0, 1))) {
            shapeName = "_" + shapeName;
        }
        return Optional.of(poetExtensions.getModelClass(shapeName + "Copier"));
    }
return Optional.of(ClassName.get(StandardMemberCopier.class));
}
// FIXME: Ugly hack, but some services (Health) have shapes with names
// that differ only in the casing of the first letter, and generating
// classes for them breaks on case insensitive filesystems...
String shapeName = memberModel.getC2jShape();
if (shapeName.substring(0, 1).toLowerCase(Locale.ENGLISH).equals(shapeName.substring(0, 1))) {
public Optional<ClassName> copierClassFor(MemberModel memberModel) {
if (canCopyReference(memberModel)) {
return Optional.empty();
}
if (canUseStandardCopier(memberModel)) {
return Optional.of(ClassName.get(StandardMemberCopier.class));
}
// FIXME: Ugly hack, but some services (Health) have shapes with names
// that differ only in the casing of the first letter, and generating
// classes for them breaks on case insensitive filesystems...
String shapeName = memberModel.getC2jShape();
if (shapeName.substring(0, 1).toLowerCase(Locale.ENGLISH).equals(shapeName.substring(0, 1))) {
shapeName = "_" + shapeName;
}
return Optional.of(poetExtensions.getModelClass(shapeName + "Copier"));
}
public Optional<ClassName> copierClassFor(MemberModel memberModel) {
if (canCopyReference(memberModel)) {
return Optional.empty();
}
if (canUseStandardCopier(memberModel)) {
return Optional.of(ClassName.get(StandardMemberCopier.class));
}
// FIXME: Ugly hack, but some services (Health) have shapes with names
// that differ only in the casing of the first letter, and generating
// classes for them breaks on case insensitive filesystems...
String shapeName = memberModel.getC2jShape();
if (shapeName.substring(0, 1).toLowerCase(Locale.ENGLISH).equals(shapeName.substring(0, 1))) {
shapeName = "_" + shapeName;
}
return Optional.of(poetExtensions.getModelClass(shapeName + "Copier"));
}