SubwayTooter-Android-App/app/src/main/java/jp/juggler/subwaytooter/api/entity/TootMention.java

58 lines
1.4 KiB
Java

package jp.juggler.subwaytooter.api.entity;
import org.json.JSONArray;
import org.json.JSONObject;
import java.util.ArrayList;
import jp.juggler.subwaytooter.util.LogCategory;
import jp.juggler.subwaytooter.util.Utils;
public class TootMention {
public static class List extends ArrayList< TootMention > {
}
// URL of user's profile (can be remote)
public String url;
// The username of the account
public String username;
// Equals username for local users, includes @domain for remote ones
public String acct;
// Account ID
public long id;
public static TootMention parse( LogCategory log, JSONObject src ){
if( src == null ) return null;
try{
TootMention dst = new TootMention();
dst.url = Utils.optStringX( src, "url" );
dst.username = Utils.optStringX( src, "username" );
dst.acct = Utils.optStringX( src, "acct" );
dst.id = src.optLong( "id" );
return dst;
}catch( Throwable ex ){
ex.printStackTrace();
log.e( ex, "TootMention.parse failed." );
return null;
}
}
public static List parseList( LogCategory log, JSONArray array ){
List result = new List();
if( array != null ){
for( int i = array.length() - 1 ; i >= 0 ; -- i ){
JSONObject src = array.optJSONObject( i );
if( src == null ) continue;
TootMention item = parse( log, src );
if( item != null ) result.add( 0, item );
}
}
return result;
}
}