Generic type as a constructor parameter

Alen

I have a generic dao interface implemented like this:

public interface GenericDao<T extends AbstractEntity> 

and AbstractHibernateDao class:

public abstract class AbstractHibernateDao<T extends AbstractEntity> implements GenericDao<T> 

I'm trying to make generic table model like this:

public class EntityTableModel extends DefaultTableModel {

private GenericDao<AbstractEntity> dao;

public EntityTableModel(GenericDao<AbstractEntity> dao, String[] columnLabels) {
    super(columnLabels, 0);
    this.dao = dao;
}

The way I tried to pass a parameter looks like this:

table.setModel(new EntityTableModel(new SomeEntityHibernateDao(),columns));enter code here

And code for SomeEntityHibernateDao looks like this:

public class SomeEntityHibernateDao extends AbstractHibernateDao<SomeEntity> implements
    SomeEntityDao

SomeEntity extends AbstractEntity and SomeEntityDao is interface which extends GenericDao interface.

Can somebody explain to me why this isn't working? Any help would be really appreciated.

SLaks

GenericDao<SomeSpecificEntity> is not the same as GenericDao<AbstractEntity>.

Instead, you should allow subclasses:

GenericDao<? extends AbstractEntity> 

You will not be able to call any methods on it that accept T as a parameter, since you don't know what T is.

Alternatively, you could make the entire TableModel class generic, and accept a GenericDao<T>.

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

Call constructor of type parameter in generic class

"Expected type parameter" error in the constructor of a generic struct

Enforce type of generic dependent on constructor parameter

How to work with generic type array and generic type class as parameter in constructor?

Infer generic class type parameters from single constructor parameter

How to register/resolve a type with one generic constructor parameter

How to pass a type parameter to a generic class constructor reference?

Create instance of generic type whose constructor requires a parameter?

How to define a parameter of type generic list with constructor constraint?

Generic inner class constructor accepts different type parameter what is set?

Simple Injector: Registering open generic type with constructor parameter

Generic as parameter to constructor

Generic constructor for generic type in Rust

Calling constructor of generic type?

Calling constructor of a generic type

DryIoC pass param to constructor of open generic service based on generic type parameter

Understanding Bounded Generic Parameter to a constructor

Using generic as parameter in constructor Kotlin

Explicit type annotation for generic constructor of a generic type

T must be a non-abstract type with a public parameterless constructor in order to use it as parameter 'TModel' in the generic type or method

Can I use type as value (or correctly infer generic class type from constructor parameter)?

Type constructor parameter inference

Derived constructor with type parameter

class parameter of generic type

Generic parameter type in Dart?

Generic type as a delegate parameter

Generic type parameter error

Generic type function parameter

Type of a generic method parameter