/** * Copyright 2014 Daum Kakao Corp. * * Redistribution and modification in source or binary forms are not permitted without specific prior written permission.  * * 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.kakao; import org.json.JSONArray; import android.os.Bundle; import com.kakao.KakaoParameterException.ERROR_CODE; import com.kakao.helper.ServerProtocol; /* * Param Name Param Type 필수 설명 * imageURLs String o 이미지 URL 리스트 * content String x 내용 */ /** * 사진(Photo) 스토리 포스트시 필요한 정보를 구성하는 Builder이다. * 사진은 필수 항목이다. * @author MJ */ public class PhotoKakaoStoryPostParamBuilder extends BasicKakaoStoryPostParamBuilder{ private String content; private final JSONArray imageURLs = new JSONArray(); /** * 업로드 결과를 받아 이미지 url을 설정해 준다. * @param imageURLs 업로드 결과 */ public PhotoKakaoStoryPostParamBuilder (final String[] imageURLs) { for(final String imagePath : imageURLs) this.imageURLs.put(imagePath); } /** * 포스팅에 텍스트를 추가한다. * @param content 포스팅에 포함할 텍스트 */ public PhotoKakaoStoryPostParamBuilder setContent(final String content) { this.content = content; return this; } /** * 지금까지 추가된 설정을 Bundle로 만들어준다. * @return 스토리 포스트 설정을 Bundle로 반환 */ public Bundle build() throws KakaoParameterException { if(imageURLs.length() == 0) throw new KakaoParameterException(ERROR_CODE.CORE_PARAMETER_MISSING, "addImageURL(String) is required."); final Bundle parameters = super.build(); if(content != null) parameters.putString(ServerProtocol.CONTENT_KEY, content); if(imageURLs.length() != 0) parameters.putString(ServerProtocol.IMAGE_URL_LIST_KEY, imageURLs.toString()); return parameters; } }