public static JPAModelProperty of(String role) { int lastDotIndex = role.lastIndexOf('.'); String className = role.substring(0, lastDotIndex); String propertyName = role.substring(lastDotIndex +1); Class<?> javaType; try { javaType = Class.forName(className); } catch (ClassNotFoundException ex) { throw new AssertionError("Internal bug", ex); } return (JPAModelProperty)ModelClass.of(javaType).getProperties().get(propertyName); }
<T> FrozenComparator<T> getComparator(ComparatorPart ... parts);
<T> FrozenEqualityComparator<T> getEqualityComparator(ComparatorPart ... parts);
public EntityOrderedMap(ObjectModel objectModel, int propertyId) { super(objectModel, propertyId); this.inverse = ((JPAModelProperty)objectModel.getModelClass().getProperty(propertyId)).isInverse(); }
@Override public boolean isInitialized(String field) { ModelProperty modelProperty = this.defaultObjectModel.getModelClass().getProperties().get(field); return this.defaultObjectModel.isLoaded(modelProperty.getId()); }
private static ModelProperty getModelProperty(ModelClass modelClass, Attribute<?, ?> attribute) { String attributeName = attribute.getName(); ModelProperty modelProperty = modelClass.getProperties().get(attributeName); if (modelProperty == null) { throw new IllegalArgumentException( noAttribute(modelClass.getJavaType(), attribute.getName()) ); } return modelProperty; }
public static void disableAll(Object entity) { validateArgument("entity", entity); ModelClass modelClass = JPAModelClass.of(entity.getClass()); if (modelClass.getType() != ModelType.REFERENCE) { throw new IllegalArgumentException( mustBeReferenceModel( "entity", ModelType.REFERENCE ) ); } ObjectModel objectModel = ((ObjectModelProvider)entity).objectModel(); for (ModelProperty modelProperty : modelClass.getProperties().values()) { objectModel.disable(modelProperty.getId()); } }
modelClass = ModelClass.of(mappedClass); } catch (RuntimeException | Error ex) { throw new IllegalProgramException( for (ModelProperty modelProperty : modelClass.getDeclaredProperties().values()) { if (modelProperty.getConvarianceProperty() != null) { continue;
public static JPAModelClass of(Class<?> javaType) { ModelClass modelClass = ModelClass.of(javaType); if (!(modelClass instanceof JPAModelClass)) { throw new IllegalArgumentException( onlyUsesObjectModel4Java(javaType, Model.class, JPAModel.class) ); } return (JPAModelClass)modelClass; }
List<ModelProperty> propertyList = AbstractObjectModelImpl.this.modelClass.getPropertyList(); Set<Integer> scalarPropertyIdSet = new LinkedHashSet<>(); Set<Integer> associationPropertyIdSet = new LinkedHashSet<>();
default <T> FrozenEqualityComparator<T> getEqualityComparator(int ... scalarPropertyIds) { ComparatorPart[] parts = new ComparatorPart[scalarPropertyIds.length]; for (int i = parts.length - 1; i >= 0; i--) { parts[i] = new ComparatorPart(scalarPropertyIds[i]); } return this.getEqualityComparator(parts); }
default <T> FrozenComparator<T> getComparator(int ... scalarPropertyIds) { ComparatorPart[] parts = new ComparatorPart[scalarPropertyIds.length]; for (int i = parts.length - 1; i >= 0; i--) { parts[i] = new ComparatorPart(scalarPropertyIds[i]); } return this.getComparator(parts); }
@SafeVarargs public static <E> void disable(E entity, Attribute<? super E, ?> ... attributes) { validateArgument("entity", entity); ModelClass modelClass = JPAModelClass.of(entity.getClass()); if (modelClass.getType() !=ModelType.REFERENCE) { throw new IllegalArgumentException( mustBeReferenceModel( "entity", ModelType.REFERENCE ) ); } ObjectModel objectModel = ((ObjectModelProvider)entity).objectModel(); for (Attribute<? super E, ?> attribute : attributes) { if (attribute instanceof SpecialAttribute<?>) { throw new IllegalArgumentException( mustNotContainSpecialAttribute( "attributes", SPECIAL_ATTRIBUTE_METHODS ) ); } objectModel.disable(getModelProperty(modelClass, attribute).getId()); } }
public EntityKeyedReference(ObjectModel objectModel, int propertyId) { super(objectModel, propertyId); this.inverse = ((JPAModelProperty)objectModel.getModelClass().getProperty(propertyId)).isInverse(); }
private void parepareLoadScalars(Object entity, EntityPersister entityPersister, Set<String> propertyNames) { FieldInterceptor fieldInterceptor = FieldInterceptionHelper.extractFieldInterceptor(entity); if (fieldInterceptor instanceof HibernateScalarLoader) { HibernateScalarLoader hibernateObjectModelScalarLoader = (HibernateScalarLoader)fieldInterceptor; ObjectModel objectModel = hibernateObjectModelScalarLoader.getObjectModel(); ModelClass modelClass = objectModel.getModelClass(); int[] scalarPropertyIds = new int[propertyNames.size()]; int index = 0; for (String propertyName : propertyNames) { scalarPropertyIds[index++] = modelClass.getProperties().get(propertyName).getId(); } this.scalarBatchLoadingExecutor.prepareLoad(objectModel, scalarPropertyIds); } else { throw new IllegalProgramException( scalarFetchCanOnlyBeAppliedOnJAPObjectModel( entityPersister.getEntityName() ) ); } }
int propertyCount = this.modelClass.getPropertyList().size(); Map<ScalarPropertyIdFlags, List<ObjectModel>> map = new LinkedHashMap<>(); for (ObjectModel objectModel : objectModels) {
return modelClass.getEqualityComparator(propertyIds);
return modelClass.getComparator(propertyIds);
@SafeVarargs public static <E> void enable(E entity, Attribute<? super E, ?> ... attributes) { validateArgument("entity", entity); ModelClass modelClass = JPAModelClass.of(entity.getClass()); if (modelClass.getType() != ModelType.REFERENCE) { throw new IllegalArgumentException( mustBeReferenceModel( "entity", ModelType.REFERENCE ) ); } ObjectModel objectModel = ((ObjectModelProvider)entity).objectModel(); for (Attribute<? super E, ?> attribute : attributes) { if (attribute instanceof SpecialAttribute<?>) { throw new IllegalArgumentException( mustNotContainSpecialAttribute( "attributes", SPECIAL_ATTRIBUTE_METHODS ) ); } objectModel.enable(getModelProperty(modelClass, attribute).getId()); } }
@SuppressWarnings("rawtypes") @Override public Getter getGetter(Class theClass, String propertyName) throws PropertyNotFoundException { ModelClass modelClass= ModelClass.of(theClass); JPAModelProperty property = (JPAModelProperty)modelClass.getProperties().get(propertyName); switch (property.getPropertyType()) { case CONTRAVARIANCE: