protected final E setElementsType(E elementsType) { return setElementsType(null, elementsType); }
@Nonnull protected final E setElementsType(@Nonnull E elementsType) { return setElementsType(null, elementsType); }
@SuppressWarnings("unchecked") @Nonnull final <I extends SInstance, T extends SType<I>> STypeList<T, I> createTypeListOf(@Nonnull String simpleNameNewType, @Nullable String elementSimpleName, @Nonnull T elementsType) { Preconditions.checkNotNull(elementsType); STypeList<T, I> listType = extendType(simpleNameNewType, STypeList.class); listType.setElementsType(elementSimpleName, elementsType); return listType; }
@SuppressWarnings("unchecked") final <I extends SInstance, T extends SType<I>> STypeList<T, I> createTypeListOf(String simpleNameNewType, T elementsType) { Preconditions.checkNotNull(elementsType); STypeList<T, I> listType = extendType(simpleNameNewType, STypeList.class); listType.setElementsType(elementsType); return listType; }
protected final E setElementsType(Class<E> elementsTypeClass) { return setElementsType(null, resolveType(elementsTypeClass)); }
protected final E setElementsType(Class<E> elementsTypeClass) { return setElementsType(null, resolveType(elementsTypeClass)); }
protected final E setElementsType(String simpleNameNewType, Class<E> elementsTypeClass) { return setElementsType(simpleNameNewType, resolveType(elementsTypeClass)); }
protected final E setElementsType(String simpleNameNewType, Class<E> elementsTypeClass) { return setElementsType(simpleNameNewType, resolveType(elementsTypeClass)); }
@SuppressWarnings("unchecked") final <I extends SIComposite> STypeList<STypeComposite<I>, I> createListOfNewTypeComposite(String simpleNameNewType, String simpleNameNewTypeComposite) { STypeList<STypeComposite<I>, I> listType = extendType(simpleNameNewType, STypeList.class); listType.setElementsType(simpleNameNewTypeComposite, resolveType(STypeComposite.class)); return listType; }
@SuppressWarnings("unchecked") final <I extends SIComposite> STypeList<STypeComposite<I>, I> createListOfNewTypeComposite(String simpleNameNewType, String simpleNameNewTypeComposto) { STypeList<STypeComposite<I>, I> listType = extendType(simpleNameNewType, STypeList.class); listType.setElementsType(simpleNameNewTypeComposto, resolveType(STypeComposite.class)); return listType; }
@Override protected void extendSubReference() { if (getSuperType().isList()) { E type = (E) ((STypeList) getSuperType()).elementsType; if (type != null) { setElementsType(type); } } }
@Override protected void extendSubReference() { if (getSuperType().isList()) { E type = (E) ((STypeList) getSuperType()).elementsType; if (type != null) { setElementsType(type); } } }