001/******************************************************************************* 002 * Copyright 2017 The MIT Internet Trust Consortium 003 * 004 * Portions copyright 2011-2013 The MITRE Corporation 005 * 006 * Licensed under the Apache License, Version 2.0 (the "License"); 007 * you may not use this file except in compliance with the License. 008 * You may obtain a copy of the License at 009 * 010 * http://www.apache.org/licenses/LICENSE-2.0 011 * 012 * Unless required by applicable law or agreed to in writing, software 013 * distributed under the License is distributed on an "AS IS" BASIS, 014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 015 * See the License for the specific language governing permissions and 016 * limitations under the License. 017 *******************************************************************************/ 018package org.mitre.openid.connect.model; 019 020import java.io.Serializable; 021 022import com.google.gson.JsonObject; 023 024 025public interface UserInfo extends Serializable { 026 027 /** 028 * @return the userId 029 */ 030 public String getSub(); 031 032 /** 033 * @param sub the userId to set 034 */ 035 public void setSub(String sub); 036 037 /** 038 * @return the preferred username 039 */ 040 public String getPreferredUsername(); 041 042 /** 043 * @param preferredUsername the preferredUsername to set 044 */ 045 public void setPreferredUsername(String preferredUsername); 046 047 /** 048 * @return the name 049 */ 050 public String getName(); 051 052 /** 053 * @param name the name to set 054 */ 055 public void setName(String name); 056 057 /** 058 * @return the givenName 059 */ 060 public String getGivenName(); 061 062 /** 063 * @param givenName the givenName to set 064 */ 065 public void setGivenName(String givenName); 066 067 /** 068 * @return the familyName 069 */ 070 public String getFamilyName(); 071 072 /** 073 * @param familyName the familyName to set 074 */ 075 public void setFamilyName(String familyName); 076 077 /** 078 * @return the middleName 079 */ 080 public String getMiddleName(); 081 082 /** 083 * @param middleName the middleName to set 084 */ 085 public void setMiddleName(String middleName); 086 087 /** 088 * @return the nickname 089 */ 090 public String getNickname(); 091 092 /** 093 * @param nickname the nickname to set 094 */ 095 public void setNickname(String nickname); 096 097 /** 098 * @return the profile 099 */ 100 public String getProfile(); 101 102 /** 103 * @param profile the profile to set 104 */ 105 public void setProfile(String profile); 106 107 /** 108 * @return the picture 109 */ 110 public String getPicture(); 111 112 /** 113 * @param picture the picture to set 114 */ 115 public void setPicture(String picture); 116 117 /** 118 * @return the website 119 */ 120 public String getWebsite(); 121 122 /** 123 * @param website the website to set 124 */ 125 public void setWebsite(String website); 126 127 /** 128 * @return the email 129 */ 130 public String getEmail(); 131 132 /** 133 * @param email the email to set 134 */ 135 public void setEmail(String email); 136 137 /** 138 * @return the verified 139 */ 140 public Boolean getEmailVerified(); 141 142 /** 143 * @param verified the verified to set 144 */ 145 public void setEmailVerified(Boolean emailVerified); 146 147 /** 148 * @return the gender 149 */ 150 public String getGender(); 151 152 /** 153 * @param gender the gender to set 154 */ 155 public void setGender(String gender); 156 157 /** 158 * @return the zoneinfo 159 */ 160 public String getZoneinfo(); 161 162 /** 163 * @param zoneinfo the zoneinfo to set 164 */ 165 public void setZoneinfo(String zoneinfo); 166 167 /** 168 * @return the locale 169 */ 170 public String getLocale(); 171 172 /** 173 * @param locale the locale to set 174 */ 175 public void setLocale(String locale); 176 177 /** 178 * @return the phoneNumber 179 */ 180 public String getPhoneNumber(); 181 182 /** 183 * @param phoneNumber the phoneNumber to set 184 */ 185 public void setPhoneNumber(String phoneNumber); 186 187 /** 188 * 189 */ 190 public Boolean getPhoneNumberVerified(); 191 192 /** 193 * 194 * @param phoneNumberVerified 195 */ 196 public void setPhoneNumberVerified(Boolean phoneNumberVerified); 197 198 /** 199 * @return the address 200 */ 201 public Address getAddress(); 202 203 /** 204 * @param address the address to set 205 */ 206 public void setAddress(Address address); 207 208 /** 209 * @return the updatedTime 210 */ 211 public String getUpdatedTime(); 212 213 /** 214 * @param updatedTime the updatedTime to set 215 */ 216 public void setUpdatedTime(String updatedTime); 217 218 219 /** 220 * 221 * @return 222 */ 223 public String getBirthdate(); 224 225 /** 226 * 227 * @param birthdate 228 */ 229 public void setBirthdate(String birthdate); 230 231 /** 232 * Serialize this UserInfo object to JSON. 233 * 234 * @return 235 */ 236 public JsonObject toJson(); 237 238 /** 239 * The JSON source of this UserInfo (if it was fetched), or null if it's local. 240 * @return 241 */ 242 public JsonObject getSource(); 243 244}