com.google.code.facebookapi.FacebookExtendedPerm Maven / Gradle / Ivy
/*
+---------------------------------------------------------------------------+
| Facebook Development Platform Java Client |
+---------------------------------------------------------------------------+
| Copyright (c) 2007 Facebook, Inc. |
| All rights reserved. |
| |
| Redistribution and use in source and binary forms, with or without |
| modification, are permitted provided that the following conditions |
| are met: |
| |
| 1. Redistributions of source code must retain the above copyright |
| notice, this list of conditions and the following disclaimer. |
| 2. Redistributions in binary form must reproduce the above copyright |
| notice, this list of conditions and the following disclaimer in the |
| documentation and/or other materials provided with the distribution. |
| |
| THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR |
| IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES |
| OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. |
| IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, |
| INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT |
| NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
| DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
| THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
| THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
+---------------------------------------------------------------------------+
| For help with this library, contact [email protected] |
+---------------------------------------------------------------------------+
*/
package com.google.code.facebookapi;
import java.io.IOException;
import java.net.URL;
/**
* An enumeration of the extended permissions available for applications using
* the Facebook API.
*
* Send users to the result of {@link #authorizationUrl(String, CharSequence)}
* to request a permission.
*
* @deprecated this class exists for legacy support only. Please use Permission instead.
*/
@Deprecated
public enum FacebookExtendedPerm
implements CharSequence {
/** Required for users_setStatus method
* @see FacebookRestClient#users_setStatus
*
* @deprecated this class exists for legacy support only. Please use Permission instead.
*/
@Deprecated
STATUS_UPDATE("status_update"),
/** Required for photos_upload and photos_addTag API methods
* @see FacebookRestClient#photos_upload
* @see FacebookRestClient#photos_addTag
*
* @deprecated this class exists for legacy support only. Please use Permission instead.
*/
@Deprecated
PHOTO_UPLOAD("photo_upload"),
/** Required for marketplace_createListing and marketplace_removeListing API methods
* @see FacebookRestClient#marketplace_createListing
* @see FacebookRestClient#marketplace_editListing
* @see FacebookRestClient#marketplace_removeListing(Long)
*
* @deprecated this class exists for legacy support only. Please use Permission instead.
*/
@Deprecated
MARKETPLACE("create_listing"),
/** Required for sending SMS to the user
* @see FacebookRestClient#sms_canSend
* @see FacebookRestClient#sms_sendMessage
*
* @deprecated this class exists for legacy support only. Please use Permission instead.
*/
@Deprecated
SMS("sms"),
;
/**
* The unchanging part of the URL to use for authorizing extended permissions.
*/
public static final String PERM_AUTHORIZE_ADDR = Permission.PERM_AUTHORIZE_ADDR;
private String permissionName;
FacebookExtendedPerm(String name) {
setPermissionName(name);
}
/**
* @param permissionName
*
* @deprecated this class exists for legacy support only. Please use Permission instead.
*/
@Deprecated
public void setPermissionName(String permissionName) {
this.permissionName = permissionName;
}
/**
* @return the name by which the Facebook Platform refers to this permission.
*
* @deprecated this class exists for legacy support only. Please use Permission instead.
*/
@Deprecated
public String getPermissionName() {
return permissionName;
}
/**
* The URL to which to send the user to request the extended permission.
* @param apiKey
* @param permission
* @return a URL
*
* @deprecated this class exists for legacy support only. Please use Permission instead.
* @throws IOException if something bad happens.
*/
@Deprecated
public static URL authorizationUrl(String apiKey, FacebookExtendedPerm permission)
throws IOException {
return authorizationUrl(apiKey, permission.getPermissionName());
}
/**
* The URL to which to send the user to request the extended permission.
* @param apiKey
* @param permission
* @return a URL
*
* @deprecated this class exists for legacy support only. Please use Permission instead.
* @throws IOException if something bad happens.
*/
@Deprecated
public static URL authorizationUrl(String apiKey, CharSequence permission)
throws IOException {
String url = String.format("%s?api_key=%s&v=1.0&ext_perm=%s", PERM_AUTHORIZE_ADDR, apiKey, permission);
return new URL(url);
}
/* Implementing CharSequence */
public char charAt(int index) {
return this.permissionName.charAt(index);
}
public int length() {
return this.permissionName.length();
}
public CharSequence subSequence(int start, int end) {
return this.permissionName.subSequence(start, end);
}
public String toString() {
return this.permissionName;
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy