public ClassMapping[] getIndependentTypeMappings() { ClassMapping rel = getTypeMapping(); if (rel == null) return ClassMapping.EMPTY_MAPPINGS; if (_poly != POLY_TRUE) { if (!rel.isMapped()) return ClassMapping.EMPTY_MAPPINGS; if (_typeArr == null) _typeArr = new ClassMapping[]{ rel }; return _typeArr; } return rel.getIndependentAssignableMappings(); }
/** * The columns this mapping uses to uniquely identify an object. * These will typically be the primary key columns or the columns this * class uses to link to its superclass table. */ public Column[] getPrimaryKeyColumns() { if (_cols.length == 0 && getIdentityType() == ID_APPLICATION && isMapped()) { FieldMapping[] pks = getPrimaryKeyFieldMappings(); Collection cols = new ArrayList(pks.length); Column[] fieldCols; for (int i = 0; i < pks.length; i++) { fieldCols = pks[i].getColumns(); for (int j = 0; j < fieldCols.length; j++) cols.add(fieldCols[j]); } _cols = (Column[]) cols.toArray(new Column[cols.size()]); } return _cols; }
public ClassMapping[] getIndependentTypeMappings() { ClassMapping rel = getTypeMapping(); if (rel == null) return ClassMapping.EMPTY_MAPPINGS; if (_poly != POLY_TRUE) { if (!rel.isMapped()) return ClassMapping.EMPTY_MAPPINGS; if (_typeArr == null) _typeArr = new ClassMapping[]{ rel }; return _typeArr; } return rel.getIndependentAssignableMappings(); }
public ClassMapping[] getIndependentTypeMappings() { ClassMapping rel = getTypeMapping(); if (rel == null) return ClassMapping.EMPTY_MAPPINGS; if (_poly != POLY_TRUE) { if (!rel.isMapped()) return ClassMapping.EMPTY_MAPPINGS; if (_typeArr == null) _typeArr = new ClassMapping[]{ rel }; return _typeArr; } return rel.getIndependentAssignableMappings(); }
public ClassMapping[] getIndependentTypeMappings() { ClassMapping rel = getTypeMapping(); if (rel == null) return ClassMapping.EMPTY_MAPPINGS; if (_poly != POLY_TRUE) { if (!rel.isMapped()) return ClassMapping.EMPTY_MAPPINGS; if (_typeArr == null) _typeArr = new ClassMapping[]{ rel }; return _typeArr; } return rel.getIndependentAssignableMappings(); }
public ClassMapping[] getIndependentTypeMappings() { ClassMapping rel = getTypeMapping(); if (rel == null) return ClassMapping.EMPTY_MAPPINGS; if (_poly != POLY_TRUE) { if (!rel.isMapped()) return ClassMapping.EMPTY_MAPPINGS; if (_typeArr == null) _typeArr = new ClassMapping[]{ rel }; return _typeArr; } return rel.getIndependentAssignableMappings(); }
public Object getStrategy(ValueMapping vm, Class<?> type, boolean adapt) { Object ret = _fieldMap.get(type.getName()); if (ret != null) return ret; if (_stringifyUnmapped && vm.getTypeMapping() != null && !vm.getTypeMapping().isMapped()) return UntypedPCValueHandler.getInstance(); if (type.isEnum() && !vm.isSerialized()) { EnumValueHandler enumHandler = new EnumValueHandler(); enumHandler.setStoreOrdinal(_ordinalEnum); return enumHandler; } return null; }
public Object getStrategy(ValueMapping vm, Class<?> type, boolean adapt) { Object ret = _fieldMap.get(type.getName()); if (ret != null) return ret; if (_stringifyUnmapped && vm.getTypeMapping() != null && !vm.getTypeMapping().isMapped()) return UntypedPCValueHandler.getInstance(); if (type.isEnum() && !vm.isSerialized()) { EnumValueHandler enumHandler = new EnumValueHandler(); enumHandler.setStoreOrdinal(_ordinalEnum); return enumHandler; } return null; }
public Object getStrategy(ValueMapping vm, Class<?> type, boolean adapt) { Object ret = _fieldMap.get(type.getName()); if (ret != null) return ret; if (_stringifyUnmapped && vm.getTypeMapping() != null && !vm.getTypeMapping().isMapped()) return UntypedPCValueHandler.getInstance(); if (type.isEnum() && !vm.isSerialized()) { EnumValueHandler enumHandler = new EnumValueHandler(); enumHandler.setStoreOrdinal(_ordinalEnum); return enumHandler; } return null; }
public Object getStrategy(ValueMapping vm, Class<?> type, boolean adapt) { Object ret = _fieldMap.get(type.getName()); if (ret != null) return ret; if (_stringifyUnmapped && vm.getTypeMapping() != null && !vm.getTypeMapping().isMapped()) return UntypedPCValueHandler.getInstance(); if (type.isEnum() && !vm.isSerialized()) { EnumValueHandler enumHandler = new EnumValueHandler(); enumHandler.setStoreOrdinal(_ordinalEnum); return enumHandler; } return null; }
public Object getStrategy(ValueMapping vm, Class type, boolean adapt) { Object ret = _fieldMap.get(type.getName()); if (ret != null) return ret; if (_stringifyUnmapped && vm.getTypeMapping() != null && !vm.getTypeMapping().isMapped()) return UntypedPCValueHandler.getInstance(); if (type.isEnum() && !vm.isSerialized()) { EnumValueHandler enumHandler = new EnumValueHandler(); enumHandler.setStoreOrdinal(_ordinalEnum); return enumHandler; } return null; }
public int getSelectSubclasses() { ClassMapping rel = getTypeMapping(); if (rel == null || !rel.isMapped()) return -1; switch (_poly) { case POLY_FALSE: return (_criteria) ? Select.SUBS_NONE : Select.SUBS_EXACT; case POLY_TRUE: ClassMapping[] assign = rel.getIndependentAssignableMappings(); if (assign.length != 1 || assign[0] != rel) return -1; // no break case POLY_JOINABLE: return (_criteria) ? Select.SUBS_JOINABLE : Select.SUBS_ANY_JOINABLE; default: throw new InternalException(); } }
/** * Map the given value's join to its persistent type. */ private void mapTypeJoin(ValueMapping vm, DBIdentifier name, boolean adapt) { if (vm.getTypeMapping().isMapped()) { ValueMappingInfo vinfo = vm.getValueInfo(); ForeignKey fk = vinfo.getTypeJoin(vm, name, false, adapt); vm.setForeignKey(fk); vm.setColumnIO(vinfo.getColumnIO()); } else RelationStrategies.mapRelationToUnmappedPC(vm, name, adapt); vm.mapConstraints(name, adapt); }
/** * Map the given value's join to its persistent type. */ private void mapTypeJoin(ValueMapping vm, DBIdentifier name, boolean adapt) { if (vm.getTypeMapping().isMapped()) { ValueMappingInfo vinfo = vm.getValueInfo(); ForeignKey fk = vinfo.getTypeJoin(vm, name, false, adapt); vm.setForeignKey(fk); vm.setColumnIO(vinfo.getColumnIO()); } else RelationStrategies.mapRelationToUnmappedPC(vm, name, adapt); vm.mapConstraints(name, adapt); }
/** * Map the given value's join to its persistent type. */ private void mapTypeJoin(ValueMapping vm, DBIdentifier name, boolean adapt) { if (vm.getTypeMapping().isMapped()) { ValueMappingInfo vinfo = vm.getValueInfo(); ForeignKey fk = vinfo.getTypeJoin(vm, name, false, adapt); vm.setForeignKey(fk); vm.setColumnIO(vinfo.getColumnIO()); } else RelationStrategies.mapRelationToUnmappedPC(vm, name, adapt); vm.mapConstraints(name, adapt); }
/** * Map the given value's join to its persistent type. */ private void mapTypeJoin(ValueMapping vm, DBIdentifier name, boolean adapt) { if (vm.getTypeMapping().isMapped()) { ValueMappingInfo vinfo = vm.getValueInfo(); ForeignKey fk = vinfo.getTypeJoin(vm, name, false, adapt); vm.setForeignKey(fk); vm.setColumnIO(vinfo.getColumnIO()); } else RelationStrategies.mapRelationToUnmappedPC(vm, name, adapt); vm.mapConstraints(name, adapt); }
/** * Map the given value's join to its persistent type. */ private void mapTypeJoin(ValueMapping vm, String name, boolean adapt) { if (vm.getTypeMapping().isMapped()) { ValueMappingInfo vinfo = vm.getValueInfo(); ForeignKey fk = vinfo.getTypeJoin(vm, name, false, adapt); vm.setForeignKey(fk); vm.setColumnIO(vinfo.getColumnIO()); } else RelationStrategies.mapRelationToUnmappedPC(vm, name, adapt); vm.mapConstraints(name, adapt); }
/** * Load the object in the current row of the given result. */ public Object load(ClassMapping mapping, JDBCFetchConfiguration fetch, BitSet exclude, Result result) throws SQLException { if (!mapping.isMapped()) throw new InvalidStateException(_loc.get("virtual-mapping", mapping)); // get the object id for the row; base class selects pk columns ClassMapping base = mapping; while (base.getJoinablePCSuperclassMapping() != null) base = base.getJoinablePCSuperclassMapping(); Object oid = base.getObjectId(this, result, null, true, null); if (oid == null) return null; ConnectionInfo info = new ConnectionInfo(); info.result = result; info.mapping = mapping; // if inverse relation is known, exclude loading during find exclude = excludeInverseRelation(mapping, info, exclude); return _ctx.find(oid, fetch, exclude, info, 0); }
@Override protected void serializeClass(ClassMetaData meta) { if (_sync && isMappingMode() && meta instanceof ClassMapping) { // sync if resolved and mapped ClassMapping cls = (ClassMapping) meta; if ((cls.getResolve() & MetaDataModes.MODE_MAPPING) != 0 && cls.isMapped()) { cls.syncMappingInfo(); cls.getDiscriminator().syncMappingInfo(); cls.getVersion().syncMappingInfo(); FieldMapping[] fields; if (cls.getEmbeddingMetaData() == null) fields = cls.getDefinedFieldMappings(); else fields = cls.getFieldMappings(); for (FieldMapping f : fields) f.syncMappingInfo(); } } super.serializeClass(meta); }
@Override protected void serializeClass(ClassMetaData meta) { if (_sync && isMappingMode() && meta instanceof ClassMapping) { // sync if resolved and mapped ClassMapping cls = (ClassMapping) meta; if ((cls.getResolve() & MetaDataModes.MODE_MAPPING) != 0 && cls.isMapped()) { cls.syncMappingInfo(); cls.getDiscriminator().syncMappingInfo(); cls.getVersion().syncMappingInfo(); FieldMapping[] fields; if (cls.getEmbeddingMetaData() == null) fields = cls.getDefinedFieldMappings(); else fields = cls.getFieldMappings(); for (FieldMapping f : fields) f.syncMappingInfo(); } } super.serializeClass(meta); }