org.sfm.reflect.meta.ArrayElementPropertyMeta Maven / Gradle / Ivy
package org.sfm.reflect.meta;
import java.lang.reflect.Type;
import org.sfm.reflect.ReflectionService;
import org.sfm.reflect.Setter;
public class ArrayElementPropertyMeta extends PropertyMeta
{
private final int index;
private final ArrayClassMeta
arrayMetaData;
public ArrayElementPropertyMeta(String name, String column, ReflectionService reflectService, int index, ArrayClassMeta
arrayMetaData) {
super(name, column, reflectService);
this.index = index;
this.arrayMetaData = arrayMetaData;
}
@Override
protected Setter
newSetter() {
return new Setter
() {
@Override
public void set(P[] target, P value) throws Exception {
target[index] = value;
}
};
}
@Override
public Type getType() {
return arrayMetaData.getElementTarget();
}
public int getIndex() {
return index;
}
@Override
public boolean isPrimitive() {
return false;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy