public interface BaseService<T> { |
void setSomething(T param); |
|
T getSomething(); |
} |
|
public abstract class BaseServiceImpl<T> implements BaseService<T> { |
@Override |
public void setSomething(T param) { |
} |
|
@Override |
public T getSomething() { |
return null; |
} |
} |
|
public interface SpecialService extends BaseService<String> { |
@Override |
// for declaring some special annotations |
void setSomething(String param); |
|
@Override |
String getSomething(); |
} |
|
@SomeInterceptorBinding |
public class ManagedSpecialServiceImpl extends BaseServiceImpl<String> implements SpecialService { |
} |
|
@Stateless |
@Local(SpecialService.class) |
@SomeInterceptorBinding |
public class EJBSpecialServiceImpl extends BaseServiceImpl<String> implements SpecialService { |
}
|