Package java.util.concurrent

Examples of java.util.concurrent.CopyOnWriteArrayList$SubList


    List out;
    NetworkBuilder builder;

    @BeforeMethod
    public void setUp() {
        out = new CopyOnWriteArrayList();
        builder = new SimpleNetworkBuilder();
    }
View Full Code Here


            @Override
            public void run() {
            }
        } : run;
        events = new ArrayList();
        keys = new CopyOnWriteArrayList();
        mouse = new CopyOnWriteArrayList();
        keysPressedTemp = new boolean[256];
        for (int i = 0; i < keysPressedTemp.length; i++) {
            keysPressedTemp[i] = false;
        }
        mousePressedTemp = new boolean[32];
View Full Code Here

     *
     * @param values
     */
    public static void info(Object... values) {
        StringBuilder text = new StringBuilder();
        CopyOnWriteArrayList<Node> nodes = new CopyOnWriteArrayList();

        for (Object value : values) {
            if (value instanceof Node) {
                Node node = (Node) value;
                nodes.addIfAbsent(node);
                text.append("n").append(node.id);
            } else if (value instanceof List) {
                List<Node> list = (List<Node>) value;

                for (Node node : list) {
                    nodes.addIfAbsent(node);
                }
            } else if (value instanceof Set) {
                Set<Node> list = (Set<Node>) value;

                for (Node node : list) {
                    nodes.addIfAbsent(node);
                }
            } else {
                text.append(value);
            }
        }
View Full Code Here

        // check cache
        // We must search a immediate dominator.
        //
        // At first, we can ignore the older incoming nodes.
        List<Node> candidates = new CopyOnWriteArrayList(target.incoming);

        // compute backedges
        for (Node node : candidates) {
            if (target.backedges.contains(node)) {
                candidates.remove(node);
            }
        }

        int size = candidates.size();

        switch (size) {
        case 0: // this is root node
            return null;

        case 1: // only one incoming node
            return candidates.get(0);

        default: // multiple incoming nodes
            Node candidate = candidates.get(0);

            search: while (candidate != null) {
                for (int i = 1; i < size; i++) {
                    if (!hasDominator(candidates.get(i), candidate, nodes)) {
                        candidate = getDominator(candidate, nodes);
                        continue search;
                    }
                }
                return candidate;
View Full Code Here

    /**
     * {@inheritDoc}
     */
    @Override
    public void visitTableSwitchInsn(int min, int max, Label defaults, Label... labels) {
        CopyOnWriteArrayList<Node> nodes = new CopyOnWriteArrayList();

        for (Label label : labels) {
            nodes.add(getNode(label));
        }

        int[] keys = new int[max - min + 1];

        for (int i = 0; i < keys.length; i++) {
View Full Code Here

    /**
     * {@inheritDoc}
     */
    @Override
    public void visitLookupSwitchInsn(Label defaults, int[] keys, Label[] labels) {
        CopyOnWriteArrayList<Node> nodes = new CopyOnWriteArrayList();

        for (Label label : labels) {
            nodes.add(getNode(label));
        }
        current.createSwitch(getNode(defaults), keys, nodes, match(ASTORE, INVOKEVIRTUAL));
    }
View Full Code Here

            whileFindingDominator = true;

            // We must search a immediate dominator.
            //
            // At first, we can ignore the older incoming nodes.
            List<Node> candidates = new CopyOnWriteArrayList(incoming);

            // compute backedges
            for (Node node : candidates) {
                if (backedges.contains(node)) {
                    candidates.remove(node);
                }
            }

            int size = candidates.size();

            switch (size) {
            case 0: // this is root node
                dominator = null;
                break;

            case 1: // only one incoming node
                dominator = candidates.get(0);
                break;

            default: // multiple incoming nodes
                Node candidate = candidates.get(0);

                search: while (candidate != null) {
                    for (int i = 1; i < size; i++) {
                        if (!candidates.get(i).hasDominator(candidate)) {
                            candidate = candidate.getDominator();
                            continue search;
                        }
                    }
                    dominator = candidate;
View Full Code Here

         *
         * @param node A target node.
         * @return A collected case values.
         */
        private List<Integer> values(Node node) {
            CopyOnWriteArrayList<Integer> values = new CopyOnWriteArrayList();

            for (int i = 0; i < cases.size(); i++) {
                if (cases.get(i) == node) {
                    values.addIfAbsent(keys.get(i));
                }
            }
            return values;
        }
View Full Code Here

         *
         * @param node A target node.
         * @return A collected case values.
         */
        private List<Node> cases() {
            CopyOnWriteArrayList<Node> nodes = new CopyOnWriteArrayList();

            for (int i = 0; i < cases.size(); i++) {
                if (cases.get(i) != defaults) {
                    nodes.addIfAbsent(cases.get(i));
                }
            }
            return nodes;
        }
View Full Code Here

    public <A,R> void serializerTransformAdd(Fun.Function1<A,R> beforeSerialization, Fun.Function1<R,A> afterDeserialization ){
        lock.writeLock().lock(); //TODO ensure thread safety
        try {

            if (serializationTransformsSerialize == null) {
                serializationTransformsSerialize = new CopyOnWriteArrayList();
                serializationTransformsDeserialize = new CopyOnWriteArrayList();
            }

            serializationTransformsSerialize.add(beforeSerialization);
            serializationTransformsDeserialize.add(afterDeserialization);
        }finally {
View Full Code Here

TOP

Related Classes of java.util.concurrent.CopyOnWriteArrayList$SubList

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.