15c523858385176c33a7456bb84035de78552d22dMarc Blank/* 25c523858385176c33a7456bb84035de78552d22dMarc Blank * Copyright (C) 2010 The Android Open Source Project 35c523858385176c33a7456bb84035de78552d22dMarc Blank * 45c523858385176c33a7456bb84035de78552d22dMarc Blank * Licensed under the Apache License, Version 2.0 (the "License"); 55c523858385176c33a7456bb84035de78552d22dMarc Blank * you may not use this file except in compliance with the License. 65c523858385176c33a7456bb84035de78552d22dMarc Blank * You may obtain a copy of the License at 75c523858385176c33a7456bb84035de78552d22dMarc Blank * 85c523858385176c33a7456bb84035de78552d22dMarc Blank * http://www.apache.org/licenses/LICENSE-2.0 95c523858385176c33a7456bb84035de78552d22dMarc Blank * 105c523858385176c33a7456bb84035de78552d22dMarc Blank * Unless required by applicable law or agreed to in writing, software 115c523858385176c33a7456bb84035de78552d22dMarc Blank * distributed under the License is distributed on an "AS IS" BASIS, 125c523858385176c33a7456bb84035de78552d22dMarc Blank * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 135c523858385176c33a7456bb84035de78552d22dMarc Blank * See the License for the specific language governing permissions and 145c523858385176c33a7456bb84035de78552d22dMarc Blank * limitations under the License. 155c523858385176c33a7456bb84035de78552d22dMarc Blank */ 165c523858385176c33a7456bb84035de78552d22dMarc Blank 175c523858385176c33a7456bb84035de78552d22dMarc Blankpackage com.android.email.mail.store.imap; 185c523858385176c33a7456bb84035de78552d22dMarc Blank 195c523858385176c33a7456bb84035de78552d22dMarc Blankimport com.android.emailcommon.utility.Utility; 205c523858385176c33a7456bb84035de78552d22dMarc Blank 215c523858385176c33a7456bb84035de78552d22dMarc Blankimport java.io.ByteArrayInputStream; 225c523858385176c33a7456bb84035de78552d22dMarc Blankimport java.io.InputStream; 235c523858385176c33a7456bb84035de78552d22dMarc Blank 245c523858385176c33a7456bb84035de78552d22dMarc Blank/** 255c523858385176c33a7456bb84035de78552d22dMarc Blank * Subclass of {@link ImapString} used for non literals. 265c523858385176c33a7456bb84035de78552d22dMarc Blank */ 275c523858385176c33a7456bb84035de78552d22dMarc Blankpublic class ImapSimpleString extends ImapString { 285c523858385176c33a7456bb84035de78552d22dMarc Blank private String mString; 295c523858385176c33a7456bb84035de78552d22dMarc Blank 305c523858385176c33a7456bb84035de78552d22dMarc Blank /* package */ ImapSimpleString(String string) { 315c523858385176c33a7456bb84035de78552d22dMarc Blank mString = (string != null) ? string : ""; 325c523858385176c33a7456bb84035de78552d22dMarc Blank } 335c523858385176c33a7456bb84035de78552d22dMarc Blank 345c523858385176c33a7456bb84035de78552d22dMarc Blank @Override 355c523858385176c33a7456bb84035de78552d22dMarc Blank public void destroy() { 365c523858385176c33a7456bb84035de78552d22dMarc Blank mString = null; 375c523858385176c33a7456bb84035de78552d22dMarc Blank super.destroy(); 385c523858385176c33a7456bb84035de78552d22dMarc Blank } 395c523858385176c33a7456bb84035de78552d22dMarc Blank 405c523858385176c33a7456bb84035de78552d22dMarc Blank @Override 415c523858385176c33a7456bb84035de78552d22dMarc Blank public String getString() { 425c523858385176c33a7456bb84035de78552d22dMarc Blank return mString; 435c523858385176c33a7456bb84035de78552d22dMarc Blank } 445c523858385176c33a7456bb84035de78552d22dMarc Blank 455c523858385176c33a7456bb84035de78552d22dMarc Blank @Override 465c523858385176c33a7456bb84035de78552d22dMarc Blank public InputStream getAsStream() { 475c523858385176c33a7456bb84035de78552d22dMarc Blank return new ByteArrayInputStream(Utility.toAscii(mString)); 485c523858385176c33a7456bb84035de78552d22dMarc Blank } 495c523858385176c33a7456bb84035de78552d22dMarc Blank 505c523858385176c33a7456bb84035de78552d22dMarc Blank @Override 515c523858385176c33a7456bb84035de78552d22dMarc Blank public String toString() { 525c523858385176c33a7456bb84035de78552d22dMarc Blank // Purposefully not return just mString, in order to prevent using it instead of getString. 535c523858385176c33a7456bb84035de78552d22dMarc Blank return "\"" + mString + "\""; 545c523858385176c33a7456bb84035de78552d22dMarc Blank } 555c523858385176c33a7456bb84035de78552d22dMarc Blank} 56