类org.hibernate.type.descriptor.java.JavaTypeDescriptor源码实例Demo

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

源代码1 项目: lams   文件: AttributeConverterTypeAdapter.java
@SuppressWarnings("unchecked")
public AttributeConverterTypeAdapter(
		String name,
		String description,
		JpaAttributeConverter<? extends T,?> attributeConverter,
		SqlTypeDescriptor sqlTypeDescriptorAdapter,
		Class modelType,
		Class jdbcType,
		JavaTypeDescriptor<T> entityAttributeJavaTypeDescriptor) {
	super( sqlTypeDescriptorAdapter, entityAttributeJavaTypeDescriptor );
	this.name = name;
	this.description = description;
	this.modelType = modelType;
	this.jdbcType = jdbcType;
	this.attributeConverter = attributeConverter;

	this.mutabilityPlan = entityAttributeJavaTypeDescriptor.getMutabilityPlan().isMutable()
			? new AttributeConverterMutabilityPlanImpl<T>( attributeConverter )
			: ImmutableMutabilityPlan.INSTANCE;

	log.debug( "Created AttributeConverterTypeAdapter -> " + name );
}
 
源代码2 项目: lams   文件: JpaAttributeConverterImpl.java
public JpaAttributeConverterImpl(
		ManagedBean<AttributeConverter<O, R>> attributeConverterBean,
		JavaTypeDescriptor<AttributeConverter<O,R>> converterJavaTypeDescriptor,
		JavaTypeDescriptor<O> domainJavaTypeDescriptor,
		JavaTypeDescriptor<R> relationalJavaTypeDescriptor) {
	this.attributeConverterBean = attributeConverterBean;
	this.converterJavaTypeDescriptor = converterJavaTypeDescriptor;
	this.domainJavaTypeDescriptor = (BasicJavaDescriptor<O>) domainJavaTypeDescriptor;
	this.relationalJavaTypeDescriptor = (BasicJavaDescriptor<R>) relationalJavaTypeDescriptor;
}
 
源代码3 项目: lams   文件: StandardBasicTypeTemplate.java
public StandardBasicTypeTemplate(
		SqlTypeDescriptor sqlTypeDescriptor,
		JavaTypeDescriptor<J> javaTypeDescriptor,
		String... registrationKeys) {
	super( sqlTypeDescriptor, javaTypeDescriptor );
	this.registrationKeys = registrationKeys;

	this.name = javaTypeDescriptor.getJavaType() == null ? "(map-mode)" : javaTypeDescriptor.getJavaType().getName()
			+ " -> " + sqlTypeDescriptor.getSqlType();
}
 
public AttributeConverterSqlTypeDescriptorAdapter(
		JpaAttributeConverter converter,
		SqlTypeDescriptor delegate,
		JavaTypeDescriptor intermediateJavaTypeDescriptor) {
	this.converter = converter;
	this.delegate = delegate;
	this.intermediateJavaTypeDescriptor = intermediateJavaTypeDescriptor;
}
 
源代码5 项目: lams   文件: RegistryHelper.java
@SuppressWarnings("unchecked")
public <J> JavaTypeDescriptor<J> resolveDescriptor(
		Map<Class,JavaTypeDescriptor> descriptorsByClass,
		Class<J> cls,
		Supplier<JavaTypeDescriptor<J>> defaultValueSupplier) {
	if ( cls == null ) {
		throw new IllegalArgumentException( "Class passed to locate JavaTypeDescriptor cannot be null" );
	}

	JavaTypeDescriptor<J> descriptor = descriptorsByClass.get( cls );
	if ( descriptor != null ) {
		return descriptor;
	}

	if ( cls.isEnum() ) {
		descriptor = new EnumJavaTypeDescriptor( cls );
		descriptorsByClass.put( cls, descriptor );
		return descriptor;
	}

	// find the first "assignable" match
	for ( Map.Entry<Class, JavaTypeDescriptor> entry : descriptorsByClass.entrySet() ) {
		if ( entry.getKey().isAssignableFrom( cls ) ) {
			log.debugf( "Using  cached JavaTypeDescriptor instance for Java class [%s]", cls.getName() );
			return entry.getValue();
		}
	}

	return defaultValueSupplier.get();
}
 
源代码6 项目: lams   文件: JavaTypeDescriptorRegistry.java
public <T> JavaTypeDescriptor<T> getDescriptor(Class<T> javaType) {
	return RegistryHelper.INSTANCE.resolveDescriptor(
			descriptorsByClass,
			javaType,
			() -> {
				log.debugf(
						"Could not find matching scoped JavaTypeDescriptor for requested Java class [%s]; " +
								"falling back to static registry",
						javaType.getName()
				);

				return org.hibernate.type.descriptor.java.JavaTypeDescriptorRegistry.INSTANCE.getDescriptor( javaType );
			}
	);
}
 
