/*
* Copyright (c) 2010 Andy Aspell-Clark
*
* Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without
* restriction, including without limitation the rights to use,
* copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following
* conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*/
package uk.org.aspellclark.petsdb.model;
import java.util.ArrayList;
import java.util.HashMap;
import uk.org.aspellclark.common.model.AbstractDataObj;
/**
* Stores information about a Vet/Vet's practise.
* @author andy
*/
public class Vet extends AbstractDataObj {
public static final String FIELD_NAME_VET_PRACTISE_NAME = "VetPactiseName";
public static final String FIELD_NAME_VET_NAME = "VetName";
public static final String FIELD_NAME_VET_RATING = "VetRating";
public static final String FIELD_NAME_VET_ADDR_STREET1 = "VetAddressStreet1";
public static final String FIELD_NAME_VET_ADDR_STREET2 = "VetAddressStreet2";
public static final String FIELD_NAME_VET_ADDR_CITY = "VetAddressCity";
public static final String FIELD_NAME_VET_ADDR_COUNTY = "VetAddressCounty";
public static final String FIELD_NAME_VET_ADDR_POSTCODE = "VetAddressPostcode";
public static final String FIELD_NAME_VET_NOTES = "VetNotes";
public static final String DB_TABLE_NAME = "vet";
private String practiseName;
private String name;
private Integer rating;
private String notes;
private String street1;
private String street2;
private String city;
private String county;
private String postcode;
private String phoneNumber;
/**
* Default Constructor.
*/
public Vet() {
}
/**
* Constructor used for creating an Animal from a Database Row.
* @param arow
*/
public Vet(HashMap<String, String> arow) {
this.setUniqueIdentifier(arow.get(FIELD_NAME_UNIQUE_IDENTIFIER));
this.practiseName = arow.get(FIELD_NAME_VET_PRACTISE_NAME);
this.name = arow.get(FIELD_NAME_VET_NAME);
this.notes = arow.get(FIELD_NAME_VET_NOTES);
this.street1 = arow.get(FIELD_NAME_VET_ADDR_STREET1);
this.street2 = arow.get(FIELD_NAME_VET_ADDR_STREET2);
this.city = arow.get(FIELD_NAME_VET_ADDR_CITY);
this.county = arow.get(FIELD_NAME_VET_ADDR_COUNTY);
this.postcode = arow.get(FIELD_NAME_VET_ADDR_POSTCODE);
try {
this.rating = Integer.parseInt(arow.get(FIELD_NAME_VET_RATING));
} catch (NumberFormatException nfe) {
}
}
public final String getCity() {
return this.city;
}
public final String getCounty() {
return this.county;
}
@Override
public HashMap<Integer, ArrayList<String>> getFields() {
HashMap<Integer, ArrayList<String>> fields = new HashMap<Integer, ArrayList<String>>();
int x = 1;
fields.put(x++, this.getArrayList(FIELD_NAME_UNIQUE_IDENTIFIER, "INTEGER PRIMARY KEY"));
fields.put(x++, this.getArrayList(FIELD_NAME_VET_PRACTISE_NAME, "INTEGER NOT NULL"));
fields.put(x++, this.getArrayList(FIELD_NAME_VET_NAME, "VARCHAR(100)"));
fields.put(x++, this.getArrayList(FIELD_NAME_VET_RATING, "INTEGER"));
fields.put(x++, this.getArrayList(FIELD_NAME_VET_ADDR_STREET1, "VARCHAR(255)"));
fields.put(x++, this.getArrayList(FIELD_NAME_VET_ADDR_STREET2, "VARCHAR(255)"));
fields.put(x++, this.getArrayList(FIELD_NAME_VET_ADDR_CITY, "VARCHAR(255)"));
fields.put(x++, this.getArrayList(FIELD_NAME_VET_ADDR_COUNTY, "VARCHAR(255)"));
fields.put(x++, this.getArrayList(FIELD_NAME_VET_ADDR_POSTCODE, "VARCHAR(20)"));
fields.put(x++, this.getArrayList(FIELD_NAME_VET_NOTES, "VARCHAR(255)"));
return fields;
}
public final String getName() {
return this.name;
}
public final String getNotes() {
return this.notes;
}
public final String getPhoneNumber() {
return this.phoneNumber;
}
public final String getPostcode() {
return this.postcode;
}
public final String getPractiseName() {
return this.practiseName;
}
public final Integer getRating() {
return this.rating;
}
/* (non-Javadoc)
* @see uk.org.aspellclark.common.model.AbstractDataObj#getSqlInsert()
*/
@Override
public String getSqlInsert() {
StringBuilder sqlStmt = new StringBuilder(super.getSqlInsert());
sqlStmt.append("\"").append(this.practiseName).append("\"");
sqlStmt.append(",\"").append(this.name).append("\"");
sqlStmt.append(",\"").append(this.rating).append("\"");
sqlStmt.append(",\"").append(this.street1).append("\"");
sqlStmt.append(",\"").append(this.street2).append("\"");
sqlStmt.append(",\"").append(this.city).append("\"");
sqlStmt.append(",\"").append(this.county).append("\"");
sqlStmt.append(",\"").append(this.postcode).append("\"");
sqlStmt.append(",\"").append(this.notes).append("\"");
sqlStmt.append(");");
return sqlStmt.toString();
}
/* (non-Javadoc)
* @see uk.org.aspellclark.common.model.AbstractDataObj#getSqlUpdate()
*/
@Override
public String getSqlUpdate() {
StringBuilder sqlStmt = new StringBuilder(super.getSqlUpdate());
sqlStmt.append(" ").append(FIELD_NAME_VET_PRACTISE_NAME).append("=").append(this.practiseName).append("");
sqlStmt.append(",").append(FIELD_NAME_VET_NAME).append("=\"").append(this.name).append("\"");
sqlStmt.append(",").append(FIELD_NAME_VET_RATING).append("=\"").append(this.rating).append("\"");
sqlStmt.append(",").append(FIELD_NAME_VET_ADDR_STREET1).append("=\"").append(this.street1).append("\"");
sqlStmt.append(",").append(FIELD_NAME_VET_ADDR_STREET2).append("=\"").append(this.street2).append("\"");
sqlStmt.append(",").append(FIELD_NAME_VET_ADDR_CITY).append("=\"").append(this.city).append("\"");
sqlStmt.append(",").append(FIELD_NAME_VET_ADDR_COUNTY).append("=\"").append(this.county).append("\"");
sqlStmt.append(",").append(FIELD_NAME_VET_ADDR_POSTCODE).append("=\"").append(this.postcode).append("\"");
sqlStmt.append(",").append(FIELD_NAME_VET_NOTES).append("=\"").append(this.notes).append("\"");
sqlStmt.append(" where ").append(FIELD_NAME_UNIQUE_IDENTIFIER).append("=").append(this.uniqueIdentifier);
return sqlStmt.toString();
}
public final String getStreet1() {
return this.street1;
}
public final String getStreet2() {
return this.street2;
}
/* (non-Javadoc)
* @see uk.org.aspellclark.common.model.AbstractDataObj#getTableName()
*/
@Override
public String getTableName() {
return DB_TABLE_NAME;
}
public final void setCity(String city) {
this.city = city;
}
public final void setCounty(String county) {
this.county = county;
}
public final void setName(String name) {
this.name = name;
}
public final void setNotes(String notes) {
this.notes = notes;
}
public final void setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
}
public final void setPostcode(String postcode) {
this.postcode = postcode;
}
public final void setPractiseName(String practiseName) {
this.practiseName = practiseName;
}
public final void setRating(Integer rating) {
this.rating = rating;
}
public final void setStreet1(String street1) {
this.street1 = street1;
}
public final void setStreet2(String street2) {
this.street2 = street2;
}
}
|