/******************************************************************************* * This file is part of Zandy. * * Zandy is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Zandy is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with Zandy. If not, see <http://www.gnu.org/licenses/>. ******************************************************************************/ package com.gimranov.zandy.app.data; import org.json.JSONException; import org.json.JSONObject; /** * Need to work out DB saving and loading soon * @author ajlyon * */ public class Creator { private String lastName; private String firstName; private String name; private String creatorType; private boolean singleField; private int dbId; public static final String TAG = "com.gimranov.zandy.app.data.Creator"; /** * A Creator, given type, a single string, and a boolean mode. * @param mCreatorType A valid creator type * @param mName Name. If not in single-field-mode, last word will be lastName * @param mSingleField If true, name won't be parsed into first and last */ public Creator(String mCreatorType, String mName, boolean mSingleField) { creatorType = mCreatorType; singleField = mSingleField; name = mName; if (singleField) return; String[] pieces = name.split(" "); if (pieces.length > 1) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < pieces.length - 1; i++) { sb.append(pieces[i]); } firstName = sb.toString(); lastName = pieces[pieces.length - 1]; } } /** * A creator given two name parts. They'll be joined for the name field. * @param type * @param first * @param last */ public Creator(String type, String first, String last) { creatorType = type; firstName = first; lastName = last; singleField = false; name = first + " " + last; } public String getCreatorType() { return creatorType; } public void setCreatorType(String creatorType) { this.creatorType = creatorType; } public int getDbId() { return dbId; } public void setDbId(int dbId) { this.dbId = dbId; } public String getLastName() { return lastName; } public String getFirstName() { return firstName; } public String getName() { return name; } public boolean isSingleField() { return singleField; } public JSONObject toJSON() throws JSONException { if (singleField) return new JSONObject().accumulate("name", name) .accumulate("creatorType", creatorType); return new JSONObject().accumulate("firstName", firstName) .accumulate("lastName", lastName) .accumulate("creatorType", creatorType); } }