private void withTypeInfo( JsonObjectBuilder builder, ValueType valueType ) { builder.add( settings.getTypeInfoPropertyName(), valueType.primaryType().getName() ); }
public static ValueType of( Class<?>... types ) { return new ValueType( types ); }
private boolean isSupported( ValueType valueType ) { if( valueType instanceof CollectionType ) { CollectionType collectionType = (CollectionType) valueType; return isSupported( collectionType.collectedType() ); } Class<?> primaryType = valueType.primaryType(); return Number.class.isAssignableFrom( primaryType ) || Boolean.class.isAssignableFrom( primaryType ) || Character.class.isAssignableFrom( primaryType ) || Enum.class.isAssignableFrom( primaryType ) || String.class.isAssignableFrom( primaryType ) || Identity.class.isAssignableFrom( primaryType ) // TODO javax.time support in indexing-sql // || Date.class.isAssignableFrom( primaryType ) // || DateTime.class.isAssignableFrom( primaryType ) // || LocalDateTime.class.isAssignableFrom( primaryType ) // || LocalDate.class.isAssignableFrom( primaryType ) || valueType.hasType( ValueComposite.class ); } };
value = module.instance().newValue( valueType.primaryType() ); Class<?> propertyType = valueType().types().findFirst().orElse( null ); if( value instanceof String && !propertyType.equals( String.class ) )
@Override public boolean equals( final Object o ) { if( this == o ) { return true; } if( o == null || getClass() != o.getClass() ) { return false; } if( !super.equals( o ) ) { return false; } ArrayType that = (ArrayType) o; return Objects.equals( collectedType, that.collectedType ); }
protected ValueType( List<Class<?>> types ) { this.types = applyPrimitiveAndBoxedTypes( types ); }
return valueType.hasType( String.class ) ? (T) "" : null; if( EnumType.class.isAssignableFrom( valueTypeClass ) ) return (T) Enum.valueOf( (Class) valueType.primaryType(), xml.getNodeValue() );
@Override public boolean equals( final Object o ) { if( this == o ) { return true; } if( o == null || getClass() != o.getClass() ) { return false; } if( !super.equals( o ) ) { return false; } ArrayType that = (ArrayType) o; return Objects.equals( collectedType, that.collectedType ); }
protected ValueType( List<Class<?>> types ) { this.types = applyPrimitiveAndBoxedTypes( types ); }
private void withTypeInfo( JsonObjectBuilder builder, ValueType valueType ) { builder.add( settings.getTypeInfoPropertyName(), valueType.primaryType().getName() ); }
@Override public boolean equals( final Object o ) { if( this == o ) { return true; } if( o == null || getClass() != o.getClass() ) { return false; } if( !super.equals( o ) ) { return false; } CollectionType that = (CollectionType) o; return Objects.equals( collectedType, that.collectedType ); }
public static ValueType of( Class<?>... types ) { return new ValueType( types ); }
@SuppressWarnings( "unchecked" ) private <T> Converter<T> lookupConverter( ValueType valueType ) { Converter<T> converter = lookupConvertedByConverter( valueType ); if( converter == null ) { converter = castConverter( converters.keySet().stream() .collect( closestType( valueType ) ) .map( converters::get ) .orElse( null ) ); } if( converter == null && valueType.primaryType().isEnum() ) { converter = new EnumConverter( valueType.primaryType() ); } return converter; }
@Override public boolean equals( final Object o ) { if( this == o ) { return true; } if( o == null || getClass() != o.getClass() ) { return false; } if( !super.equals( o ) ) { return false; } CollectionType that = (CollectionType) o; return Objects.equals( collectedType, that.collectedType ); }
@SuppressWarnings( "unchecked" ) private <T> Converter<T> lookupConverter( ValueType valueType ) { Converter<T> converter = lookupConvertedByConverter( valueType ); if( converter == null ) { converter = castConverter( converters.keySet().stream() .collect( closestType( valueType ) ) .map( converters::get ) .orElse( null ) ); } if( converter == null && valueType.primaryType().isEnum() ) { converter = new EnumConverter( valueType.primaryType() ); } return converter; }
@Override public boolean equals( final Object o ) { if( this == o ) { return true; } if( o == null || getClass() != o.getClass() ) { return false; } if( !super.equals( o ) ) { return false; } MapType mapType = (MapType) o; return Objects.equals( keyType, mapType.keyType ) && Objects.equals( valueType, mapType.valueType ); }