/* * Copyright (c) 2017 OBiBa. All rights reserved. * * This program and the accompanying materials * are made available under the terms of the GNU Public License v3.0. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package org.obiba.magma.datasource.csv.support; import com.google.common.collect.ImmutableList; public class Quote { public static final Quote DOUBLE = new Quote('"'); public static final Quote SINGLE = new Quote('\''); private final char quote; public Quote(char quote) { this.quote = quote; } public char getCharacter() { return quote; } public static Quote fromString(@SuppressWarnings("TypeMayBeWeakened") String value) { if(value == null) throw new IllegalArgumentException("value cannot be null"); for(Quote quote : ImmutableList.of(DOUBLE, SINGLE)) { if(value.equals("" + quote.quote)) { return quote; } } if(value.length() == 1) { return new Quote(value.charAt(0)); } else { throw new IllegalArgumentException("quote must be one character"); } } }