001package org.hl7.fhir.utilities.graphql; 002 003/*- 004 * #%L 005 * org.hl7.fhir.utilities 006 * %% 007 * Copyright (C) 2014 - 2019 Health Level 7 008 * %% 009 * Licensed under the Apache License, Version 2.0 (the "License"); 010 * you may not use this file except in compliance with the License. 011 * You may obtain a copy of the License at 012 * 013 * http://www.apache.org/licenses/LICENSE-2.0 014 * 015 * Unless required by applicable law or agreed to in writing, software 016 * distributed under the License is distributed on an "AS IS" BASIS, 017 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 018 * See the License for the specific language governing permissions and 019 * limitations under the License. 020 * #L% 021 */ 022 023 024public class StringValue extends Value { 025 private String value; 026 027 public StringValue(java.lang.String value) { 028 super(); 029 this.value = value; 030 } 031 032 public String getValue() { 033 return value; 034 } 035 036 public void setValue(String value) { 037 this.value = value; 038 } 039 040 public boolean isValue(String v) { 041 return v.equals(value); 042 } 043 public String toString() { 044 return value; 045 } 046 public void write(StringBuilder b, int indent) { 047 b.append("\""); 048 for (char ch : value.toCharArray()) { 049 if (ch == '"') b.append("\""); 050 else if (ch == '\\') b.append("\\"); 051 else if (ch == '\r') b.append("\\r"); 052 else if (ch == '\n') b.append("\\n"); 053 else if (ch == '\t') b.append("\\t"); 054 else if (ch < 32) 055 b.append("\\u"+Integer.toHexString(ch)); 056 else 057 b.append(ch); 058 } 059 b.append("\""); 060 } 061}