2014-01-20 15 views
0

Я использую db4o lib для хранения данных.Как создать метод генериков

, например, у меня есть этот код для хранения данных (т.е. Новости)

public static void insertNewsToDB(Context context, final News news){ 
     final String dbPath = context.getDir("news", Context.MODE_PRIVATE) + "/" + DB4O_NAME; 
     ObjectContainer db = Db4oEmbedded.openFile(Db4oEmbedded.newConfiguration(), dbPath); 
     try { 
      db.store(news); 
      db.commit(); 
     } finally { 
      db.close(); 
     } 
    } 

и это получение данных из БД:

public static List<News> getNewsListFromDB(Context context){ 
     final List<News> news = new ArrayList<News>(); 
     final String dbPath = context.getDir("news", Context.MODE_PRIVATE) + "/" + DB4O_NAME; 
     ObjectContainer db = Db4oEmbedded.openFile(Db4oEmbedded.newConfiguration(), dbPath); 
     try { 
      ObjectSet<News> result = db.queryByExample(News.class); 
      news.addAll(result); 
     } finally { 
      db.close(); 
     } 

     return news; 
    } 

Как я могу создать метод, так что это не зависит от того, какой тип класса, который я должен пройти. Более четко это не зависит от второго параметра: News, User или что-то еще. И то же самое, когда я хочу получать новости из db.

Я читал о дженериках и предметах, но все же я не понимаю, как это сделать.

Пожалуйста, помогите.

ответ

0

Общий пример.

public class GenericsType<T> { 

    private T t; 

    public T get(){ 
     return this.t; 
    } 

    public void set(T t1){ 
     this.t=t1; 
    } 

    public static void main(String args[]){ 
     GenericsType<String> type = new GenericsType<>(); 
     type.set("Pankaj"); //valid 

     GenericsType type1 = new GenericsType(); //raw type 
     type1.set("Pankaj"); //valid 
     type1.set(10); //valid and autoboxing support 
    } 
}