Example usage for com.google.common.collect EnumMultiset create

List of usage examples for com.google.common.collect EnumMultiset create

Introduction

In this page you can find the example usage for com.google.common.collect EnumMultiset create.

Prototype

public static <E extends Enum<E>> EnumMultiset<E> create(Iterable<E> elements) 

Source Link

Document

Creates a new EnumMultiset containing the specified elements.

Usage

From source file:com.jeffreybosboom.lyne.rules.OctagonOneEdgeOfColorRule.java

@Override
public Puzzle apply(Puzzle puzzle) {
    for (Iterator<Node> it = puzzle.nodes().filter(n -> n.kind() == Node.Kind.OCTAGON).iterator(); it
            .hasNext();) {/*from   w ww . j a  v a 2s .  c  o  m*/
        Node octagon = it.next();
        EnumMultiset<Node.Kind> counter = EnumMultiset.create(Node.Kind.class);
        Puzzle puzzle_ = puzzle;
        puzzle.neighbors(octagon).map(n -> puzzle_.possibilities(octagon, n)).forEachOrdered(counter::addAll);
        for (Node.Kind k : Node.Kind.values())
            if (k.isColored() && counter.count(k) == 1)
                //this is inefficient, but should be rare.
                for (Iterator<Node> it2 = puzzle.neighbors(octagon).iterator(); it2.hasNext();)
                    puzzle = puzzle.remove(octagon, it2.next(), k);
    }
    return puzzle;
}

From source file:bio.gcat.operation.analysis.AminoAcids.java

@Override
public Result analyse(Collection<Tuple> tuples, Object... values) {
    Multiset<Compound> compounds = EnumMultiset.create(Compound.class);
    for (Tuple tuple : tuples)
        compounds.add(Compound.isStop(tuple) ? Compound.STOP
                : Optional.ofNullable(tuple.getCompound()).orElse(Compound.UNKNOWN));

    StringBuilder builder = new StringBuilder();
    for (Entry<Compound> compound : compounds.entrySet())
        builder.append(DELIMITER).append(compound.getCount()).append(TIMES).append(compound.getElement());

    return new SimpleResult(this, builder.substring(DELIMITER.length()).toString());
}

From source file:com.github.nmorel.gwtjackson.guava.client.deser.EnumMultisetJsonDeserializer.java

@Override
protected EnumMultiset<E> newCollection() {
    return EnumMultiset.create(enumClass);
}

From source file:com.ardor3d.input.swt.SwtMouseWrapper.java

public synchronized void mouseUp(final MouseEvent e) {
    initState(e);//from w  w  w .  j a v  a2 s  .c  o  m

    final EnumMap<MouseButton, ButtonState> buttons = _lastState.getButtonStates();

    setStateForButton(e, buttons, ButtonState.UP);

    final MouseButton b = getButtonForEvent(e);
    if (_clickArmed.contains(b)
            && (System.currentTimeMillis() - _lastClickTime.get(b) <= MouseState.CLICK_TIME_MS)) {
        _clicks.add(b); // increment count of clicks for button b.
        // XXX: Note the double event add... this prevents sticky click counts, but is it the best way?
        addNewState(e, 0, buttons, EnumMultiset.create(_clicks));
    } else {
        _clicks.setCount(b, 0); // clear click count for button b.
    }
    _clickArmed.remove(b);

    addNewState(e, 0, buttons, null);
}

From source file:com.ardor3d.input.awt.AwtMouseWrapper.java

public synchronized void mouseReleased(final MouseEvent e) {
    initState(e);//from ww  w .  j a  v  a2 s.  co  m
    if (_consumeEvents) {
        e.consume();
    }

    final EnumMap<MouseButton, ButtonState> buttons = _lastState.getButtonStates();

    setStateForButton(e, buttons, ButtonState.UP);

    final MouseButton b = getButtonForEvent(e);
    if (_clickArmed.contains(b)
            && (System.currentTimeMillis() - _lastClickTime.get(b) <= MouseState.CLICK_TIME_MS)) {
        _clicks.add(b); // increment count of clicks for button b.
        // XXX: Note the double event add... this prevents sticky click counts, but is it the best way?
        addNewState(e, buttons, EnumMultiset.create(_clicks));
    } else {
        _clicks.setCount(b, 0); // clear click count for button b.
    }
    _clickArmed.remove(b);

    addNewState(e, buttons, null);
}

