public static ManagedObject createExactManagedObject()

in src/main/java/com/vmware/vim25/mo/util/MorUtil.java [83:107]


    public static ManagedObject createExactManagedObject(ServerConnection sc, ManagedObjectReference mor) {
        if (mor == null) {
            return null;
        }

        String moType = mor.getType();
        Class moClass = null;
        try {
            moClass = Class.forName(moPackageName + "." + moType);
            Constructor constructor = moClass.getConstructor(
                    new Class[]{ServerConnection.class, ManagedObjectReference.class});
            return (ManagedObject) constructor.newInstance(new Object[]{sc, mor});
        }
        catch (ClassNotFoundException e) {
            throw new IllegalArgumentException("vijava does not have an associated class for this mor: " + mor.getVal(), e);
        } catch (NoSuchMethodException e) {
            throw new IllegalArgumentException("No constructor found in vijava for class: " + moClass.getName(),e);
        } catch (InstantiationException e){
            throw new IllegalArgumentException("vijava is unable to create a managed object from this mor: " + mor.getVal(),e);
        } catch (IllegalAccessException e){
            throw new IllegalArgumentException("vijava is unable to create a managed object from this mor: " + mor.getVal(),e);
        } catch (InvocationTargetException e) {
            throw new IllegalArgumentException("vijava is unable to create a managed object from this mor: " + mor.getVal(),e);
        }
    }