content: /*
   * Copyright (c) 2013. wyouflf (wyouflf@gmail.com)
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *      http://www.apache.org/licenses/LICENSE-2.0
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   */
  
  package com.lidroid.xutils.http.client.multipart.content;
  
  import com.lidroid.xutils.http.client.multipart.MultipartEntity;
  
  /**
   * @since 4.0
   */
  public abstract class AbstractContentBody implements ContentBody {
  
      private final String mimeType;
      private final String mediaType;
      private final String subType;
  
      public AbstractContentBody(final String mimeType) {
          super();
          if (mimeType == null) {
              throw new IllegalArgumentException("MIME type may not be null");
          }
          this.mimeType = mimeType;
          int i = mimeType.indexOf('/');
          if (i != -1) {
              this.mediaType = mimeType.substring(0, i);
              this.subType = mimeType.substring(i + 1);
          } else {
              this.mediaType = mimeType;
              this.subType = null;
          }
      }
  
      public String getMimeType() {
          return this.mimeType;
      }
  
      public String getMediaType() {
          return this.mediaType;
      }
  
      public String getSubType() {
          return this.subType;
      }
  
      protected MultipartEntity.CallBackInfo callBackInfo = MultipartEntity.CallBackInfo.DEFAULT;
  
      @Override
      public void setCallBackInfo(MultipartEntity.CallBackInfo callBackInfo) {
          this.callBackInfo = callBackInfo;
      }
  }
  