package org.seasar.aptina.beans.example;

/**
 * テスト
 * 
 * @author koichik
 * @param <E>
 * @param <T>
 */
@org.seasar.aptina.beans.JavaBean
@javax.annotation.Generated({"Aptina Beans", "org.seasar.aptina", "aptina-beans", "DEV"})
public class BarBean<E, T extends java.util.List<E> & java.io.Serializable> extends org.seasar.aptina.beans.example.BarBeanState<E, T> {

    /**
     * インスタンスを構築します。
     * 
     * @param aaa
     *            あああ
     */
    protected  BarBean(T aaa) {
        super(aaa);
    }

    /**
     * インスタンスを構築します。
     * 
     * @param <S>
     *            いいいの型
     * @param bbb
     *            いいい
     * @param hoge
     *            ほげ
     * @throws NullPointerException
     *             何かが{@literal null}だった場合
     */
    <S> BarBean(T[] bbb, S hoge) throws java.lang.NullPointerException {
        super(bbb, hoge);
    }

    /**
     * インスタンスを構築します。
     * 
     * @param aaa
     *            あああ
     * @param bbb
     *            いいい
     * @param ccc
     *            ううう
     */
    public  BarBean(T aaa, T[] bbb, java.util.List<? extends T> ccc) {
        super(aaa, bbb, ccc);
    }

    /**
     * {@literal あああ} を返します。
     * 
     * @return {@literal あああ}
     */
    public T getAaa() {
        return aaa;
    }

    /**
     * {@literal あああ} を設定します。
     * 
     * @param aaa {@literal あああ}
     */
    public void setAaa(T aaa) {
        this.aaa = aaa;
    }

    /**
     * {@literal いいい} を返します。
     * 
     * @return {@literal いいい}
     */
    public T[] getBbb() {
        return bbb;
    }

    /**
     * {@literal いいい} の {@literal n} 番目の要素を返します。
     * 
     * @param n 返される要素のインデックス
     * @return {@literal n} 番目の {@literal いいい}
     * @throws ArrayIndexOutOfBoundsException インデックスが配列のサイズを超えていた場合
     */
    public T getBbb(int n) throws ArrayIndexOutOfBoundsException {
        return bbb[n];
    }

    /**
     * {@literal いいい} を設定します。
     * 
     * @param bbb {@literal いいい}
     */
    public void setBbb(T[] bbb) {
        this.bbb = bbb;
    }

    /**
     * {@literal いいい} の {@literal n} 番目の要素を設定します。
     * 
     * @param n 設定される要素のインデックス
     * @param bbb {@literal いいい}
     * @throws ArrayIndexOutOfBoundsException インデックスが配列のサイズを超えていた場合
     */
    public void setBbb(int n, T bbb) throws ArrayIndexOutOfBoundsException {
        this.bbb[n] = bbb;
    }

    /**
     * {@literal ううう} を返します。
     * 
     * @return {@literal ううう}
     */
    public java.util.List<? extends T> getCcc() {
        return ccc;
    }

    /**
     * {@literal ううう} を設定します。
     * 
     * @param ccc {@literal ううう}
     */
    public void setCcc(java.util.List<? extends T> ccc) {
        this.ccc = ccc;
    }

}
