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