/* * Copyright (c) 2008-2012, Hazel Bilisim Ltd. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.hazelcast.impl.base; import com.hazelcast.nio.DataSerializable; import java.io.DataInput; import java.io.DataOutput; import java.io.IOException; import java.util.ArrayList; import java.util.List; public class Pairs implements DataSerializable { private List<KeyValue> lsKeyValues = null; public Pairs() { } public Pairs(int size) { lsKeyValues = new ArrayList<KeyValue>(size); } public void addKeyValue(KeyValue keyValue) { if (getKeyValues() == null) { setKeyValues(new ArrayList<KeyValue>()); } getKeyValues().add(keyValue); } public void writeData(DataOutput out) throws IOException { int size = (getKeyValues() == null) ? 0 : getKeyValues().size(); out.writeInt(size); for (int i = 0; i < size; i++) { getKeyValues().get(i).writeData(out); } } public void readData(DataInput in) throws IOException { int size = in.readInt(); for (int i = 0; i < size; i++) { if (getKeyValues() == null) { setKeyValues(new ArrayList<KeyValue>()); } KeyValue kv = new KeyValue(); kv.readData(in); getKeyValues().add(kv); } } public int size() { return (getKeyValues() == null) ? 0 : getKeyValues().size(); } public KeyValue getEntry(int i) { return (getKeyValues() == null) ? null : getKeyValues().get(i); } /** * @param lsKeyValues the lsKeyValues to set */ public void setKeyValues(List<KeyValue> lsKeyValues) { this.lsKeyValues = lsKeyValues; } /** * @return the lsKeyValues */ public List<KeyValue> getKeyValues() { return lsKeyValues; } @Override public String toString() { return "Pairs{" + "lsKeyValues=" + ((lsKeyValues == null) ? 0 : lsKeyValues.size()) + '}'; } }