1// Copyright 2013-2020 Aerospike, Inc. 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15package aerospike 16 17// BinMap is used to define a map of bin names to values. 18type BinMap map[string]interface{} 19 20// Bin encapsulates a field name/value pair. 21type Bin struct { 22 // Bin name. Current limit is 14 characters. 23 Name string 24 25 // Bin value. 26 Value Value 27} 28 29// NewBin generates a new Bin instance, specifying bin name and string value. 30// For servers configured as "single-bin", enter an empty name. 31func NewBin(name string, value interface{}) *Bin { 32 return &Bin{ 33 Name: name, 34 Value: NewValue(value), 35 } 36} 37 38// String implements Stringer interface. 39func (bn *Bin) String() string { 40 return bn.Name + ":" + bn.Value.String() 41} 42