public AbstractArrayTypeDescriptor(Class<T> arrayObjectClass) { super( arrayObjectClass, (MutabilityPlan<T>) new MutableMutabilityPlan<Object>() { @Override protected T deepCopyNotNull(Object value) { return ArrayUtil.deepCopy(value); } } ); this.arrayObjectClass = arrayObjectClass; }
public AbstractArrayTypeDescriptor(Class<T> arrayObjectClass) { super(arrayObjectClass, (MutabilityPlan<T>) new MutableMutabilityPlan<Object>() { @Override protected T deepCopyNotNull(Object value) { return ArrayUtil.deepCopy(value); } }); this.arrayObjectClass = arrayObjectClass; }
protected MutabilityPlan<T> getMutabilityPlan() { return javaTypeDescriptor.getMutabilityPlan(); }
@Override @SuppressWarnings({ "unchecked" }) protected MutabilityPlan<T> getMutabilityPlan() { return ImmutableMutabilityPlan.INSTANCE; }