Yes, yes, yes! Dobo is all about context, one object can have multiple context. Eg, one method can be annotated with many context.
Exception will be thrown by dobo when you want to instantiate the object, you will notice the reason of the exception.
Exception will thrown when you don't annotate all the context member. Considered as implementing interface, you need to override all abstract method.
No, dobo is not only for interface, you can use abstract class. However if you generate context using dobo, dobo will create context member only for the abstract method.