源代码7 项目: lams   文件: JavaTypeDescriptorRegistry.java
public void addDescriptor(JavaTypeDescriptor descriptor) {
	JavaTypeDescriptor old = descriptorsByClass.put( descriptor.getJavaType(), descriptor );
	if ( old != null ) {
		log.debugf(
				"JavaTypeDescriptorRegistry entry replaced : %s -> %s (was %s)",
				descriptor.getJavaType(),
				descriptor,
				old
		);
	}
}
 
@Override
public <X> GridValueBinder<X> getBinder(final JavaTypeDescriptor<X> javaTypeDescriptor) {
	return new BasicGridBinder<X>( javaTypeDescriptor, this ) {

		@Override
		protected void doBind(Tuple resultset, X value, String[] names, WrapperOptions options) {
			resultset.put( names[0], javaTypeDescriptor.unwrap( value, targetClass, options ) );
		}
	};
}
 
源代码9 项目: hibernate-types   文件: PostgreSQLEnumType.java
/**
 * Initialization constructor taking the {@link Class}.
 *
 * @param enumClass The enum type
 */
public PostgreSQLEnumType(Class<? extends Enum> enumClass) {
    this();

    Class typeConfigurationClass = ReflectionUtils.getClassOrNull("org.hibernate.type.spi.TypeConfiguration");

    if(typeConfigurationClass != null) {
        Object typeConfiguration = ReflectionUtils.newInstance(typeConfigurationClass);

        Class enumJavaTypeDescriptorClass = ReflectionUtils.getClassOrNull("org.hibernate.type.descriptor.java.EnumJavaTypeDescriptor");

        Object enumJavaTypeDescriptor = ReflectionUtils.newInstance(enumJavaTypeDescriptorClass, new Object[] {enumClass}, new Class[]{enumClass.getClass()});

        Object javaTypeDescriptorRegistry = ReflectionUtils.invokeGetter(typeConfiguration, "javaTypeDescriptorRegistry");

        ReflectionUtils.invokeMethod(
            javaTypeDescriptorRegistry,
            ReflectionUtils.getMethod(javaTypeDescriptorRegistry, "addDescriptor", JavaTypeDescriptor.class),
            enumJavaTypeDescriptor
        );

        ReflectionUtils.invokeSetter(this, "typeConfiguration", typeConfiguration);
    }

    Properties properties = new Properties();
    properties.setProperty("enumClass", enumClass.getName());
    properties.setProperty("useNamed", Boolean.TRUE.toString());
    setParameterValues(properties);
}
 
源代码10 项目: hibernate-types   文件: ArraySqlTypeDescriptor.java
@Override
public <X> ValueBinder<X> getBinder(final JavaTypeDescriptor<X> javaTypeDescriptor) {
    return new BasicBinder<X>(javaTypeDescriptor, this) {
        @Override
        protected void doBind(PreparedStatement st, X value, int index, WrapperOptions options) throws SQLException {
            AbstractArrayTypeDescriptor<Object> abstractArrayTypeDescriptor = (AbstractArrayTypeDescriptor<Object>) javaTypeDescriptor;
            st.setArray(index, st.getConnection().createArrayOf(
                abstractArrayTypeDescriptor.getSqlArrayType(),
                abstractArrayTypeDescriptor.unwrap(value, Object[].class, options)
            ));
        }
    };
}
 
@Override
public <X> ValueBinder<X> getBinder(final JavaTypeDescriptor<X> javaTypeDescriptor) {
    return new BasicBinder<X>(javaTypeDescriptor, this) {
        @Override
        protected void doBind(PreparedStatement st, X value, int index, WrapperOptions options) throws SQLException {
            st.setObject(index, javaTypeDescriptor.unwrap(value, JsonNode.class, options), getSqlType());
        }
    };
}
 
@Override
public <X> ValueBinder<X> getBinder(final JavaTypeDescriptor<X> javaTypeDescriptor) {
    return new BasicBinder<X>(javaTypeDescriptor, this) {
        @Override
        protected void doBind(PreparedStatement st, X value, int index, WrapperOptions options) throws SQLException {
            st.setString(index, javaTypeDescriptor.unwrap(value, String.class, options));
        }
    };
}
 
源代码13 项目: hibernate-types   文件: ArraySqlTypeDescriptor.java
@Override
public <X> ValueBinder<X> getBinder(final JavaTypeDescriptor<X> javaTypeDescriptor) {
    return new BasicBinder<X>(javaTypeDescriptor, this) {
        @Override
        protected void doBind(PreparedStatement st, X value, int index, WrapperOptions options) throws SQLException {
            AbstractArrayTypeDescriptor<Object> abstractArrayTypeDescriptor = (AbstractArrayTypeDescriptor<Object>) javaTypeDescriptor;
            st.setArray(index, st.getConnection().createArrayOf(
                abstractArrayTypeDescriptor.getSqlArrayType(),
                abstractArrayTypeDescriptor.unwrap(value, Object[].class, options)
            ));
        }
    };
}
 
