/* * Copyright (C) 2007-2015 FBReader.ORG Limited <contact@fbreader.org> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. */ package org.geometerplus.android.fbreader.libraryService; import org.geometerplus.fbreader.book.*; abstract class Util { static String authorToString(Author author) { return author.DisplayName + "\000" + author.SortKey; } static Author stringToAuthor(String string) { if (string == null) { return Author.NULL; } final String[] split = string.split("\000"); if (split.length != 2) { return Author.NULL; } return new Author(split[0], split[1]); } static String tagToString(Tag tag) { return tag.toString("\000"); } static Tag stringToTag(String string) { if (string == null) { return Tag.NULL; } final String[] split = string.split("\000"); if (split.length == 0) { return Tag.NULL; } return Tag.getTag(split); } static String formatDescriptorToString(IBookCollection.FormatDescriptor descriptor) { return descriptor.Id + "\000" + descriptor.Name + "\000" + (descriptor.IsActive ? 1 : 0); } static IBookCollection.FormatDescriptor stringToFormatDescriptor(String string) { if (string == null) { throw new IllegalArgumentException(); } final String[] split = string.split("\000"); if (split.length != 3) { throw new IllegalArgumentException(); } final IBookCollection.FormatDescriptor descriptor = new IBookCollection.FormatDescriptor(); descriptor.Id = split[0]; descriptor.Name = split[1]; descriptor.IsActive = "1".equals(split[2]); return descriptor; } }