MorphicArrayFactory.java
package edu.udel.cis.vsl.tass.morph;
public class MorphicArrayFactory<T extends Morphic> extends
MorphicFactory<MorphicArray<T>> {
private MorphicFactoryIF<? super T> elementFactory;
public MorphicArrayFactory(MorphicFactoryIF<? super T> elementFactory) {
this.elementFactory = elementFactory;
}
public MorphicArray<T> newArray(int length) {
return new MorphicArray<T>(length);
}
public MorphicArray<T> newArray(MorphicArray<T> oldArray) {
return new MorphicArray<T>(oldArray);
}
public MorphicFactoryIF<? super T> elementFactory() {
return elementFactory;
}
@Override
protected void canonicalizeChildren(MorphicArray<T> component) {
component.canonicalizeChildren(elementFactory);
}
}