类org.hibernate.property.access.spi.Setter源码实例Demo

下面列出了怎么用org.hibernate.property.access.spi.Setter的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: ueboot   文件: FieldToBeanResultTransformer.java
private void initialize(String aliases[]) {
    PropertyAccessStrategyChainedImpl propertyAccessStrategy = new PropertyAccessStrategyChainedImpl(new PropertyAccessStrategy[]{PropertyAccessStrategyBasicImpl.INSTANCE, PropertyAccessStrategyFieldImpl.INSTANCE});
    this.aliases = new String[aliases.length];
    this.setters = new Setter[aliases.length];

    for (int i = 0; i < aliases.length; i++) {
        String alias = aliases[i];
        if (alias != null) {
            this.aliases[i] = alias;
            alias = CamelUtils.underlineToCamel(alias);
            try {
                this.setters[i] = propertyAccessStrategy.buildPropertyAccess(this.resultClass, alias).getSetter();
            } catch (Exception e) {
                this.setters[i] = null;
            }
        }
    }

    isInitialized = true;
}
 
源代码2 项目: lams   文件: AliasToBeanResultTransformer.java
private void initialize(String[] aliases) {
	PropertyAccessStrategyChainedImpl propertyAccessStrategy = new PropertyAccessStrategyChainedImpl(
			PropertyAccessStrategyBasicImpl.INSTANCE,
			PropertyAccessStrategyFieldImpl.INSTANCE,
			PropertyAccessStrategyMapImpl.INSTANCE
	);
	this.aliases = new String[ aliases.length ];
	setters = new Setter[ aliases.length ];
	for ( int i = 0; i < aliases.length; i++ ) {
		String alias = aliases[ i ];
		if ( alias != null ) {
			this.aliases[ i ] = alias;
			setters[ i ] = propertyAccessStrategy.buildPropertyAccess( resultClass, alias ).getSetter();
		}
	}
	isInitialized = true;
}
 
源代码3 项目: lams   文件: DynamicMapEntityTuplizer.java
@Override
protected ProxyFactory buildProxyFactory(PersistentClass mappingInfo, Getter idGetter, Setter idSetter) {

	ProxyFactory pf = new MapProxyFactory();
	try {
		//TODO: design new lifecycle for ProxyFactory
		pf.postInstantiate(
				getEntityName(),
				null,
				null,
				null,
				null,
				null
		);
	}
	catch (HibernateException he) {
		LOG.unableToCreateProxyFactory( getEntityName(), he );
		pf = null;
	}
	return pf;
}
 
源代码4 项目: lams   文件: AbstractComponentTuplizer.java
protected AbstractComponentTuplizer(Component component) {
	setComponentClass( component );
	propertySpan = component.getPropertySpan();
	getters = new Getter[propertySpan];
	setters = new Setter[propertySpan];

	Iterator iter = component.getPropertyIterator();
	boolean foundCustomAccessor=false;
	int i = 0;
	while ( iter.hasNext() ) {
		Property prop = ( Property ) iter.next();
		getters[i] = buildGetter( component, prop );
		setters[i] = buildSetter( component, prop );
		if ( !prop.isBasicPropertyAccessor() ) {
			foundCustomAccessor = true;
		}
		i++;
	}
	hasCustomAccessors = foundCustomAccessor;
	instantiator = buildInstantiator( component );
}
 
源代码5 项目: lams   文件: PojoEntityTuplizer.java
protected ProxyFactory buildProxyFactoryInternal(
			PersistentClass persistentClass,
			Getter idGetter,
			Setter idSetter) {
		// TODO : YUCK!!!  fix after HHH-1907 is complete
		return Environment.getBytecodeProvider().getProxyFactoryFactory().buildProxyFactory( getFactory() );
//		return getFactory().getSettings().getBytecodeProvider().getProxyFactoryFactory().buildProxyFactory();
	}
 
源代码6 项目: mPaaS   文件: ExtendPropertyAccess.java
@Override
public Setter getSetter() {
	return setter;
}
 
源代码7 项目: mPaaS   文件: DynamicPropertyAccess.java
@Override
public Setter getSetter() {
	return setter;
}
 
源代码8 项目: lams   文件: Component.java
private Setter injector(Property property, Class attributeDeclarer) {
	return property.getPropertyAccessStrategy( attributeDeclarer )
			.buildPropertyAccess( attributeDeclarer, property.getName() )
			.getSetter();
}
 
源代码9 项目: lams   文件: Component.java
public ValueGenerationPlan(
		IdentifierGenerator subGenerator,
		Setter injector) {
	this.subGenerator = subGenerator;
	this.injector = injector;
}
 
源代码10 项目: lams   文件: Property.java
public Setter getSetter(Class clazz) throws PropertyNotFoundException, MappingException {
	return getPropertyAccessStrategy( clazz ).buildPropertyAccess( clazz, name ).getSetter();
}
 
源代码11 项目: lams   文件: PropertyAccessMixedImpl.java
protected Setter fieldSetter(Class<?> containerJavaType, String propertyName, Field field) {
	return new SetterFieldImpl( containerJavaType, propertyName, field );
}
 
源代码12 项目: lams   文件: PropertyAccessMixedImpl.java
protected Setter propertySetter(Class<?> containerJavaType, String propertyName, Method method) {
	return method == null ? null : new SetterMethodImpl( containerJavaType, propertyName, method );
}
 
源代码13 项目: lams   文件: PropertyAccessMixedImpl.java
@Override
public Setter getSetter() {
	return setter;
}
 
源代码14 项目: lams   文件: PropertyAccessMapImpl.java
@Override
public Setter getSetter() {
	return setter;
}
 
源代码15 项目: lams   文件: PropertyAccessFieldImpl.java
@Override
public Setter getSetter() {
	return setter;
}
 
@Override
public Setter getSetter() {
	return SetterImpl.INSTANCE;
}
 
源代码17 项目: lams   文件: PropertyAccessEnhancedImpl.java
@Override
protected Setter fieldSetter(Class<?> containerJavaType, String propertyName, Field field) {
	return new EnhancedSetterImpl( containerJavaType, propertyName, field );
}
 
源代码18 项目: lams   文件: PropertyAccessStrategyBackRefImpl.java
@Override
public Setter getSetter() {
	return SetterImpl.INSTANCE;
}
 
源代码19 项目: lams   文件: PropertyAccessStrategyNoopImpl.java
@Override
public Setter getSetter() {
	return SetterImpl.INSTANCE;
}
 
源代码20 项目: lams   文件: PropertyAccessEmbeddedImpl.java
@Override
public Setter getSetter() {
	return SetterImpl.INSTANCE;
}
 
源代码21 项目: lams   文件: PropertyAccessBasicImpl.java
@Override
public Setter getSetter() {
	return setter;
}
 
源代码22 项目: lams   文件: DynamicMapEntityTuplizer.java
@Override
protected Setter buildPropertySetter(Property mappedProperty, PersistentClass mappedEntity) {
	return buildPropertyAccess( mappedProperty ).getSetter();
}
 
