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