Создание массива неизвестного типа

У меня есть объект, значения которого я должен проверить вне проблемы, некоторые из атрибутов Объектов являются массивами пользовательских объектов. Таким образом, это потребует некоторого углубления в отдельные элементы массива. Вырезание геттеров для каждого элемента, например:

AttribGrp[] x =  Object.getAttribGrp()
x[i].getSomeValue()

Это то, к чему мне нужно добраться. Я извлек данные с помощью Enum со списком атрибуты следующим образом.

public String getAttribValueAsString(MethodEnum attribName) 
{
    String attribValue = null;
    Object value = getAttrib(attribName.toString());

    if (value != null)
        attribValue = value.toString();

    return attribValue;
}

вызов:

    private Object invoke(String methodName, Object newValue)
{
    Object value = null;
    try
    {
        methodInvoker.setTargetMethod(methodName);

        if (newValue != null)
            methodInvoker.setArguments(new Object[]{newValue});
        else
            methodInvoker.setArguments(new Object[]{});             

        methodInvoker.prepare();
        value = methodInvoker.invoke();
    }
    catch (ClassNotFoundException e)
    {
        throw new IllegalStateException("Method invocation failed. " + e.getMessage(),e);
    }
    catch (NoSuchMethodException e)
    {
        throw new IllegalStateException("Method invocation failed. " + e.getMessage(),e);
    }
    catch (InvocationTargetException e)
    {
        throw new IllegalStateException("Method invocation failed. " + e.getMessage(),e);
    }
    catch (IllegalAccessException e)
    {
        throw new IllegalStateException("Method invocation failed. " + e.getMessage(),e);
    }
    return value;
}

Я буду работать с рядом массивов разных типов и разных значений внутри массивов. Я хочу создать следующий метод.

    public Object getAttribArray(RIORepeatingGrpEnum repeatingGrp)
{
        repeatingGrp[] grp = null;
              Object grpVal = getAttrib(repeatingGrp.toString());
              if(grp != null)
                   grp = (repeatingGrp[]) grpVal;

              return grp;
}

Это дает мне несколько ошибок, в основном связанных с RepeatingGrp []. Тип массива должен иметь то же имя, что и enum. Можно ли создать такой метод, который будет создавать массив неопределенного типа?

5
задан Will 10 August 2011 в 14:13
поделиться