源代码23 项目: lams   文件: PojoEntityTuplizer.java
@Override
protected ProxyFactory buildProxyFactory(PersistentClass persistentClass, Getter idGetter, Setter idSetter) {
	// determine the id getter and setter methods from the proxy interface (if any)
	// determine all interfaces needed by the resulting proxy
	
	/*
	 * We need to preserve the order of the interfaces they were put into the set, since javassist will choose the
	 * first one's class-loader to construct the proxy class with. This is also the reason why HibernateProxy.class
	 * should be the last one in the order (on JBossAS7 its class-loader will be org.hibernate module's class-
	 * loader, which will not see the classes inside deployed apps.  See HHH-3078
	 */
	Set<Class> proxyInterfaces = new java.util.LinkedHashSet<Class>();

	Class mappedClass = persistentClass.getMappedClass();
	Class proxyInterface = persistentClass.getProxyInterface();

	if ( proxyInterface != null && !mappedClass.equals( proxyInterface ) ) {
		if ( !proxyInterface.isInterface() ) {
			throw new MappingException(
					"proxy must be either an interface, or the class itself: " + getEntityName()
			);
		}
		proxyInterfaces.add( proxyInterface );
	}

	if ( mappedClass.isInterface() ) {
		proxyInterfaces.add( mappedClass );
	}

	Iterator<Subclass> subclasses = persistentClass.getSubclassIterator();
	while ( subclasses.hasNext() ) {
		final Subclass subclass = subclasses.next();
		final Class subclassProxy = subclass.getProxyInterface();
		final Class subclassClass = subclass.getMappedClass();
		if ( subclassProxy != null && !subclassClass.equals( subclassProxy ) ) {
			if ( !subclassProxy.isInterface() ) {
				throw new MappingException(
						"proxy must be either an interface, or the class itself: " + subclass.getEntityName()
				);
			}
			proxyInterfaces.add( subclassProxy );
		}
	}

	proxyInterfaces.add( HibernateProxy.class );

	Iterator properties = persistentClass.getPropertyIterator();
	Class clazz = persistentClass.getMappedClass();
	while ( properties.hasNext() ) {
		Property property = (Property) properties.next();
		Method method = property.getGetter( clazz ).getMethod();
		if ( method != null && Modifier.isFinal( method.getModifiers() ) ) {
			LOG.gettersOfLazyClassesCannotBeFinal( persistentClass.getEntityName(), property.getName() );
		}
		method = property.getSetter( clazz ).getMethod();
		if ( method != null && Modifier.isFinal( method.getModifiers() ) ) {
			LOG.settersOfLazyClassesCannotBeFinal( persistentClass.getEntityName(), property.getName() );
		}
	}

	Method idGetterMethod = idGetter == null ? null : idGetter.getMethod();
	Method idSetterMethod = idSetter == null ? null : idSetter.getMethod();

	Method proxyGetIdentifierMethod = idGetterMethod == null || proxyInterface == null ?
			null :
			ReflectHelper.getMethod( proxyInterface, idGetterMethod );
	Method proxySetIdentifierMethod = idSetterMethod == null || proxyInterface == null ?
			null :
			ReflectHelper.getMethod( proxyInterface, idSetterMethod );

	ProxyFactory pf = buildProxyFactoryInternal( persistentClass, idGetter, idSetter );
	try {
		pf.postInstantiate(
				getEntityName(),
				mappedClass,
				proxyInterfaces,
				proxyGetIdentifierMethod,
				proxySetIdentifierMethod,
				persistentClass.hasEmbeddedIdentifier() ?
						(CompositeType) persistentClass.getIdentifier().getType() :
						null
		);
	}
	catch (HibernateException he) {
		LOG.unableToCreateProxyFactory( getEntityName(), he );
		pf = null;
	}
	return pf;
}
 
源代码24 项目: lams   文件: PojoEntityTuplizer.java
@Override
protected Setter buildPropertySetter(Property mappedProperty, PersistentClass mappedEntity) {
	return mappedProperty.getSetter( mappedEntity.getMappedClass() );
}
 
源代码25 项目: lams   文件: PojoComponentTuplizer.java
protected Setter buildSetter(Component component, Property prop) {
	return prop.getSetter( this.componentClass );
}
 
源代码26 项目: lams   文件: DynamicMapComponentTuplizer.java
protected Setter buildSetter(Component component, Property prop) {
	return PropertyAccessStrategyMapImpl.INSTANCE.buildPropertyAccess( null, prop.getName() ).getSetter();
}
 
源代码27 项目: lams   文件: AbstractEntityTuplizer.java
/**
 * Build an appropriate Setter for the given property.
 *
 * @param mappedProperty The property to be accessed via the built Setter.
 * @param mappedEntity The entity information regarding the mapped entity owning this property.
 *
 * @return An appropriate Setter instance.
 */
protected abstract Setter buildPropertySetter(Property mappedProperty, PersistentClass mappedEntity);
 
源代码28 项目: lams   文件: AbstractEntityTuplizer.java
/**
 * Build an appropriate ProxyFactory for the given mapped entity.
 *
 * @param mappingInfo The mapping information regarding the mapped entity.
 * @param idGetter The constructed Getter relating to the entity's id property.
 * @param idSetter The constructed Setter relating to the entity's id property.
 *
 * @return An appropriate ProxyFactory instance.
 */
protected abstract ProxyFactory buildProxyFactory(PersistentClass mappingInfo, Getter idGetter, Setter idSetter);
 
源代码29 项目: lams   文件: AbstractComponentTuplizer.java
protected abstract Setter buildSetter(Component component, Property prop); 
 类所在包
 类方法
 同包方法