2014-11-14 1 views
1

Я создаю приложение в JSF и использую спящий режим. Для каждой страницы JSF я хочу выполнять операции CRUD. Чтобы упростить мое кодирование, я хочу создать интерфейс, который имеет четыре метода для выполнения CRUD. Я хочу, чтобы методы в интерфейсе принимали любой класс в качестве параметра.Создание интерфейса Java с помощью методов, которые принимают любой класс как параметр

Вот мой пример кода:

interface performCrud 
{ 
    public void Create(Class cl); 
    public void delete(Class cl); 
    public void update(Class cl); 
    public void read(Class cl); 
} 

class newuser implements performCrud 
{ 

    @override 
    public void Create(UserDao userdao) 
    { 

    } 

    //Other implementations Follows 

} 

class newproduct implements performCrud 
{ 

    @override 
    public void Create(productDao productdao) 
    { 

    } 

    // Other implementations Follows 

} 
+1

и в чем проблема? – cello

+0

ОК, редактирование сделало его немного понятнее. Посмотрите на Java Generics, они могут вам помочь. Сделать интерфейс использовать общий тип, тогда реализации могут указать его – cello

+0

Почему? В Hibernate уже есть класс 'Session', который выполняет именно это. – mabi

ответ

1

Если я понимаю, что вы имеете в виду, вы должны использовать дженерики:

interface performCrud<T> 
{ 
    public void Create(T cl); 
    public void delete(T cl); 
    public void update(T cl); 
    public T read(); 
} 

class newuser implements performCrud<UserDao>{ 

    @override 
    public void Create(UserDao userdao) 
    { 

    } 
    .... 
} 

Да, и кстати, ваш метод read, вероятно, следует вернуться T вместо принимающий аргумент типа T. Я изменил интерфейс соответственно.

+0

Как я могу сделать read to Return T вместо принятия параметра – MorganM

+0

@MorganM См. мои изменения в интерфейсе – Eran

+0

Спасибо @Eran It Works Fine – MorganM

Смежные вопросы