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

org.sfm.reflect.meta.ElementPropertyMeta Maven / Gradle / Ivy

package org.sfm.reflect.meta;

import java.lang.reflect.Type;
import java.util.List;

import org.sfm.reflect.ReflectionService;
import org.sfm.reflect.Setter;

public class ElementPropertyMeta

extends PropertyMeta, P> { private final int index; private final ListClassMeta

listMetaData; public ElementPropertyMeta(String name, ReflectionService reflectService, int index, ListClassMeta

listMetaData) { super(name, reflectService); this.index = index; this.listMetaData = listMetaData; } @Override protected Setter, P> newSetter() { return new Setter, P>() { @Override public void set(List

target, P value) throws Exception { while(target.size() < index) { target.add(null); } target.add(index, value); } @Override public Type getPropertyType() { return listMetaData.getElementTarget(); } }; } @Override public Type getType() { return listMetaData.getElementTarget(); } @Override public boolean isPrimitive() { return false; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy