Java tutorial
/** * Copyright 2016 gromit.it * * 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 io.gromit.uaparser.model; import java.util.Map; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; /** * The Class Device. */ public class Device { /** The family. */ public final String family, brand, model; /** * Instantiates a new device. * * @param family the family * @param brand the brand * @param model the model */ public Device(String family, String brand, String model) { this.family = family; this.brand = brand; this.model = model; } /** * From map. * * @param m * the m * @return the device */ public static Device fromMap(Map<String, String> m) { return new Device(m.get("family"), m.get("brand"), m.get("model")); } /* (non-Javadoc) * @see java.lang.Object#hashCode() */ @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((brand == null) ? 0 : brand.hashCode()); result = prime * result + ((family == null) ? 0 : family.hashCode()); result = prime * result + ((model == null) ? 0 : model.hashCode()); return result; } /* (non-Javadoc) * @see java.lang.Object#equals(java.lang.Object) */ @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (!(obj instanceof Device)) { return false; } Device other = (Device) obj; if (brand == null) { if (other.brand != null) { return false; } } else if (!brand.equals(other.brand)) { return false; } if (family == null) { if (other.family != null) { return false; } } else if (!family.equals(other.family)) { return false; } if (model == null) { if (other.model != null) { return false; } } else if (!model.equals(other.model)) { return false; } return true; } /* * (non-Javadoc) * * @see java.lang.Object#toString() */ @Override public String toString() { return ToStringBuilder.reflectionToString(this, ToStringStyle.SHORT_PREFIX_STYLE); } }