源代码14 项目: hibernate-types   文件: ArraySqlTypeDescriptor.java
@Override
public <X> ValueExtractor<X> getExtractor(final JavaTypeDescriptor<X> javaTypeDescriptor) {
    return new BasicExtractor<X>(javaTypeDescriptor, this) {
        @Override
        protected X doExtract(ResultSet rs, String name, WrapperOptions options) throws SQLException {
            return javaTypeDescriptor.wrap(rs.getArray(name), options);
        }
    };
}
 
@Override
public <X> ValueExtractor<X> getExtractor(final JavaTypeDescriptor<X> javaTypeDescriptor) {
    return new BasicExtractor<X>(javaTypeDescriptor, this) {
        @Override
        protected X doExtract(ResultSet rs, String name, WrapperOptions options) throws SQLException {
            return javaTypeDescriptor.wrap(extractJson(rs, name), options);
        }
    };
}
 
@Override
public <X> ValueBinder<X> getBinder(final JavaTypeDescriptor<X> javaTypeDescriptor) {
    return new BasicBinder<X>(javaTypeDescriptor, this) {
        @Override
        protected void doBind(PreparedStatement st, X value, int index, WrapperOptions options) throws SQLException {
            st.setObject(index, javaTypeDescriptor.unwrap(value, JsonNode.class, options), getSqlType());
        }
    };
}
 
@Override
public <X> ValueBinder<X> getBinder(final JavaTypeDescriptor<X> javaTypeDescriptor) {
    return new BasicBinder<X>(javaTypeDescriptor, this) {
        @Override
        protected void doBind(PreparedStatement st, X value, int index, WrapperOptions options) throws SQLException {
            st.setString(index, javaTypeDescriptor.unwrap(value, String.class, options));
        }
    };
}
 
源代码18 项目: jadira   文件: AbstractHeuristicUserType.java
@SuppressWarnings({ "rawtypes", "unchecked" })
@Override
@Deprecated
   public String toXMLString(Object object) {
   	final JavaTypeDescriptor desc = type.getJavaTypeDescriptor();
   	return desc.toString(object);
   }
 
源代码19 项目: lams   文件: JpaAttributeConverterImpl.java
@Override
public JavaTypeDescriptor<AttributeConverter<O, R>> getConverterJavaTypeDescriptor() {
	return converterJavaTypeDescriptor;
}
 
源代码20 项目: lams   文件: MetadataBuilderImpl.java
@Override
public void contributeJavaTypeDescriptor(JavaTypeDescriptor descriptor) {
	this.bootstrapContext.getTypeConfiguration().getJavaTypeDescriptorRegistry().addDescriptor( descriptor );
}
 
public AbstractSingleColumnStandardBasicType(SqlTypeDescriptor sqlTypeDescriptor, JavaTypeDescriptor<T> javaTypeDescriptor) {
	super( sqlTypeDescriptor, javaTypeDescriptor );
}
 
源代码22 项目: lams   文件: AbstractStandardBasicType.java
public AbstractStandardBasicType(SqlTypeDescriptor sqlTypeDescriptor, JavaTypeDescriptor<T> javaTypeDescriptor) {
	this.sqlTypeDescriptor = sqlTypeDescriptor;
	this.sqlTypes = new int[] { sqlTypeDescriptor.getSqlType() };
	this.javaTypeDescriptor = javaTypeDescriptor;
}
 
源代码23 项目: lams   文件: AbstractStandardBasicType.java
public final JavaTypeDescriptor<T> getJavaTypeDescriptor() {
	return javaTypeDescriptor;
}
 
源代码24 项目: lams   文件: AbstractStandardBasicType.java
public final void setJavaTypeDescriptor( JavaTypeDescriptor<T> javaTypeDescriptor ) {
	this.javaTypeDescriptor = javaTypeDescriptor;
}
 
源代码25 项目: lams   文件: ClobTypeDescriptor.java
@Override
public <X> ValueBinder<X> getBinder(JavaTypeDescriptor<X> javaTypeDescriptor) {
	return getClobBinder( javaTypeDescriptor );
}
 
源代码26 项目: lams   文件: NClobTypeDescriptor.java
@Override
public <X> ValueBinder<X> getBinder(JavaTypeDescriptor<X> javaTypeDescriptor) {
	return getNClobBinder( javaTypeDescriptor );
}
 
源代码27 项目: lams   文件: BasicExtractor.java
public BasicExtractor(JavaTypeDescriptor<J> javaDescriptor, SqlTypeDescriptor sqlDescriptor) {
	this.javaDescriptor = javaDescriptor;
	this.sqlDescriptor = sqlDescriptor;
}
 
源代码28 项目: lams   文件: BasicExtractor.java
public JavaTypeDescriptor<J> getJavaDescriptor() {
	return javaDescriptor;
}
 
源代码29 项目: lams   文件: BlobTypeDescriptor.java
@Override
public <X> BasicBinder<X> getBinder(final JavaTypeDescriptor<X> javaTypeDescriptor) {
	return getBlobBinder( javaTypeDescriptor );
}
 
源代码30 项目: lams   文件: BasicBinder.java
public JavaTypeDescriptor<J> getJavaDescriptor() {
	return javaDescriptor;
}
 
 类所在包
 类方法
 同包方法