001/* 002 * Copyright 2010-2014 Ning, Inc. 003 * Copyright 2014-2015 The Billing Project, LLC 004 * 005 * The Billing Project licenses this file to you under the Apache License, version 2.0 006 * (the "License"); you may not use this file except in compliance with the 007 * License. You may obtain a copy of the License at: 008 * 009 * http://www.apache.org/licenses/LICENSE-2.0 010 * 011 * Unless required by applicable law or agreed to in writing, software 012 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 013 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 014 * License for the specific language governing permissions and limitations 015 * under the License. 016 */ 017 018package com.ning.billing.recurly.model; 019 020import com.google.common.base.Objects; 021 022import javax.xml.bind.annotation.XmlElement; 023import javax.xml.bind.annotation.XmlRootElement; 024 025@XmlRootElement(name = "custom_field") 026public class CustomField extends RecurlyObject { 027 028 @XmlElement(name = "name") 029 private String name; 030 031 @XmlElement(name = "value") 032 private String value; 033 034 public String getName() { 035 return name; 036 } 037 038 public void setName(final Object name) { 039 this.name = stringOrNull(name); 040 } 041 042 public String getValue() { 043 return value; 044 } 045 046 public void setValue(final Object value) { 047 this.value = stringOrNull(value); 048 } 049 050 @Override 051 public String toString() { 052 final StringBuilder sb = new StringBuilder("CustomField{"); 053 sb.append("name=").append(name); 054 sb.append(", value=").append(value); 055 sb.append('}'); 056 return sb.toString(); 057 } 058 059 @Override 060 public boolean equals(final Object o) { 061 if (this == o) return true; 062 if (o == null || getClass() != o.getClass()) return false; 063 064 final CustomField field = (CustomField) o; 065 066 if (name != null ? !name.equals(field.name) : field.name != null) { 067 return false; 068 } 069 if (value != null ? !value.equals(field.value) : field.value != null) { 070 return false; 071 } 072 073 return true; 074 } 075 076 @Override 077 public int hashCode() { 078 return Objects.hashCode( name, value ); 079 } 080}