net.sf.fb4j
Class FacebookObject<K extends FacebookField>
java.lang.Object
java.util.AbstractMap<K,V>
java.util.HashMap<K,java.lang.Object>
net.sf.fb4j.FacebookObject<K>
- Type Parameters:
K - the enum representing the field names for this Facebook entity
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, java.util.Map<K,java.lang.Object>
- Direct Known Subclasses:
- EducationInfo, Event, EventLocation, EventMembersByStatus, EventMembersByUser, Group, GroupLocation, GroupMembersByRole, GroupMembersByUser, HighSchoolInfo, HometownLocation, Listing, NetworkAffiliation, NotificationsItem, OperatingHours, OutstandingNotifications, Page, PageFun, PageLocation, ParkingOption, PaymentOption, Photo, PhotoAlbum, PhotoTag, Relationship, RestaurantService, RestaurantSpecialty, UserInfo, UserLocation, UserStatus, WorkInfo, WorkLocation
public abstract class FacebookObject<K extends FacebookField>
- extends java.util.HashMap<K,java.lang.Object>
Base class for entities accessible through the Facebook API. By default,
these are read-only. FacebookObject implements Map to allow easy access (e.g. JSP EL)
to properties using their Facebook field name (e.g. work_history). The Map's keys
are defined by an enum given in the generic constructor. Its values contain Facebook
data mapped to Java objects or arrays by fb4j.
Implementations of this class provide bean-style accessors using Java-friendly property
names (e.g. workHistory).
Note that fields may be null or empty for a number of reasons (access denied by Facebook,
not requested in FQL query, etc.) In some cases Facebook's REST server returns empty arrays,
sometimes null. It is up to the developer to ensure that requested fields were loaded properly.
- Author:
- Gino Miceli, Mino Togna
- See Also:
- Serialized Form
| Nested classes/interfaces inherited from class java.util.AbstractMap |
java.util.AbstractMap.SimpleEntry<K,V>, java.util.AbstractMap.SimpleImmutableEntry<K,V> |
|
Method Summary |
void |
clear()
|
protected abstract K |
fieldForName(java.lang.String fieldName)
|
java.lang.Object |
get(java.lang.Object key)
|
protected java.lang.Boolean |
getBoolean(K key)
|
protected java.util.Date |
getDate(K key)
|
protected java.lang.Float |
getFloat(K key)
|
protected java.lang.Integer |
getInteger(K key)
|
protected java.lang.Long |
getLong(K key)
|
protected java.lang.Number |
getNumber(K key)
|
protected java.lang.String |
getString(K key)
|
protected java.lang.String[] |
getStringArray(K key)
|
java.lang.Object |
put(K key,
java.lang.Object value)
|
void |
putAll(java.util.Map<? extends K,? extends java.lang.Object> m)
|
protected java.lang.Object |
putInternal(K field,
java.lang.Object value)
|
protected java.lang.Object |
putInternal(java.lang.String fieldName,
java.lang.Object value)
|
java.lang.Object |
remove(java.lang.Object key)
|
| Methods inherited from class java.util.HashMap |
clone, containsKey, containsValue, entrySet, isEmpty, keySet, size, values |
| Methods inherited from class java.util.AbstractMap |
equals, hashCode, toString |
| Methods inherited from class java.lang.Object |
finalize, getClass, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface java.util.Map |
equals, hashCode |
EMPTY_LONG
public static final java.lang.Long EMPTY_LONG
EMPTY_INTEGER
public static final java.lang.Integer EMPTY_INTEGER
EMPTY_FLOAT
public static final java.lang.Float EMPTY_FLOAT
EMPTY_DATE
public static final java.util.Date EMPTY_DATE
DATE_FORMAT
public static final java.lang.String DATE_FORMAT
- See Also:
- Constant Field Values
FacebookObject
public FacebookObject()
get
public java.lang.Object get(java.lang.Object key)
- Specified by:
get in interface java.util.Map<K extends FacebookField,java.lang.Object>- Overrides:
get in class java.util.HashMap<K extends FacebookField,java.lang.Object>
putInternal
protected final java.lang.Object putInternal(java.lang.String fieldName,
java.lang.Object value)
putInternal
protected java.lang.Object putInternal(K field,
java.lang.Object value)
put
public final java.lang.Object put(K key,
java.lang.Object value)
- Specified by:
put in interface java.util.Map<K extends FacebookField,java.lang.Object>- Overrides:
put in class java.util.HashMap<K extends FacebookField,java.lang.Object>
clear
public final void clear()
- Specified by:
clear in interface java.util.Map<K extends FacebookField,java.lang.Object>- Overrides:
clear in class java.util.HashMap<K extends FacebookField,java.lang.Object>
putAll
public final void putAll(java.util.Map<? extends K,? extends java.lang.Object> m)
- Specified by:
putAll in interface java.util.Map<K extends FacebookField,java.lang.Object>- Overrides:
putAll in class java.util.HashMap<K extends FacebookField,java.lang.Object>
remove
public final java.lang.Object remove(java.lang.Object key)
- Specified by:
remove in interface java.util.Map<K extends FacebookField,java.lang.Object>- Overrides:
remove in class java.util.HashMap<K extends FacebookField,java.lang.Object>
fieldForName
protected abstract K fieldForName(java.lang.String fieldName)
getString
protected java.lang.String getString(K key)
getBoolean
protected java.lang.Boolean getBoolean(K key)
getStringArray
protected java.lang.String[] getStringArray(K key)
getNumber
protected java.lang.Number getNumber(K key)
getInteger
protected java.lang.Integer getInteger(K key)
getLong
protected java.lang.Long getLong(K key)
getFloat
protected java.lang.Float getFloat(K key)
getDate
protected java.util.Date getDate(K key)
Copyright © 2008. All Rights Reserved.