protected Class getClass(Object val, JDBCStore store) throws ClassNotFoundException { if (_vals == null) { ClassMapping cls = disc.getClassMapping(); ClassMapping[] subs = cls.getJoinablePCSubclassMappings(); Map map = new HashMap((int) ((subs.length + 1) * 1.33 + 1)); mapDiscriminatorValue(cls, map); for (int i = 0; i < subs.length; i++) mapDiscriminatorValue(subs[i], map); _vals = map; } String str = (val == null) ? null : val.toString(); Class cls = (Class) _vals.get(str); if (cls != null) return cls; throw new ClassNotFoundException(_loc.get("unknown-discrim-value", new Object[]{ str, disc.getClassMapping().getDescribedType(). getName(), new TreeSet(_vals.keySet()) }).getMessage()); }
@Override public Object getStrategy(Discriminator disc, boolean adapt) { Object strat = super.getStrategy(disc, adapt); ClassMapping cls = disc.getClassMapping(); if (strat != null || cls.getJoinablePCSuperclassMapping() != null || disc.getMappingInfo().getValue() != null) return strat; // don't use a column-based discriminator approach unless user has set // a column explicitly or is using flat inheritance explicitly if (!disc.getMappingInfo().getColumns().isEmpty()) return new ValueMapDiscriminatorStrategy(); ClassMapping base = cls; while (base.getMappingInfo().getHierarchyStrategy() == null && base.getPCSuperclassMapping() != null) base = base.getPCSuperclassMapping(); strat = base.getMappingInfo().getHierarchyStrategy(); if (FlatClassStrategy.ALIAS.equals(strat)) return new ValueMapDiscriminatorStrategy(); if (VerticalClassStrategy.ALIAS.equals(strat) && dict.joinSyntax != JoinSyntaxes.SYNTAX_TRADITIONAL) return new SubclassJoinDiscriminatorStrategy(); return NoneDiscriminatorStrategy.getInstance(); }
@Override public Object getStrategy(Discriminator disc, boolean adapt) { Object strat = super.getStrategy(disc, adapt); ClassMapping cls = disc.getClassMapping(); if (strat != null || cls.getJoinablePCSuperclassMapping() != null || disc.getMappingInfo().getValue() != null) return strat; // don't use a column-based discriminator approach unless user has set // a column explicitly or is using flat inheritance explicitly if (!disc.getMappingInfo().getColumns().isEmpty()) return new ValueMapDiscriminatorStrategy(); ClassMapping base = cls; while (base.getMappingInfo().getHierarchyStrategy() == null && base.getPCSuperclassMapping() != null) base = base.getPCSuperclassMapping(); strat = base.getMappingInfo().getHierarchyStrategy(); if (FlatClassStrategy.ALIAS.equals(strat)) return new ValueMapDiscriminatorStrategy(); if (VerticalClassStrategy.ALIAS.equals(strat) && dict.joinSyntax != JoinSyntaxes.SYNTAX_TRADITIONAL) return new SubclassJoinDiscriminatorStrategy(); return NoneDiscriminatorStrategy.getInstance(); }
@Override public Object getStrategy(Discriminator disc, boolean adapt) { Object strat = super.getStrategy(disc, adapt); ClassMapping cls = disc.getClassMapping(); if (strat != null || cls.getJoinablePCSuperclassMapping() != null || disc.getMappingInfo().getValue() != null) return strat; // don't use a column-based discriminator approach unless user has set // a column explicitly or is using flat inheritance explicitly if (!disc.getMappingInfo().getColumns().isEmpty()) return new ValueMapDiscriminatorStrategy(); ClassMapping base = cls; while (base.getMappingInfo().getHierarchyStrategy() == null && base.getPCSuperclassMapping() != null) base = base.getPCSuperclassMapping(); strat = base.getMappingInfo().getHierarchyStrategy(); if (FlatClassStrategy.ALIAS.equals(strat)) return new ValueMapDiscriminatorStrategy(); if (VerticalClassStrategy.ALIAS.equals(strat) && dict.joinSyntax != JoinSyntaxes.SYNTAX_TRADITIONAL) return new SubclassJoinDiscriminatorStrategy(); return NoneDiscriminatorStrategy.getInstance(); }
protected Class getClass(Object val, JDBCStore store) throws ClassNotFoundException { if (_vals == null) { ClassMapping cls = disc.getClassMapping(); ClassMapping[] subs = cls.getJoinablePCSubclassMappings(); Map map = new HashMap((int) ((subs.length + 1) * 1.33 + 1)); mapDiscriminatorValue(cls, map); for (int i = 0; i < subs.length; i++) mapDiscriminatorValue(subs[i], map); _vals = map; } String str = (val == null) ? null : val.toString(); Class cls = (Class) _vals.get(str); if (cls != null) return cls; throw new ClassNotFoundException(_loc.get("unknown-discrim-value", new Object[]{ str, disc.getClassMapping().getDescribedType(). getName(), new TreeSet(_vals.keySet()) }).getMessage()); }
@Override public Object getStrategy(Discriminator disc, boolean adapt) { Object strat = super.getStrategy(disc, adapt); ClassMapping cls = disc.getClassMapping(); if (strat != null || cls.getJoinablePCSuperclassMapping() != null || disc.getMappingInfo().getValue() != null) return strat; // don't use a column-based discriminator approach unless user has set // a column explicitly or is using flat inheritance explicitly if (!disc.getMappingInfo().getColumns().isEmpty()) return new ValueMapDiscriminatorStrategy(); ClassMapping base = cls; while (base.getMappingInfo().getHierarchyStrategy() == null && base.getPCSuperclassMapping() != null) base = base.getPCSuperclassMapping(); strat = base.getMappingInfo().getHierarchyStrategy(); if (FlatClassStrategy.ALIAS.equals(strat)) return new ValueMapDiscriminatorStrategy(); if (VerticalClassStrategy.ALIAS.equals(strat) && dict.joinSyntax != JoinSyntaxes.SYNTAX_TRADITIONAL) return new SubclassJoinDiscriminatorStrategy(); return NoneDiscriminatorStrategy.getInstance(); }
protected Class getClass(Object val, JDBCStore store) throws ClassNotFoundException { if (_vals == null) { ClassMapping cls = disc.getClassMapping(); ClassMapping[] subs = cls.getJoinablePCSubclassMappings(); Map map = new HashMap((int) ((subs.length + 1) * 1.33 + 1)); mapDiscriminatorValue(cls, map); for (int i = 0; i < subs.length; i++) mapDiscriminatorValue(subs[i], map); _vals = map; } String str = (val == null) ? null : val.toString(); Class cls = (Class) _vals.get(str); if (cls != null) return cls; throw new ClassNotFoundException(_loc.get("unknown-discrim-value", new Object[]{ str, disc.getClassMapping().getDescribedType(). getName(), new TreeSet(_vals.keySet()) }).getMessage()); }
return new SuperclassDiscriminatorStrategy(); if (discrim.getMappingInfo().getValue() != null) return new ValueMapDiscriminatorStrategy(); if (cls.getMappedPCSuperclassMapping() != null) return NoneDiscriminatorStrategy.getInstance();
protected Class getClass(Object val, JDBCStore store) throws ClassNotFoundException { if (_vals == null) { ClassMapping cls = disc.getClassMapping(); ClassMapping[] subs = cls.getJoinablePCSubclassMappings(); Map map = new HashMap((int) ((subs.length + 1) * 1.33 + 1)); mapDiscriminatorValue(cls, map); for (int i = 0; i < subs.length; i++) mapDiscriminatorValue(subs[i], map); _vals = map; } String str = (val == null) ? null : val.toString(); Class cls = (Class) _vals.get(str); if (cls != null) return cls; throw new ClassNotFoundException(_loc.get("unknown-discrim-value", new Object[]{ str, disc.getClassMapping().getDescribedType(). getName(), new TreeSet(_vals.keySet()) }).getMessage()); }
return new SuperclassDiscriminatorStrategy(); if (discrim.getMappingInfo().getValue() != null) return new ValueMapDiscriminatorStrategy(); if (cls.getMappedPCSuperclassMapping() != null) return NoneDiscriminatorStrategy.getInstance();
protected Class getClass(Object val, JDBCStore store) throws ClassNotFoundException { if (_vals == null) { ClassMapping cls = disc.getClassMapping(); ClassMapping[] subs = cls.getJoinablePCSubclassMappings(); Map map = new HashMap((int) ((subs.length + 1) * 1.33 + 1)); mapDiscriminatorValue(cls, map); for (int i = 0; i < subs.length; i++) mapDiscriminatorValue(subs[i], map); _vals = map; } String str = (val == null) ? null : val.toString(); Class cls = (Class) _vals.get(str); if (cls != null) return cls; throw new ClassNotFoundException(_loc.get("unknown-discrim-value", new Object[]{ str, disc.getClassMapping().getDescribedType(). getName(), new TreeSet(_vals.keySet()) }).getMessage()); }
return new SuperclassDiscriminatorStrategy(); if (discrim.getMappingInfo().getValue() != null) return new ValueMapDiscriminatorStrategy(); if (cls.getMappedPCSuperclassMapping() != null) return NoneDiscriminatorStrategy.getInstance();
return new SuperclassDiscriminatorStrategy(); if (discrim.getMappingInfo().getValue() != null) return new ValueMapDiscriminatorStrategy(); if (cls.getMappedPCSuperclassMapping() != null) return NoneDiscriminatorStrategy.getInstance();
return new SuperclassDiscriminatorStrategy(); if (discrim.getMappingInfo().getValue() != null) return new ValueMapDiscriminatorStrategy(); if (cls.getMappedPCSuperclassMapping() != null) return NoneDiscriminatorStrategy.getInstance();