001
014
015 package com.liferay.portlet.dynamicdatamapping.storage;
016
017 import com.liferay.portal.kernel.util.Validator;
018
019 import java.io.Serializable;
020
021 import java.util.ArrayList;
022 import java.util.Collection;
023 import java.util.Collections;
024 import java.util.Comparator;
025 import java.util.HashMap;
026 import java.util.Iterator;
027 import java.util.List;
028 import java.util.Map;
029 import java.util.Set;
030
031
034 public class Fields implements Serializable {
035
036 public boolean contains(String name) {
037 return _fieldsMap.containsKey(name);
038 }
039
040 @Override
041 public boolean equals(Object obj) {
042 if (!(obj instanceof Fields)) {
043 return false;
044 }
045
046 Fields fields = (Fields)obj;
047
048 if (Validator.equals(_fieldsMap, fields._fieldsMap)) {
049 return true;
050 }
051
052 return false;
053 }
054
055 public Field get(String name) {
056 return _fieldsMap.get(name);
057 }
058
059 public Set<String> getNames() {
060 return _fieldsMap.keySet();
061 }
062
063 public Iterator<Field> iterator() {
064 return iterator(null);
065 }
066
067 public Iterator<Field> iterator(Comparator<Field> comparator) {
068 Collection<Field> fieldsCollection = _fieldsMap.values();
069
070 List<Field> fieldsList = new ArrayList<Field>(fieldsCollection);
071
072 if (comparator != null) {
073 Collections.sort(fieldsList, comparator);
074 }
075
076 return fieldsList.iterator();
077 }
078
079 public void put(Field field) {
080 _fieldsMap.put(field.getName(), field);
081 }
082
083 public Field remove(String name) {
084 return _fieldsMap.remove(name);
085 }
086
087 private Map<String, Field> _fieldsMap = new HashMap<String, Field>();
088
089 }