{"action":"created","issue":{"url":"https://api.github.com/repos/mapstruct/mapstruct/issues/658","labels_url":"https://api.github.com/repos/mapstruct/mapstruct/issues/658/labels{/name}","comments_url":"https://api.github.com/repos/mapstruct/mapstruct/issues/658/comments","events_url":"https://api.github.com/repos/mapstruct/mapstruct/issues/658/events","html_url":"https://github.com/mapstruct/mapstruct/issues/658","id":111132885,"number":658,"title":"Add a way to exclude an abstract method from being mapped","user":{"login":"ggtools","id":547260,"avatar_url":"https://avatars.githubusercontent.com/u/547260?v=3","gravatar_id":"","url":"https://api.github.com/users/ggtools","html_url":"https://github.com/ggtools","followers_url":"https://api.github.com/users/ggtools/followers","following_url":"https://api.github.com/users/ggtools/following{/other_user}","gists_url":"https://api.github.com/users/ggtools/gists{/gist_id}","starred_url":"https://api.github.com/users/ggtools/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ggtools/subscriptions","organizations_url":"https://api.github.com/users/ggtools/orgs","repos_url":"https://api.github.com/users/ggtools/repos","events_url":"https://api.github.com/users/ggtools/events{/privacy}","received_events_url":"https://api.github.com/users/ggtools/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/mapstruct/mapstruct/labels/feature","name":"feature","color":"009800"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-10-13T08:36:55Z","updated_at":"2015-10-29T16:32:53Z","closed_at":null,"body":"I have an abstract class common to a bunch of mappers. This abstract class include a couple of abstract methods which are meant to be implemented *manually* by the mappers and not generated by mapstruct.\r\n\r\nMapstruct works really fine with this setting however I forget to override the abstract methods in an actual mapper, Mapstruct tries to generate it and the error message might be misleading and really hard to diagnose.\r\n\r\nMy suggestion would be to add either a new annotation such as `@MappingIgnore` or to leverage the existing `@Mappings` annotation and add the `ignore` attribute.\r\n\r\nThat way in my specific case, the compiler will give a crystal clear error indicating that some abstract methods needs to be implemented"},"comment":{"url":"https://api.github.com/repos/mapstruct/mapstruct/issues/comments/152237330","html_url":"https://github.com/mapstruct/mapstruct/issues/658#issuecomment-152237330","issue_url":"https://api.github.com/repos/mapstruct/mapstruct/issues/658","id":152237330,"user":{"login":"gunnarmorling","id":28612,"avatar_url":"https://avatars.githubusercontent.com/u/28612?v=3","gravatar_id":"","url":"https://api.github.com/users/gunnarmorling","html_url":"https://github.com/gunnarmorling","followers_url":"https://api.github.com/users/gunnarmorling/followers","following_url":"https://api.github.com/users/gunnarmorling/following{/other_user}","gists_url":"https://api.github.com/users/gunnarmorling/gists{/gist_id}","starred_url":"https://api.github.com/users/gunnarmorling/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gunnarmorling/subscriptions","organizations_url":"https://api.github.com/users/gunnarmorling/orgs","repos_url":"https://api.github.com/users/gunnarmorling/repos","events_url":"https://api.github.com/users/gunnarmorling/events{/privacy}","received_events_url":"https://api.github.com/users/gunnarmorling/received_events","type":"User","site_admin":false},"created_at":"2015-10-29T16:32:53Z","updated_at":"2015-10-29T16:32:53Z","body":"Hey @ggtools, that's an interesting case. Could you describe your use case in a bit more depth? Especially, why don't you implement that method in the abstract base class itself? It seems you want to use the same mapper with different extensions of the generated mapper? This makes me curious a bit :) \r\n\r\nI suppose we must make the generated mapper abstract, too, in this case. Andreas remark about the component models is worth some thinking..."}}