/** * Create a new object, with an ephemeral id. */ public <T extends BaseProxy> T create(Class<T> clazz) { checkLocked(); SimpleProxyId<T> id = state.requestFactory.allocateId(clazz); AutoBean<T> created = createProxy(clazz, id, false); return takeOwnership(created); }
/** * Take ownership of a proxy instance and make it editable. */ public <T extends BaseProxy> T editProxy(T object) { AutoBean<T> bean = checkStreamsNotCrossed(object); checkLocked(); @SuppressWarnings("unchecked") AutoBean<T> previouslySeen = (AutoBean<T>) state.editedProxies.get(BaseProxyCategory.stableId(bean)); if (previouslySeen != null && !previouslySeen.isFrozen()) { /* * If we've seen the object before, it might be because it was passed in as a method argument. * This does not guarantee its mutability, so check that here before returning the cached * object. */ return previouslySeen.as(); } // Create editable copies AutoBean<T> parent = bean; bean = cloneBeanAndCollections(bean); bean.setTag(Constants.PARENT_OBJECT, parent); return bean.as(); }
finalReceiver = receiver; checkLocked(); state.locked = true;
/** * Create a new object, with an ephemeral id. */ public <T extends BaseProxy> T create(Class<T> clazz) { checkLocked(); SimpleProxyId<T> id = state.requestFactory.allocateId(clazz); AutoBean<T> created = createProxy(clazz, id, false); return takeOwnership(created); }
/** * Create a new object, with an ephemeral id. */ public <T extends BaseProxy> T create(Class<T> clazz) { checkLocked(); SimpleProxyId<T> id = state.requestFactory.allocateId(clazz); AutoBean<T> created = createProxy(clazz, id, false); return takeOwnership(created); }
/** * Create a new object, with an ephemeral id. */ public <T extends BaseProxy> T create(Class<T> clazz) { checkLocked(); SimpleProxyId<T> id = state.requestFactory.allocateId(clazz); AutoBean<T> created = createProxy(clazz, id, false); return takeOwnership(created); }
/** * Take ownership of a proxy instance and make it editable. */ public <T extends BaseProxy> T editProxy(T object) { AutoBean<T> bean = checkStreamsNotCrossed(object); checkLocked(); @SuppressWarnings("unchecked") AutoBean<T> previouslySeen = (AutoBean<T>) state.editedProxies.get(BaseProxyCategory.stableId(bean)); if (previouslySeen != null && !previouslySeen.isFrozen()) { /* * If we've seen the object before, it might be because it was passed in as a method argument. * This does not guarantee its mutability, so check that here before returning the cached * object. */ return previouslySeen.as(); } // Create editable copies AutoBean<T> parent = bean; bean = cloneBeanAndCollections(bean); bean.setTag(Constants.PARENT_OBJECT, parent); return bean.as(); }
/** * Take ownership of a proxy instance and make it editable. */ public <T extends BaseProxy> T editProxy(T object) { AutoBean<T> bean = checkStreamsNotCrossed(object); checkLocked(); @SuppressWarnings("unchecked") AutoBean<T> previouslySeen = (AutoBean<T>) state.editedProxies.get(BaseProxyCategory.stableId(bean)); if (previouslySeen != null && !previouslySeen.isFrozen()) { /* * If we've seen the object before, it might be because it was passed in as a method argument. * This does not guarantee its mutability, so check that here before returning the cached * object. */ return previouslySeen.as(); } // Create editable copies AutoBean<T> parent = bean; bean = cloneBeanAndCollections(bean); bean.setTag(Constants.PARENT_OBJECT, parent); return bean.as(); }
/** * Take ownership of a proxy instance and make it editable. */ public <T extends BaseProxy> T editProxy(T object) { AutoBean<T> bean = checkStreamsNotCrossed(object); checkLocked(); @SuppressWarnings("unchecked") AutoBean<T> previouslySeen = (AutoBean<T>) state.editedProxies.get(BaseProxyCategory.stableId(bean)); if (previouslySeen != null && !previouslySeen.isFrozen()) { /* * If we've seen the object before, it might be because it was passed in as a method argument. * This does not guarantee its mutability, so check that here before returning the cached * object. */ return previouslySeen.as(); } // Create editable copies AutoBean<T> parent = bean; bean = cloneBeanAndCollections(bean); bean.setTag(Constants.PARENT_OBJECT, parent); return bean.as(); }
finalReceiver = receiver; checkLocked(); state.locked = true;
finalReceiver = receiver; checkLocked(); state.locked = true;
finalReceiver = receiver; checkLocked(); state.locked = true;