public Map<Object, Object> extras() { ensureNotClosed(); return extras; }
public UserInfo user() { ensureNotClosed(); return user; }
@SuppressWarnings("unchecked") public <T> T exchange() { ensureNotClosed(); return (T) exchange; }
public void setUser(UserInfo user) { ensureNotClosed(); this.user = user; }
public void setExchange(Object exchange) { ensureNotClosed(); this.exchange = exchange; }
@SuppressWarnings("unchecked") public synchronized <P> P persister() { ensureNotClosed(); Object persister = this.persisters.get(); if (persister == null) { persister = Ctxs.createPersister(this); this.persisters.set(persister); persistersToClose.add(persister); } return (P) persister; }
public synchronized Ctx span() { ensureNotClosed(); referenceCounter++; Log.debug("Spanning context", "ctx", this); return this; }
private synchronized void clear() { ensureNotClosed(); Log.debug("Clearing context", "ctx", this); this.referenceCounter = 0; this.user = null; this.exchange = null; this.persisters = null; for (Object persister : persistersToClose) { Ctxs.closePersister(this, persister); } persistersToClose.clear(); extras.clear(); closed = true; }
synchronized void close() { ensureNotClosed(); Log.debug("Closing context", "ctx", this); referenceCounter--; if (referenceCounter == 0) { clear(); } else if (referenceCounter < 0) { throw new IllegalStateException("Reference counter < 0 for context: " + this); } }
public void setUser(UserInfo user) { ensureNotClosed(); this.user = user; }
@SuppressWarnings("unchecked") public <T> T exchange() { ensureNotClosed(); return (T) exchange; }
@SuppressWarnings("unchecked") public <T> T app() { ensureNotClosed(); return (T) app; }
public void setExchange(Object exchange) { ensureNotClosed(); this.exchange = exchange; }
public Map<Object, Object> extras() { ensureNotClosed(); return extras; }
public UserInfo user() { ensureNotClosed(); return user; }
public void setApp(Object app) { ensureNotClosed(); this.app = app; }
public synchronized Ctx span() { ensureNotClosed(); referenceCounter++; Log.debug("Spanning context", "ctx", this); return this; }
@SuppressWarnings("unchecked") public synchronized <P> P persister() { ensureNotClosed(); Object persister = this.persisters.get(); if (persister == null) { persister = Ctxs.createPersister(); this.persisters.set(persister); allPersisters.add(persister); } return (P) persister; }
private synchronized void clear() { ensureNotClosed(); Log.debug("Clearing context", "ctx", this); this.referenceCounter = 0; this.user = null; this.exchange = null; this.app = null; this.persisters = null; for (Object persister : allPersisters) { Ctxs.closePersister(persister); } allPersisters.clear(); extras.clear(); closed = true; }
synchronized void close() { ensureNotClosed(); Log.debug("Closing context", "ctx", this); referenceCounter--; if (referenceCounter == 0) { clear(); } else if (referenceCounter < 0) { throw new IllegalStateException("Reference counter < 0 for context: " + this); } }