From source file:com.ardor3d.input.jogl.JoglNewtMouseWrapper.java

@Override
public synchronized void mouseReleased(final MouseEvent me) {
    if (!_skipAutoRepeatEvents || !me.isAutoRepeat()) {
        initState(me);/*from ww w .jav  a2 s  .  c o m*/
        if (_consumeEvents) {
            me.setAttachment(NEWTEvent.consumedTag);
        }

        final EnumMap<MouseButton, ButtonState> buttons = _lastState.getButtonStates();

        setStateForButton(me, buttons, ButtonState.UP);

        final MouseButton b = getButtonForEvent(me);
        if (_clickArmed.contains(b)
                && (System.currentTimeMillis() - _lastClickTime.get(b) <= MouseState.CLICK_TIME_MS)) {
            _clicks.add(b); // increment count of clicks for button b.
            // XXX: Note the double event add... this prevents sticky click counts, but is it the best way?
            addNewState(me, buttons, EnumMultiset.create(_clicks));
        } else {
            _clicks.setCount(b, 0); // clear click count for button b.
        }
        _clickArmed.remove(b);

        addNewState(me, buttons, null);
    }
}

From source file:com.ardor3d.input.MouseState.java

/**
 * Returns all the buttons' states. It could be easier for most classes to use the
 * {@link #getClickCount(MouseButton)} method, and that also results in less object creation.
 * /* w  w w .  j a  v a  2s  .com*/
 * @return a defensive copy of the click counts of all the buttons at this point in time.
 */
public Multiset<MouseButton> getClickCounts() {
    if (_clickCounts.isEmpty()) {
        return EnumMultiset.create(MouseButton.class);
    } else {
        return EnumMultiset.create(_clickCounts);
    }
}

From source file:com.ardor3d.input.MouseState.java

public Multiset<MouseButton> getClickCounts(final EnumMultiset<MouseButton> store) {
    final EnumMultiset<MouseButton> rVal = store;
    if (store == null) {
        if (_clickCounts.isEmpty()) {
            return EnumMultiset.create(MouseButton.class);
        } else {/*w ww  .java 2s  .com*/
            return EnumMultiset.create(_clickCounts);
        }
    }
    rVal.clear();
    rVal.addAll(_clickCounts);
    return rVal;
}

From source file:de.iteratec.iteraplan.businesslogic.service.DashboardServiceImpl.java

/** {@inheritDoc} */
public Map<String, Integer> getIsrStatusMap(List<InformationSystemRelease> isrs) {
    Multiset<InformationSystemRelease.TypeOfStatus> multiset = EnumMultiset
            .create(InformationSystemRelease.TypeOfStatus.class);

    for (InformationSystemRelease tcr : isrs) {
        multiset.add(tcr.getTypeOfStatus());
    }/*w ww .j  a  v  a  2 s. co  m*/

    Map<String, Integer> statusMap = Maps.newLinkedHashMap();
    for (InformationSystemRelease.TypeOfStatus status : InformationSystemRelease.TypeOfStatus.values()) {
        statusMap.put(status.toString(), Integer.valueOf(multiset.count(status)));
    }

    return statusMap;
}

From source file:de.iteratec.iteraplan.businesslogic.service.DashboardServiceImpl.java

/** {@inheritDoc} */
public Map<String, Integer> getTechnicalComponentsStatusMap(List<TechnicalComponentRelease> tcrs) {
    Multiset<TechnicalComponentRelease.TypeOfStatus> multiset = EnumMultiset
            .create(TechnicalComponentRelease.TypeOfStatus.class);

    for (TechnicalComponentRelease tcr : tcrs) {
        multiset.add(tcr.getTypeOfStatus());
    }/*from  w w  w . j  a v  a  2 s .  c o  m*/

    Map<String, Integer> statusMap = Maps.newLinkedHashMap();
    for (TechnicalComponentRelease.TypeOfStatus status : TechnicalComponentRelease.TypeOfStatus.values()) {
        statusMap.put(status.toString(), Integer.valueOf(multiset.count(status)));
    }

    return statusMap;
}