All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.beanmapper.core.generics.BeanPropertyClassParameterized Maven / Gradle / Ivy

There is a newer version: 4.1.6
Show newest version
package io.beanmapper.core.generics;

import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.util.Objects;

class BeanPropertyClassParameterized extends AbstractBeanPropertyClass {

    private final ParameterizedType type;

    BeanPropertyClassParameterized(ParameterizedType type) {
        this.type = type;
    }

    @Override
    public Class getBasicType() {
        return (Class) type.getRawType();
    }

    @Override
    protected Type[] getGenericTypes() {
        return type.getActualTypeArguments();
    }

    @Override
    public boolean equals(Object o) {
        if (this == o)
            return true;
        if (!(o instanceof BeanPropertyClassParameterized that))
            return false;
        return Objects.equals(type, that.type);
    }

    @Override
    public int hashCode() {
        return Objects.hash(type);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy