001// Generated by delombok at Thu Aug 13 13:56:44 UTC 2026
002/*
003 * Copyright (c) 2010-2026 Mark Allen, Norbert Bartels.
004 *
005 * Permission is hereby granted, free of charge, to any person obtaining a copy
006 * of this software and associated documentation files (the "Software"), to deal
007 * in the Software without restriction, including without limitation the rights
008 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
009 * copies of the Software, and to permit persons to whom the Software is
010 * furnished to do so, subject to the following conditions:
011 *
012 * The above copyright notice and this permission notice shall be included in
013 * all copies or substantial portions of the Software.
014 *
015 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
016 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
017 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
018 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
019 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
020 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
021 * THE SOFTWARE.
022 */
023package com.restfb.types;
024
025import static com.restfb.util.StringUtils.isBlank;
026import java.util.ArrayList;
027import java.util.Collections;
028import java.util.List;
029import com.restfb.Facebook;
030
031/**
032 * Base class which encapsulates behavior and properties common to most
033 * <a href="http://developers.facebook.com/docs/reference/api/">Graph API types</a>.
034 *
035 * @author <a href="http://restfb.com">Mark Allen</a>
036 * @since 1.5
037 */
038public class FacebookType extends AbstractFacebookType {
039  /**
040   * This object's unique Facebook ID.
041   */
042  @Facebook
043  private String id;
044  /**
045   * This object's metadata, available by including the {@code metadata=1} URL parameter in an API request. -- GETTER --
046   */
047  @Facebook
048  private Metadata metadata;
049  @Facebook
050  private String type;
051  private static final long serialVersionUID = 1L;
052
053
054  /**
055   * Represents <a href="http://developers.facebook.com/docs/api#introspection">Facebook Object metadata</a>, available
056   * by including the {@code metadata=1} URL parameter in an API request.
057   *
058   * @author <a href="http://restfb.com">Mark Allen</a>
059   * @since 1.5
060   */
061  public static class Metadata extends AbstractFacebookType {
062    /**
063     * The available connections for this object. -- GETTER --
064     */
065    @Facebook
066    private Connections connections;
067    /**
068     * The metadata type of the object -- GETTER --
069     *
070     * @since 1.6.16
071     */
072    @Facebook
073    private String type;
074    @Facebook
075    private List<NamedFacebookType> fields = new ArrayList<>();
076    private static final long serialVersionUID = 1L;
077
078
079    /**
080     * Represents <a href="http://developers.facebook.com/docs/api#introspection">Facebook Object connections
081     * metadata</a>, available by including the {@code metadata=1} URL parameter in an API request.
082     *
083     * @author <a href="http://restfb.com">Mark Allen</a>
084     * @since 1.5
085     */
086    public static class Connections extends AbstractFacebookType {
087      /**
088       * This object's 'home' connection URL. -- GETTER --
089       */
090      @Facebook
091      private String home;
092      /**
093       * This object's 'feed' connection URL. -- GETTER --
094       */
095      @Facebook
096      private String feed;
097      /**
098       * This object's 'friends' connection URL. -- GETTER --
099       */
100      @Facebook
101      private String friends;
102      /**
103       * This object's 'family' connection URL. -- GETTER --
104       */
105      @Facebook
106      private String family;
107      /**
108       * This object's 'activities' connection URL. -- GETTER --
109       */
110      @Facebook
111      private String activities;
112      /**
113       * This object's 'interests' connection URL. -- GETTER --
114       */
115      @Facebook
116      private String interests;
117      /**
118       * This object's 'music' connection URL. -- GETTER --
119       */
120      @Facebook
121      private String music;
122      /**
123       * This object's 'books' connection URL. -- GETTER --
124       */
125      @Facebook
126      private String books;
127      /**
128       * This object's 'movies' connection URL. -- GETTER --
129       */
130      @Facebook
131      private String movies;
132      /**
133       * This object's 'television' connection URL. -- GETTER --
134       */
135      @Facebook
136      private String television;
137      /**
138       * This object's 'likes' connection URL. -- GETTER --
139       */
140      @Facebook
141      private String likes;
142      /**
143       * This object's 'posts' connection URL. -- GETTER --
144       */
145      @Facebook
146      private String posts;
147      /**
148       * This object's 'tagged' connection URL. -- GETTER --
149       */
150      @Facebook
151      private String tagged;
152      /**
153       * This object's 'statuses' connection URL. -- GETTER --
154       */
155      @Facebook
156      private String statuses;
157      /**
158       * This object's 'links' connection URL. -- GETTER --
159       */
160      @Facebook
161      private String links;
162      /**
163       * This object's 'notes' connection URL. -- GETTER --
164       */
165      @Facebook
166      private String notes;
167      /**
168       * This object's 'photos' connection URL. -- GETTER --
169       */
170      @Facebook
171      private String photos;
172      /**
173       * This object's 'albums' connection URL. -- GETTER --
174       */
175      @Facebook
176      private String albums;
177      /**
178       * This object's 'events' connection URL. -- GETTER --
179       */
180      @Facebook
181      private String events;
182      /**
183       * This object's 'groups' connection URL. -- GETTER --
184       */
185      @Facebook
186      private String groups;
187      /**
188       * This object's 'videos' connection URL. -- GETTER --
189       */
190      @Facebook
191      private String videos;
192      /**
193       * This object's 'picture' connection URL. -- GETTER --
194       */
195      @Facebook
196      private String picture;
197      /**
198       * This object's 'inbox' connection URL. -- GETTER --
199       */
200      @Facebook
201      private String inbox;
202      /**
203       * This object's 'outbox' connection URL. -- GETTER --
204       */
205      @Facebook
206      private String outbox;
207      /**
208       * This object's 'updates' connection URL. -- GETTER --
209       */
210      @Facebook
211      private String updates;
212      private static final long serialVersionUID = 1L;
213
214      /**
215       * Does this object have a 'home' connection?
216       *
217       * @return {@code true} if this object has a 'home' connection, {@code false} otherwise.
218       */
219      public Boolean hasHome() {
220        return !isBlank(home);
221      }
222
223      /**
224       * Does this object have a 'feed' connection?
225       *
226       * @return {@code true} if this object has a 'feed' connection, {@code false} otherwise.
227       */
228      public Boolean hasFeed() {
229        return !isBlank(feed);
230      }
231
232      /**
233       * Does this object have a 'friends' connection?
234       *
235       * @return {@code true} if this object has a 'friends' connection, {@code false} otherwise.
236       */
237      public Boolean hasFriends() {
238        return !isBlank(friends);
239      }
240
241      /**
242       * Does this object have a 'family' connection?
243       *
244       * @return {@code true} if this object has a 'family' connection, {@code false} otherwise.
245       */
246      public Boolean hasFamily() {
247        return !isBlank(family);
248      }
249
250      /**
251       * Does this object have an 'activities' connection?
252       *
253       * @return {@code true} if this object has an 'activities' connection, {@code false} otherwise.
254       */
255      public Boolean hasActivities() {
256        return !isBlank(activities);
257      }
258
259      /**
260       * Does this object have an 'interests' connection?
261       *
262       * @return {@code true} if this object has an 'interests' connection, {@code false} otherwise.
263       */
264      public Boolean hasInterests() {
265        return !isBlank(interests);
266      }
267
268      /**
269       * Does this object have a 'music' connection?
270       *
271       * @return {@code true} if this object has a 'music' connection, {@code false} otherwise.
272       */
273      public Boolean hasMusic() {
274        return !isBlank(music);
275      }
276
277      /**
278       * Does this object have a 'books' connection?
279       *
280       * @return {@code true} if this object has a 'books' connection, {@code false} otherwise.
281       */
282      public Boolean hasBooks() {
283        return !isBlank(books);
284      }
285
286      /**
287       * Does this object have a 'movies' connection?
288       *
289       * @return {@code true} if this object has a 'movies' connection, {@code false} otherwise.
290       */
291      public Boolean hasMovies() {
292        return !isBlank(movies);
293      }
294
295      /**
296       * Does this object have a 'television' connection?
297       *
298       * @return {@code true} if this object has a 'television' connection, {@code false} otherwise.
299       */
300      public Boolean hasTelevision() {
301        return !isBlank(television);
302      }
303
304      /**
305       * Does this object have a 'likes' connection?
306       *
307       * @return {@code true} if this object has a 'likes' connection, {@code false} otherwise.
308       */
309      public Boolean hasLikes() {
310        return !isBlank(likes);
311      }
312
313      /**
314       * Does this object have a 'posts' connection?
315       *
316       * @return {@code true} if this object has a 'posts' connection, {@code false} otherwise.
317       */
318      public Boolean hasPosts() {
319        return !isBlank(posts);
320      }
321
322      /**
323       * Does this object have a 'tagged' connection?
324       *
325       * @return {@code true} if this object has a 'tagged' connection, {@code false} otherwise.
326       */
327      public Boolean hasTagged() {
328        return !isBlank(tagged);
329      }
330
331      /**
332       * Does this object have a 'statuses' connection?
333       *
334       * @return {@code true} if this object has a 'statuses' connection, {@code false} otherwise.
335       */
336      public Boolean hasStatuses() {
337        return !isBlank(statuses);
338      }
339
340      /**
341       * Does this object have a 'links' connection?
342       *
343       * @return {@code true} if this object has a 'links' connection, {@code false} otherwise.
344       */
345      public Boolean hasLinks() {
346        return !isBlank(links);
347      }
348
349      /**
350       * Does this object have a 'notes' connection?
351       *
352       * @return {@code true} if this object has a 'notes' connection, {@code false} otherwise.
353       */
354      public Boolean hasNotes() {
355        return !isBlank(notes);
356      }
357
358      /**
359       * Does this object have a 'photos' connection?
360       *
361       * @return {@code true} if this object has a 'photos' connection, {@code false} otherwise.
362       */
363      public Boolean hasPhotos() {
364        return !isBlank(photos);
365      }
366
367      /**
368       * Does this object have an 'albums' connection?
369       *
370       * @return {@code true} if this object has an 'albums' connection, {@code false} otherwise.
371       */
372      public Boolean hasAlbums() {
373        return !isBlank(albums);
374      }
375
376      /**
377       * Does this object have an 'events' connection?
378       *
379       * @return {@code true} if this object has an 'events' connection, {@code false} otherwise.
380       */
381      public Boolean hasEvents() {
382        return !isBlank(events);
383      }
384
385      /**
386       * Does this object have a 'groups' connection?
387       *
388       * @return {@code true} if this object has a 'groups' connection, {@code false} otherwise.
389       */
390      public Boolean hasGroups() {
391        return !isBlank(groups);
392      }
393
394      /**
395       * Does this object have a 'videos' connection?
396       *
397       * @return {@code true} if this object has a 'videos' connection, {@code false} otherwise.
398       */
399      public Boolean hasVideos() {
400        return !isBlank(videos);
401      }
402
403      /**
404       * Does this object have a 'picture' connection?
405       *
406       * @return {@code true} if this object has a 'picture' connection, {@code false} otherwise.
407       */
408      public Boolean hasPicture() {
409        return !isBlank(picture);
410      }
411
412      /**
413       * Does this object have an 'inbox' connection?
414       *
415       * @return {@code true} if this object has an 'inbox' connection, {@code false} otherwise.
416       */
417      public Boolean hasInbox() {
418        return !isBlank(inbox);
419      }
420
421      /**
422       * Does this object have an 'outbox' connection?
423       *
424       * @return {@code true} if this object has an 'outbox' connection, {@code false} otherwise.
425       */
426      public Boolean hasOutbox() {
427        return !isBlank(outbox);
428      }
429
430      /**
431       * Does this object have an 'updates' connection?
432       *
433       * @return {@code true} if this object has an 'updates' connection, {@code false} otherwise.
434       */
435      public Boolean hasUpdates() {
436        return !isBlank(updates);
437      }
438
439      /**
440       * This object's 'home' connection URL. -- GETTER --
441       *
442       * @return This object's 'home' connection URL, or {@code null} if it doesn't have one.
443       */
444      @java.lang.SuppressWarnings("all")
445      @lombok.Generated
446      public String getHome() {
447        return this.home;
448      }
449
450      /**
451       * This object's 'home' connection URL. -- GETTER --
452       */
453      @java.lang.SuppressWarnings("all")
454      @lombok.Generated
455      public void setHome(final String home) {
456        this.home = home;
457      }
458
459      /**
460       * This object's 'feed' connection URL. -- GETTER --
461       *
462       * @return This object's 'feed' connection URL, or {@code null} if it doesn't have one.
463       */
464      @java.lang.SuppressWarnings("all")
465      @lombok.Generated
466      public String getFeed() {
467        return this.feed;
468      }
469
470      /**
471       * This object's 'feed' connection URL. -- GETTER --
472       */
473      @java.lang.SuppressWarnings("all")
474      @lombok.Generated
475      public void setFeed(final String feed) {
476        this.feed = feed;
477      }
478
479      /**
480       * This object's 'friends' connection URL. -- GETTER --
481       *
482       * @return This object's 'friends' connection URL, or {@code null} if it doesn't have one.
483       */
484      @java.lang.SuppressWarnings("all")
485      @lombok.Generated
486      public String getFriends() {
487        return this.friends;
488      }
489
490      /**
491       * This object's 'friends' connection URL. -- GETTER --
492       */
493      @java.lang.SuppressWarnings("all")
494      @lombok.Generated
495      public void setFriends(final String friends) {
496        this.friends = friends;
497      }
498
499      /**
500       * This object's 'family' connection URL. -- GETTER --
501       *
502       * @return This object's 'family' connection URL, or {@code null} if it doesn't have one.
503       */
504      @java.lang.SuppressWarnings("all")
505      @lombok.Generated
506      public String getFamily() {
507        return this.family;
508      }
509
510      /**
511       * This object's 'family' connection URL. -- GETTER --
512       */
513      @java.lang.SuppressWarnings("all")
514      @lombok.Generated
515      public void setFamily(final String family) {
516        this.family = family;
517      }
518
519      /**
520       * This object's 'activities' connection URL. -- GETTER --
521       *
522       * @return This object's 'activities' connection URL, or {@code null} if it doesn't have one.
523       */
524      @java.lang.SuppressWarnings("all")
525      @lombok.Generated
526      public String getActivities() {
527        return this.activities;
528      }
529
530      /**
531       * This object's 'activities' connection URL. -- GETTER --
532       */
533      @java.lang.SuppressWarnings("all")
534      @lombok.Generated
535      public void setActivities(final String activities) {
536        this.activities = activities;
537      }
538
539      /**
540       * This object's 'interests' connection URL. -- GETTER --
541       *
542       * @return This object's 'interests' connection URL, or {@code null} if it doesn't have one.
543       */
544      @java.lang.SuppressWarnings("all")
545      @lombok.Generated
546      public String getInterests() {
547        return this.interests;
548      }
549
550      /**
551       * This object's 'interests' connection URL. -- GETTER --
552       */
553      @java.lang.SuppressWarnings("all")
554      @lombok.Generated
555      public void setInterests(final String interests) {
556        this.interests = interests;
557      }
558
559      /**
560       * This object's 'music' connection URL. -- GETTER --
561       *
562       * @return This object's 'music' connection URL, or {@code null} if it doesn't have one.
563       */
564      @java.lang.SuppressWarnings("all")
565      @lombok.Generated
566      public String getMusic() {
567        return this.music;
568      }
569
570      /**
571       * This object's 'music' connection URL. -- GETTER --
572       */
573      @java.lang.SuppressWarnings("all")
574      @lombok.Generated
575      public void setMusic(final String music) {
576        this.music = music;
577      }
578
579      /**
580       * This object's 'books' connection URL. -- GETTER --
581       *
582       * @return This object's 'books' connection URL, or {@code null} if it doesn't have one.
583       */
584      @java.lang.SuppressWarnings("all")
585      @lombok.Generated
586      public String getBooks() {
587        return this.books;
588      }
589
590      /**
591       * This object's 'books' connection URL. -- GETTER --
592       */
593      @java.lang.SuppressWarnings("all")
594      @lombok.Generated
595      public void setBooks(final String books) {
596        this.books = books;
597      }
598
599      /**
600       * This object's 'movies' connection URL. -- GETTER --
601       *
602       * @return This object's 'movies' connection URL, or {@code null} if it doesn't have one.
603       */
604      @java.lang.SuppressWarnings("all")
605      @lombok.Generated
606      public String getMovies() {
607        return this.movies;
608      }
609
610      /**
611       * This object's 'movies' connection URL. -- GETTER --
612       */
613      @java.lang.SuppressWarnings("all")
614      @lombok.Generated
615      public void setMovies(final String movies) {
616        this.movies = movies;
617      }
618
619      /**
620       * This object's 'television' connection URL. -- GETTER --
621       *
622       * @return This object's 'television' connection URL, or {@code null} if it doesn't have one.
623       */
624      @java.lang.SuppressWarnings("all")
625      @lombok.Generated
626      public String getTelevision() {
627        return this.television;
628      }
629
630      /**
631       * This object's 'television' connection URL. -- GETTER --
632       */
633      @java.lang.SuppressWarnings("all")
634      @lombok.Generated
635      public void setTelevision(final String television) {
636        this.television = television;
637      }
638
639      /**
640       * This object's 'likes' connection URL. -- GETTER --
641       *
642       * @return This object's 'likes' connection URL, or {@code null} if it doesn't have one.
643       */
644      @java.lang.SuppressWarnings("all")
645      @lombok.Generated
646      public String getLikes() {
647        return this.likes;
648      }
649
650      /**
651       * This object's 'likes' connection URL. -- GETTER --
652       */
653      @java.lang.SuppressWarnings("all")
654      @lombok.Generated
655      public void setLikes(final String likes) {
656        this.likes = likes;
657      }
658
659      /**
660       * This object's 'posts' connection URL. -- GETTER --
661       *
662       * @return This object's 'posts' connection URL, or {@code null} if it doesn't have one.
663       */
664      @java.lang.SuppressWarnings("all")
665      @lombok.Generated
666      public String getPosts() {
667        return this.posts;
668      }
669
670      /**
671       * This object's 'posts' connection URL. -- GETTER --
672       */
673      @java.lang.SuppressWarnings("all")
674      @lombok.Generated
675      public void setPosts(final String posts) {
676        this.posts = posts;
677      }
678
679      /**
680       * This object's 'tagged' connection URL. -- GETTER --
681       *
682       * @return This object's 'tagged' connection URL, or {@code null} if it doesn't have one.
683       */
684      @java.lang.SuppressWarnings("all")
685      @lombok.Generated
686      public String getTagged() {
687        return this.tagged;
688      }
689
690      /**
691       * This object's 'tagged' connection URL. -- GETTER --
692       */
693      @java.lang.SuppressWarnings("all")
694      @lombok.Generated
695      public void setTagged(final String tagged) {
696        this.tagged = tagged;
697      }
698
699      /**
700       * This object's 'statuses' connection URL. -- GETTER --
701       *
702       * @return This object's 'statuses' connection URL, or {@code null} if it doesn't have one.
703       */
704      @java.lang.SuppressWarnings("all")
705      @lombok.Generated
706      public String getStatuses() {
707        return this.statuses;
708      }
709
710      /**
711       * This object's 'statuses' connection URL. -- GETTER --
712       */
713      @java.lang.SuppressWarnings("all")
714      @lombok.Generated
715      public void setStatuses(final String statuses) {
716        this.statuses = statuses;
717      }
718
719      /**
720       * This object's 'links' connection URL. -- GETTER --
721       *
722       * @return This object's 'links' connection URL, or {@code null} if it doesn't have one.
723       */
724      @java.lang.SuppressWarnings("all")
725      @lombok.Generated
726      public String getLinks() {
727        return this.links;
728      }
729
730      /**
731       * This object's 'links' connection URL. -- GETTER --
732       */
733      @java.lang.SuppressWarnings("all")
734      @lombok.Generated
735      public void setLinks(final String links) {
736        this.links = links;
737      }
738
739      /**
740       * This object's 'notes' connection URL. -- GETTER --
741       *
742       * @return This object's 'notes' connection URL, or {@code null} if it doesn't have one.
743       */
744      @java.lang.SuppressWarnings("all")
745      @lombok.Generated
746      public String getNotes() {
747        return this.notes;
748      }
749
750      /**
751       * This object's 'notes' connection URL. -- GETTER --
752       */
753      @java.lang.SuppressWarnings("all")
754      @lombok.Generated
755      public void setNotes(final String notes) {
756        this.notes = notes;
757      }
758
759      /**
760       * This object's 'photos' connection URL. -- GETTER --
761       *
762       * @return This object's 'photos' connection URL, or {@code null} if it doesn't have one.
763       */
764      @java.lang.SuppressWarnings("all")
765      @lombok.Generated
766      public String getPhotos() {
767        return this.photos;
768      }
769
770      /**
771       * This object's 'photos' connection URL. -- GETTER --
772       */
773      @java.lang.SuppressWarnings("all")
774      @lombok.Generated
775      public void setPhotos(final String photos) {
776        this.photos = photos;
777      }
778
779      /**
780       * This object's 'albums' connection URL. -- GETTER --
781       *
782       * @return This object's 'albums' connection URL, or {@code null} if it doesn't have one.
783       */
784      @java.lang.SuppressWarnings("all")
785      @lombok.Generated
786      public String getAlbums() {
787        return this.albums;
788      }
789
790      /**
791       * This object's 'albums' connection URL. -- GETTER --
792       */
793      @java.lang.SuppressWarnings("all")
794      @lombok.Generated
795      public void setAlbums(final String albums) {
796        this.albums = albums;
797      }
798
799      /**
800       * This object's 'events' connection URL. -- GETTER --
801       *
802       * @return This object's 'events' connection URL, or {@code null} if it doesn't have one.
803       */
804      @java.lang.SuppressWarnings("all")
805      @lombok.Generated
806      public String getEvents() {
807        return this.events;
808      }
809
810      /**
811       * This object's 'events' connection URL. -- GETTER --
812       */
813      @java.lang.SuppressWarnings("all")
814      @lombok.Generated
815      public void setEvents(final String events) {
816        this.events = events;
817      }
818
819      /**
820       * This object's 'groups' connection URL. -- GETTER --
821       *
822       * @return This object's 'groups' connection URL, or {@code null} if it doesn't have one.
823       */
824      @java.lang.SuppressWarnings("all")
825      @lombok.Generated
826      public String getGroups() {
827        return this.groups;
828      }
829
830      /**
831       * This object's 'groups' connection URL. -- GETTER --
832       */
833      @java.lang.SuppressWarnings("all")
834      @lombok.Generated
835      public void setGroups(final String groups) {
836        this.groups = groups;
837      }
838
839      /**
840       * This object's 'videos' connection URL. -- GETTER --
841       *
842       * @return This object's 'videos' connection URL, or {@code null} if it doesn't have one.
843       */
844      @java.lang.SuppressWarnings("all")
845      @lombok.Generated
846      public String getVideos() {
847        return this.videos;
848      }
849
850      /**
851       * This object's 'videos' connection URL. -- GETTER --
852       */
853      @java.lang.SuppressWarnings("all")
854      @lombok.Generated
855      public void setVideos(final String videos) {
856        this.videos = videos;
857      }
858
859      /**
860       * This object's 'picture' connection URL. -- GETTER --
861       *
862       * @return This object's 'picture' connection URL, or {@code null} if it doesn't have one.
863       */
864      @java.lang.SuppressWarnings("all")
865      @lombok.Generated
866      public String getPicture() {
867        return this.picture;
868      }
869
870      /**
871       * This object's 'picture' connection URL. -- GETTER --
872       */
873      @java.lang.SuppressWarnings("all")
874      @lombok.Generated
875      public void setPicture(final String picture) {
876        this.picture = picture;
877      }
878
879      /**
880       * This object's 'inbox' connection URL. -- GETTER --
881       *
882       * @return This object's 'inbox' connection URL, or {@code null} if it doesn't have one.
883       */
884      @java.lang.SuppressWarnings("all")
885      @lombok.Generated
886      public String getInbox() {
887        return this.inbox;
888      }
889
890      /**
891       * This object's 'inbox' connection URL. -- GETTER --
892       */
893      @java.lang.SuppressWarnings("all")
894      @lombok.Generated
895      public void setInbox(final String inbox) {
896        this.inbox = inbox;
897      }
898
899      /**
900       * This object's 'outbox' connection URL. -- GETTER --
901       *
902       * @return This object's 'outbox' connection URL, or {@code null} if it doesn't have one.
903       */
904      @java.lang.SuppressWarnings("all")
905      @lombok.Generated
906      public String getOutbox() {
907        return this.outbox;
908      }
909
910      /**
911       * This object's 'outbox' connection URL. -- GETTER --
912       */
913      @java.lang.SuppressWarnings("all")
914      @lombok.Generated
915      public void setOutbox(final String outbox) {
916        this.outbox = outbox;
917      }
918
919      /**
920       * This object's 'updates' connection URL. -- GETTER --
921       *
922       * @return This object's 'updates' connection URL, or {@code null} if it doesn't have one.
923       */
924      @java.lang.SuppressWarnings("all")
925      @lombok.Generated
926      public String getUpdates() {
927        return this.updates;
928      }
929
930      /**
931       * This object's 'updates' connection URL. -- GETTER --
932       */
933      @java.lang.SuppressWarnings("all")
934      @lombok.Generated
935      public void setUpdates(final String updates) {
936        this.updates = updates;
937      }
938    }
939
940    /**
941     * Existing fields in the current type
942     *
943     * @return list of field of the current type
944     * @since 1.6.16
945     */
946    public List<NamedFacebookType> getFields() {
947      return Collections.unmodifiableList(fields);
948    }
949
950    public boolean addField(NamedFacebookType field) {
951      return fields.add(field);
952    }
953
954    public boolean removeField(NamedFacebookType field) {
955      return fields.remove(field);
956    }
957
958    /**
959     * The available connections for this object. -- GETTER --
960     *
961     * @return The available connections for this object.
962     */
963    @java.lang.SuppressWarnings("all")
964    @lombok.Generated
965    public Connections getConnections() {
966      return this.connections;
967    }
968
969    /**
970     * The available connections for this object. -- GETTER --
971     */
972    @java.lang.SuppressWarnings("all")
973    @lombok.Generated
974    public void setConnections(final Connections connections) {
975      this.connections = connections;
976    }
977
978    /**
979     * The metadata type of the object -- GETTER --
980     *
981     * @return the metadata type
982     * @since 1.6.16
983     */
984    @java.lang.SuppressWarnings("all")
985    @lombok.Generated
986    public String getType() {
987      return this.type;
988    }
989
990    /**
991     * The metadata type of the object -- GETTER --
992     *
993     * @since 1.6.16
994     */
995    @java.lang.SuppressWarnings("all")
996    @lombok.Generated
997    public void setType(final String type) {
998      this.type = type;
999    }
1000  }
1001
1002  /**
1003   * This object's unique Facebook ID.
1004   *
1005   * @return This object's unique Facebook ID.
1006   */
1007  @java.lang.SuppressWarnings("all")
1008  @lombok.Generated
1009  public String getId() {
1010    return this.id;
1011  }
1012
1013  /**
1014   * This object's unique Facebook ID.
1015   */
1016  @java.lang.SuppressWarnings("all")
1017  @lombok.Generated
1018  public void setId(final String id) {
1019    this.id = id;
1020  }
1021
1022  /**
1023   * This object's metadata, available by including the {@code metadata=1} URL parameter in an API request. -- GETTER --
1024   *
1025   * @return This object's metadata, available by including the {@code metadata=1} URL parameter in an API request.
1026   */
1027  @java.lang.SuppressWarnings("all")
1028  @lombok.Generated
1029  public Metadata getMetadata() {
1030    return this.metadata;
1031  }
1032
1033  /**
1034   * This object's metadata, available by including the {@code metadata=1} URL parameter in an API request. -- GETTER --
1035   */
1036  @java.lang.SuppressWarnings("all")
1037  @lombok.Generated
1038  public void setMetadata(final Metadata metadata) {
1039    this.metadata = metadata;
1040  }
1041
1042  @java.lang.SuppressWarnings("all")
1043  @lombok.Generated
1044  public String getType() {
1045    return this.type;
1046  }
1047
1048  @java.lang.SuppressWarnings("all")
1049  @lombok.Generated
1050  public void setType(final String type) {
1051    this.type = type;
1052  }
1053}