public static String[] getInaccessibleAttributes(Entity entity) { SecurityState state = getSecurityState(entity); return state != null ? getInaccessibleAttributes(state) : null; }
private void addInaccessibleAttribute(Entity entity, String property) { SecurityState securityState = getOrCreateSecurityState(entity); String[] attributes = getInaccessibleAttributes(securityState); attributes = attributes == null ? new String[1] : Arrays.copyOf(attributes, attributes.length + 1); attributes[attributes.length - 1] = property; setInaccessibleAttributes(securityState, attributes); }
private void addInaccessibleAttribute(BaseGenericIdEntity entity, String property) { SecurityState securityState = BaseEntityInternalAccess.getOrCreateSecurityState(entity); String[] attributes = BaseEntityInternalAccess.getInaccessibleAttributes(securityState); attributes = attributes == null ? new String[1] : Arrays.copyOf(attributes, attributes.length + 1); attributes[attributes.length - 1] = property; BaseEntityInternalAccess.setInaccessibleAttributes(securityState, attributes); } }
@Override public String onUnfetchedAttribute(FetchGroupTracker entity, String attributeName) { if (entity instanceof BaseGenericIdEntity) { String[] inaccessible = BaseEntityInternalAccess.getInaccessibleAttributes((BaseGenericIdEntity) entity); if (inaccessible != null) { for (String inaccessibleAttribute : inaccessible) { if (attributeName.equals(inaccessibleAttribute)) return null; } } } if (cannotAccessUnfetched(entity)) return "Cannot get unfetched attribute [" + attributeName + "] from object " + entity; return wrappedFetchGroup.onUnfetchedAttribute(entity, attributeName); }
protected PropertyLoadedState isLoadedCommonCheck(Object entity, String property) { if (entity instanceof BaseGenericIdEntity) { BaseGenericIdEntity baseGenericIdEntity = (BaseGenericIdEntity) entity; String[] inaccessibleAttributes = BaseEntityInternalAccess.getInaccessibleAttributes(baseGenericIdEntity); if (inaccessibleAttributes != null) { for (String inaccessibleAttr : inaccessibleAttributes) { if (inaccessibleAttr.equals(property)) return PropertyLoadedState.NO; } } return isLoadedByFetchGroup(entity, property); } if (entity instanceof EmbeddableEntity) { return isLoadedByFetchGroup(entity, property); } return PropertyLoadedState.UNKNOWN; }
throw new IllegalStateException("Entity must be in managed state"); String[] inaccessibleAttributes = BaseEntityInternalAccess.getInaccessibleAttributes(entity); if (inaccessibleAttributes != null) { for (String inaccessibleAttr : inaccessibleAttributes) {