All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.cloudslang.lang.entities.bindings.values.PyObjectValueProxyClass Maven / Gradle / Ivy

There is a newer version: 2.0.94
Show newest version
/*******************************************************************************
 * (c) Copyright 2016 Hewlett-Packard Development Company, L.P.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Apache License v2.0 which accompany this distribution.
 *
 * The Apache License is available at
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 *******************************************************************************/
package io.cloudslang.lang.entities.bindings.values;

import java.lang.reflect.Constructor;
import java.util.Arrays;

import static java.util.Arrays.copyOf;

/**
 * PyObject value proxy class
 * 

* Created by Ifat Gavish on 19/05/2016 */ public class PyObjectValueProxyClass { private Class proxyClass; private Constructor constructor; private Object[] params; public PyObjectValueProxyClass(Class proxyClass, Constructor constructor, Object[] params) { this.proxyClass = proxyClass; this.constructor = constructor; this.params = getParamsHelper(params); } public Class getProxyClass() { return proxyClass; } public void setProxyClass(Class proxyClass) { this.proxyClass = proxyClass; } public Constructor getConstructor() { return constructor; } public void setConstructor(Constructor constructor) { this.constructor = constructor; } public Object[] getParams() { return getParamsHelper(this.params); } public void setParams(Object[] params) { this.params = getParamsHelper(params); } private static Object[] getParamsHelper(Object[] params) { return (params != null) ? Arrays.copyOf(params, params.length) : null; } @Override public String toString() { return "PyObjectValueProxy{" + "proxyClass=" + proxyClass + ", constructor=" + constructor + ", params=" + Arrays.toString(params) + '}'; } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy