keycloak
公開メンバ関数 | 静的非公開変数類 | 全メンバ一覧
org.keycloak.models.sessions.infinispan.changes.SessionEntityWrapper< S extends SessionEntity >.ExternalizerImpl クラス
org.keycloak.models.sessions.infinispan.changes.SessionEntityWrapper< S extends SessionEntity >.ExternalizerImpl の継承関係図
Inheritance graph
org.keycloak.models.sessions.infinispan.changes.SessionEntityWrapper< S extends SessionEntity >.ExternalizerImpl 連携図
Collaboration graph

公開メンバ関数

void writeObject (ObjectOutput output, SessionEntityWrapper obj) throws IOException
 
SessionEntityWrapper readObject (ObjectInput input) throws IOException, ClassNotFoundException
 

静的非公開変数類

static final int VERSION_1 = 1
 

詳解

関数詳解

◆ readObject()

SessionEntityWrapper org.keycloak.models.sessions.infinispan.changes.SessionEntityWrapper< S extends SessionEntity >.ExternalizerImpl.readObject ( ObjectInput  input) throws IOException, ClassNotFoundException
inline
177  {
178  byte version = input.readByte();
179 
180  if (version != VERSION_1) {
181  throw new IOException("Invalid version: " + version);
182  }
183  final boolean forTransport = input.readBoolean();
184 
185  if (forTransport) {
186  final SessionEntity entity = (SessionEntity) input.readObject();
187  final SessionEntityWrapper res = new SessionEntityWrapper(entity);
188  if (log.isTraceEnabled()) {
189  log.tracef("Loaded entity from remote store: %s, version=%s, metadata=%s", entity, res.version, res.localMetadata);
190  }
191  return res;
192  } else {
193  UUID sessionVersion = new UUID(input.readLong(), input.readLong());
194  HashMap<String, String> map = MarshallUtil.unmarshallMap(input, HashMap::new);
195  final SessionEntity entity = (SessionEntity) input.readObject();
196  if (log.isTraceEnabled()) {
197  log.tracef("Found entity locally: entity=%s, version=%s, metadata=%s", entity, sessionVersion, map);
198  }
199  return new SessionEntityWrapper(sessionVersion, map, entity);
200  }
201  }
SessionEntityWrapper(UUID version, Map< String, String > localMetadata, S entity)
Definition: SessionEntityWrapper.java:47
UUID version
Definition: SessionEntityWrapper.java:43
SessionEntityWrapper< S > forTransport()
Definition: SessionEntityWrapper.java:79
static final int VERSION_1
Definition: SessionEntityWrapper.java:157
static final Logger log
Definition: SessionEntityWrapper.java:41
final S entity
Definition: SessionEntityWrapper.java:44

◆ writeObject()

void org.keycloak.models.sessions.infinispan.changes.SessionEntityWrapper< S extends SessionEntity >.ExternalizerImpl.writeObject ( ObjectOutput  output,
SessionEntityWrapper  obj 
) throws IOException
inline
160  {
161  output.writeByte(VERSION_1);
162 
163  final boolean forTransport = obj.isForTransport();
164  output.writeBoolean(forTransport);
165 
166  if (! forTransport) {
167  output.writeLong(obj.getVersion().getMostSignificantBits());
168  output.writeLong(obj.getVersion().getLeastSignificantBits());
169  MarshallUtil.marshallMap(obj.localMetadata, output);
170  }
171 
172  output.writeObject(obj.entity);
173  }
SessionEntityWrapper< S > forTransport()
Definition: SessionEntityWrapper.java:79
boolean isForTransport()
Definition: SessionEntityWrapper.java:83
static final int VERSION_1
Definition: SessionEntityWrapper.java:157

メンバ詳解

◆ VERSION_1

final int org.keycloak.models.sessions.infinispan.changes.SessionEntityWrapper< S extends SessionEntity >.ExternalizerImpl.VERSION_1 = 1
staticprivate

このクラス詳解は次のファイルから抽出されました: