public boolean isInstance(Object obj) { return getJavaClass().isInstance(obj); }
public boolean isRoot() { return getParentEntity() == null; }
private void disableDefaultId() { PersistentProperty otherId = getPropertyByName(GormProperties.IDENTITY); if(otherId != null) { persistentProperties.remove(otherId); persistentPropertyNames.remove(GormProperties.IDENTITY); } }
public void initialize() { ClassMapping<T> mapping = getMapping(); if(!initialized) { persistentProperties = mappingSyntaxStrategy.getPersistentProperties(this, context, mapping, includeIdentifiers()); identity = resolveIdentifier(); if(!isExternal()) { final PersistentProperty v = getVersion(); if(v != null) { final Class type = v.getType(); persistentPropertyNames.remove(idProp.getName()); if(!idProp.getName().equals(GormProperties.IDENTITY)) { disableDefaultId(); final MappingContext mappingContext = getMappingContext(); if(identifierName.length > 1) { compositeIdentity = mappingContext.getMappingSyntaxStrategy().getCompositeIdentity(javaClass, mappingContext); disableDefaultId(); this.entityReflector = getMappingContext().getEntityReflector(this);
public boolean isIdentityName(String propertyName) { return getIdentity().getName().equals(propertyName); }
private static PersistentProperty validateProperty(PersistentEntity entity, String name, Class criterionType) { PersistentProperty identity = entity.getIdentity(); if (identity != null && identity.getName().equals(name)) { return identity; } PersistentProperty[] compositeIdentity = ((AbstractPersistentEntity) entity).getCompositeIdentity(); if(compositeIdentity != null) { for (PersistentProperty property : compositeIdentity) { if(property.getName().equals(name)) { return property; } } } PersistentProperty prop = entity.getPropertyByName(name); if (prop == null) { throw new InvalidDataAccessResourceUsageException("Cannot use [" + criterionType.getSimpleName() + "] criterion on non-existent property: " + name); } return prop; }
public String getDiscriminator() { return getJavaClass().getSimpleName(); }
@Override public PersistentProperty getPropertyByName(String name) { if(name != null && name.contains(".")) { String[] props = name.split("\\."); // Get the embedded property type PersistentProperty embeddedProp = super.getPropertyByName(props[0]); if( embeddedProp instanceof Embedded) { PersistentEntity embeddedEntity = ((Embedded) embeddedProp).getAssociatedEntity(); return embeddedEntity.getPropertyByName(props[1]); } return super.getPropertyByName(name); } else { return super.getPropertyByName(name); } }
public PersistentEntity getRootEntity() { PersistentEntity root = this; PersistentEntity parent = getParentEntity(); while (parent != null) { if(!parent.isInitialized()) { parent.initialize(); } root = parent; parent = parent.getParentEntity(); } return root; }
public Object newInstance() { try { return getJavaClass().newInstance(); } catch (InstantiationException e) { throw new EntityCreationException("Unable to create entity of type [" + getJavaClass().getName() + "]: " + e.getMessage(), e); } catch (IllegalAccessException e) { throw new EntityCreationException("Unable to create entity of type [" + getJavaClass().getName() + "]: " + e.getMessage(), e); } }
public boolean hasProperty(String name, Class type) { final PropertyDescriptor pd = BeanUtils.getPropertyDescriptor(getJavaClass(), name); return pd != null && pd.getPropertyType().equals(type); }