Android Open Source - baracus-framework Data Util






From Project

Back to project page baracus-framework.

License

The source code is released under:

Apache License

If you think the Android project baracus-framework listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package net.mantucon.baracus.util;
//from   ww w .j av  a2 s. com
import java.util.*;

/**
 * A set of simple generic data helpers
 * <p/>
 * Created by marcus on 24.07.14.
 */
public class DataUtil {

    public static interface Hashifier<U, T> {
        public U getValue(T item);
    }


    /**
     * Hashing helper function. Create a 1:1 HashMap from the passed collection.
     * If a key is used, which is non-unique inside of the passed collection, an
     * IllegalArgumentException is thrown.
     *
     * @param items     - the item collection
     * @param hashifier - the hashifier object used to extract the key out of the individual object
     * @param <T>       - item type param
     * @param <U>       - item key param
     * @return Map<key,item> containing all elements
     */
    public static <T, U> Map<U, T> hashify(Collection<T> items, Hashifier<U, T> hashifier) {
        HashMap<U, T> result = new HashMap<U, T>();
        for (T t : items) {
            U key = hashifier.getValue(t);
            if (result.containsKey(key)) {
                throw new IllegalArgumentException("The hashifier for the passed item list must produce unique keys! Otherwise use hashify2List function!");
            }
            result.put(key, t);
        }
        return result;
    }


    /**
     * Hashing helper function. Create a 1:1 HashMap from the passed collection.
     * If a key is used, which is non-unique inside of the passed collection, an
     * IllegalArgumentException is thrown.
     *
     * @param items     - the item collection
     * @param hashifier - the hashifier object used to extract the key out of the individual object
     * @param <T>       - item type param
     * @param <U>       - item key param
     * @return Map<key,item> containing all elements
     * <p/>
     * UNTESTED
     */
    public static <T, U> Map<U, List<T>> hashify2List(Collection<T> items, Hashifier<U, T> hashifier) {
        HashMap<U, List<T>> result = new HashMap<U, List<T>>();
        for (T t : items) {
            U key = hashifier.getValue(t);
            List<T> itemCollection;
            if (!result.containsKey(key)) {
                itemCollection = new ArrayList<T>();
                result.put(key, itemCollection);
            } else {
                itemCollection = result.get(key);
            }
            itemCollection.add(t);
        }
        return result;
    }
}




Java Source Code List

net.mantucon.baracus.annotations.Bean.java
net.mantucon.baracus.context.AnnotationScanner.java
net.mantucon.baracus.context.BaracusApplicationContext.java
net.mantucon.baracus.context.BeanContainer.java
net.mantucon.baracus.context.Exceptions.java
net.mantucon.baracus.context.ManagedActivity.java
net.mantucon.baracus.context.ManagedFragment.java
net.mantucon.baracus.dao.BaracusOpenHelper.java
net.mantucon.baracus.dao.BaseDao.java
net.mantucon.baracus.dao.ConfigurationDao.java
net.mantucon.baracus.errorhandling.CustomErrorHandler.java
net.mantucon.baracus.errorhandling.ErrorHandler.java
net.mantucon.baracus.errorhandling.ErrorHandlingFactory.java
net.mantucon.baracus.errorhandling.ErrorSeverity.java
net.mantucon.baracus.errorhandling.StandardErrorHandler.java
net.mantucon.baracus.errorhandling.TextEditErrorHandler.java
net.mantucon.baracus.lifecycle.ApplicationContextInitializer.java
net.mantucon.baracus.lifecycle.Destroyable.java
net.mantucon.baracus.lifecycle.Initializeable.java
net.mantucon.baracus.migr8.MigrationStep.java
net.mantucon.baracus.migr8.ModelVersion000.java
net.mantucon.baracus.model.ConfigurationParameter.java
net.mantucon.baracus.orm.AbstractModelBase.java
net.mantucon.baracus.orm.FieldList.java
net.mantucon.baracus.orm.Field.java
net.mantucon.baracus.orm.Identifiable.java
net.mantucon.baracus.orm.LazyCollection.java
net.mantucon.baracus.orm.LazyMorphicCollection.java
net.mantucon.baracus.orm.LazyReference.java
net.mantucon.baracus.orm.LegacyModelBase.java
net.mantucon.baracus.orm.ModelBase.java
net.mantucon.baracus.orm.NullReference.java
net.mantucon.baracus.orm.ObjectReference.java
net.mantucon.baracus.orm.OptimisticLockingModelBase.java
net.mantucon.baracus.orm.OptmisticLocking.java
net.mantucon.baracus.orm.ReferenceLoader.java
net.mantucon.baracus.orm.Reference.java
net.mantucon.baracus.orm.Timestamped.java
net.mantucon.baracus.signalling.ConfigurationChangeListener.java
net.mantucon.baracus.signalling.DataChangeAwareComponent.java
net.mantucon.baracus.signalling.DataSetChangeAwareComponent.java
net.mantucon.baracus.signalling.DeleteAwareComponent.java
net.mantucon.baracus.signalling.GenericEventAwareComponent.java
net.mantucon.baracus.signalling.GenericEvent.java
net.mantucon.baracus.ui.ConstrainedEditText.java
net.mantucon.baracus.ui.ConstrainedSpinner.java
net.mantucon.baracus.ui.ErrorView.java
net.mantucon.baracus.ui.Popup.java
net.mantucon.baracus.util.DBBackup.java
net.mantucon.baracus.util.DataUtil.java
net.mantucon.baracus.util.DateUtil.java
net.mantucon.baracus.util.DayDate.java
net.mantucon.baracus.util.Logger.java
net.mantucon.baracus.util.StringUtil.java
net.mantucon.baracus.validation.AbstractValidator.java
net.mantucon.baracus.validation.ConstrainedView.java
net.mantucon.baracus.validation.ValidatableView.java
net.mantucon.baracus.validation.ValidationFactory.java
net.mantucon.baracus.validation.Validator.java
net.mantucon.baracus.validation.builtins.DateFromNow.java
net.mantucon.baracus.validation.builtins.NumberMustBeGreaterThanZero.java
net.mantucon.baracus.validation.builtins.StringIsNumericDouble.java
net.mantucon.baracus.validation.builtins.StringIsNumericInteger.java
net.mantucon.baracus.validation.builtins.StringNotEmpty.java