/** * Translate from a OpenJPA identity object to a Persistence one. */ public static Object fromOpenJPAObjectId(Object oid) { if (oid instanceof OpenJPAId) return ((OpenJPAId) oid).getIdObject(); return oid; }
private void delete(OpenJPAId oid, CompassSession session) { Class cls = oid.getType(); Object id = oid.getIdObject(); session.delete(cls, id); }
/** * Set the exact type of the described instance once it is known. */ public void setManagedInstanceType(Class type) { setManagedInstanceType(type, false); }
case JavaTypes.BYTE_OBJ: return new ByteId(cls, ((ByteId) oid).getId(), koid.hasSubclasses()); case JavaTypes.CHAR: case JavaTypes.CHAR_OBJ: return new CharId(cls, ((CharId) oid).getId(), koid.hasSubclasses()); case JavaTypes.DOUBLE: case JavaTypes.DOUBLE_OBJ: return new DoubleId(cls, ((DoubleId) oid).getId(), koid.hasSubclasses()); case JavaTypes.FLOAT: case JavaTypes.FLOAT_OBJ: return new FloatId(cls, ((FloatId) oid).getId(), koid.hasSubclasses()); case JavaTypes.INT: case JavaTypes.INT_OBJ: return new IntId(cls, ((IntId) oid).getId(), koid.hasSubclasses()); case JavaTypes.LONG: case JavaTypes.LONG_OBJ: return new LongId(cls, ((LongId) oid).getId(), koid.hasSubclasses()); case JavaTypes.SHORT: case JavaTypes.SHORT_OBJ: return new ShortId(cls, ((ShortId) oid).getId(), koid.hasSubclasses()); case JavaTypes.STRING: return new StringId(cls, oid.toString(),
/** * * @param oid * @return */ protected Class determineClassFromObjectId(Object oid) { if (oid instanceof OpenJPAId) { return ((OpenJPAId) oid).getType(); } return null; } }
mapping = info.mapping; } else if (oid instanceof OpenJPAId && !((OpenJPAId) oid).hasSubclasses()) { Boolean custom = customLoad(sm, mapping, state, fetch); if (custom != null)
public boolean equals(Object o) { if (o == this) return true; if (o == null || getClass() != o.getClass()) return false; OpenJPAId id = (OpenJPAId) o; return idEquals(id) && (id.type.isAssignableFrom(type) || (subs && type.isAssignableFrom(id.type))); }
/** * Generate the hash code for this Id. Cache the type's generated hash code * so that it doesn't have to be generated each time. */ public int hashCode() { if (_typeHash == 0) { Integer typeHashInt = (Integer) _typeCache.get(type); if (typeHashInt == null) { Class base = type; Class superclass = base.getSuperclass(); while (superclass != null && superclass != Object.class) { base = base.getSuperclass(); superclass = base.getSuperclass(); } _typeHash = base.getName().hashCode(); _typeCache.put(type, Integer.valueOf(_typeHash)); } else { _typeHash = typeHashInt.intValue(); } } return _typeHash ^ idHash(); }
case JavaTypes.BYTE_OBJ: return new ByteId(cls, ((ByteId) oid).getId(), koid.hasSubclasses()); case JavaTypes.CHAR: case JavaTypes.CHAR_OBJ: return new CharId(cls, ((CharId) oid).getId(), koid.hasSubclasses()); case JavaTypes.DOUBLE: case JavaTypes.DOUBLE_OBJ: return new DoubleId(cls, ((DoubleId) oid).getId(), koid.hasSubclasses()); case JavaTypes.FLOAT: case JavaTypes.FLOAT_OBJ: return new FloatId(cls, ((FloatId) oid).getId(), koid.hasSubclasses()); case JavaTypes.INT: case JavaTypes.INT_OBJ: return new IntId(cls, ((IntId) oid).getId(), koid.hasSubclasses()); case JavaTypes.LONG: case JavaTypes.LONG_OBJ: return new LongId(cls, ((LongId) oid).getId(), koid.hasSubclasses()); case JavaTypes.SHORT: case JavaTypes.SHORT_OBJ: return new ShortId(cls, ((ShortId) oid).getId(), koid.hasSubclasses()); case JavaTypes.STRING: return new StringId(cls, oid.toString(),
public void newPut(Object oid) { if (!enabled) { return; } if (oid instanceof OpenJPAId) { newPut(((OpenJPAId) oid).getType()); } }
mapping = info.mapping; } else if (oid instanceof OpenJPAId && !((OpenJPAId) oid).hasSubclasses()) { Boolean custom = customLoad(sm, mapping, state, fetch); if (custom != null)
public boolean equals(Object o) { if (o == this) return true; if (o == null || getClass() != o.getClass()) return false; OpenJPAId id = (OpenJPAId) o; return idEquals(id) && (id.type.isAssignableFrom(type) || (subs && type.isAssignableFrom(id.type))); }
/** * Generate the hash code for this Id. Cache the type's generated hash code * so that it doesn't have to be generated each time. */ public int hashCode() { if (_typeHash == 0) { Integer typeHashInt = (Integer) _typeCache.get(type); if (typeHashInt == null) { Class base = type; Class superclass = base.getSuperclass(); while (superclass != null && superclass != Object.class) { base = base.getSuperclass(); superclass = base.getSuperclass(); } _typeHash = base.getName().hashCode(); _typeCache.put(type, Integer.valueOf(_typeHash)); } else { _typeHash = typeHashInt.intValue(); } } return _typeHash ^ idHash(); }
/** * Translate from a OpenJPA identity object to a Persistence one. */ public static Object fromOpenJPAObjectId(Object oid) { if (oid instanceof OpenJPAId) return ((OpenJPAId) oid).getIdObject(); return oid; }
@SuppressWarnings({"unchecked"}) private void reindexOid(OpenJPAId oid, OpenJPAEntityManager em, CompassSession session) { try { Object o = em.find(oid.getType(), oid.getIdObject()); reindex(o, session); } catch (EntityNotFoundException e) { delete(oid, session); } }
case JavaTypes.BYTE_OBJ: return new ByteId(cls, ((ByteId) oid).getId(), koid.hasSubclasses()); case JavaTypes.CHAR: case JavaTypes.CHAR_OBJ: return new CharId(cls, ((CharId) oid).getId(), koid.hasSubclasses()); case JavaTypes.DOUBLE: case JavaTypes.DOUBLE_OBJ: return new DoubleId(cls, ((DoubleId) oid).getId(), koid.hasSubclasses()); case JavaTypes.FLOAT: case JavaTypes.FLOAT_OBJ: return new FloatId(cls, ((FloatId) oid).getId(), koid.hasSubclasses()); case JavaTypes.INT: case JavaTypes.INT_OBJ: return new IntId(cls, ((IntId) oid).getId(), koid.hasSubclasses()); case JavaTypes.LONG: case JavaTypes.LONG_OBJ: return new LongId(cls, ((LongId) oid).getId(), koid.hasSubclasses()); case JavaTypes.SHORT: case JavaTypes.SHORT_OBJ: return new ShortId(cls, ((ShortId) oid).getId(), koid.hasSubclasses()); case JavaTypes.STRING: return new StringId(cls, oid.toString(),
public void newPut(Object oid) { if (!enabled) { return; } if (oid instanceof OpenJPAId) { newPut(((OpenJPAId) oid).getType()); } }
/** * Set the exact type of the described instance once it is known. */ public void setManagedInstanceType(Class type) { setManagedInstanceType(type, false); }
|| ((OpenJPAId) sm.getObjectId()).hasSubclasses()))) && mapping.getDiscriminator().select(sel, orig)) seld = 1;
public boolean equals(Object o) { if (o == this) return true; if (o == null || getClass() != o.getClass()) return false; OpenJPAId id = (OpenJPAId) o; return idEquals(id) && (id.type.isAssignableFrom(type) || (subs && type.isAssignableFrom(id.type))); }