小编Tim*_*per的帖子

用例实现注释

什么是实现注释的有效用例?

在设计主要基于注释的配置系统时,我偶尔需要创建实现代码生成或编程配置注释的类.

替代方案涉及将注释中包含的数据镜像到DTO中,这似乎是一种开销.

这是一个例子:

public enum IDType {
    LOCAL,
    URI,
    RESOURCE;
}

@Documented
@Target( { METHOD, FIELD })
@Retention(RetentionPolicy.RUNTIME)
@Inherited
public @interface Id {
    /**
     * @return
     */
    IDType value() default IDType.LOCAL;
}
Run Code Online (Sandbox Code Playgroud)

随着实施

public class IdImpl implements Id{

    private final IDType idType;

    public IdImpl(IDType idType){
        this.idType = idType;
    }

    @Override
    public IDType value() {
        return idType;
    }

    @Override
    public Class<? extends Annotation> annotationType() {
        return Id.class;
    }

}
Run Code Online (Sandbox Code Playgroud)

我得到了编译器警告,但它似乎是许多用例的有效工具.

以上示例的警告是

注释类型Id不应用作IdImpl的超接口

编辑:

我刚从Guice找到这个例子:

bind(CreditCardProcessor.class)
    .annotatedWith(Names.named("Checkout"))
    .to(CheckoutCreditCardProcessor.class);
Run Code Online (Sandbox Code Playgroud)

从名称中 …

java annotations

37
推荐指数
1
解决办法
1万
查看次数

按键集过滤地图

是否有一个快捷方式来过滤Map,只保留给定Set中包含密钥的条目?

这是一些示例代码

scala> val map = Map("1"->1, "2"->2, "3"->3)
map: scala.collection.immutable.Map[java.lang.String,Int] = Map(1 -> 1, 2 -> 2, 3 -> 3)

scala> map.filterKeys(Set("1","2").contains)
res0: scala.collection.immutable.Map[java.lang.String,Int] = Map(1 -> 1, 2 -> 2)
Run Code Online (Sandbox Code Playgroud)

我正在寻找比这短的东西.

scala

27
推荐指数
3
解决办法
2万
查看次数

Java的反应性扩展

是否有相当于Java 的Reactive Extensions(.NET)?

关于Rx(Reactive Extensions)

Rx是一个使用可观察集合组成异步和基于事件的程序的库.

我知道规则引擎,比如来自JBOSS的Drools,但还有其他一些更接近Microsoft .NET方法的方法吗?

.net java linq system.reactive

11
推荐指数
2
解决办法
4495
查看次数

空检查错误消息为"为空"或"为空"

在Java代码中执行空检查,并且为空值抛出IllegalArgumentExceptions时,您使用什么类型的消息模板?

我们倾向于使用这样的东西

public User getUser(String username){
   if (username == null){
     throw new IllegalArgumentException("username is null");   
   }
   // ...
}
Run Code Online (Sandbox Code Playgroud)

更好的是:"为空"或"为空",为什么?

对我来说,"无效"感觉更自然.

java preconditions illegalargumentexception

11
推荐指数
2
解决办法
3750
查看次数

Scala Web应用程序安全性

Scala Web应用程序中Web安全性的哪些好框架选择.我们想尝试Scala Web开发,但还没有找到好的Scala Web应用程序安全框架.

从Java方面来说,我至少知道Spring Security和Apache Shiro.

您是否具有Scala Web应用程序安全框架或Scala上下文中的Spring Security/Apache Shiro的经验?

security scala web-applications

10
推荐指数
1
解决办法
2382
查看次数

CKAN的替代品

你知道CKAN的替代吗?我正在搜索具有类似CKAN功能集的元数据管理门户软件.

该实现最好是LAMP或Java.

java lamp sample-data ckan

10
推荐指数
1
解决办法
4131
查看次数

10
推荐指数
1
解决办法
641
查看次数

Scala的SQL DSL

我正在努力为Scala创建一个SQL DSL.DSL是Querydsl的扩展,Querydsl是一种流行的Java查询抽象层.

我现在正在努力解决以下非常简单的表达方式

user.firstName == "Bob" || user.firstName == "Ann"
Run Code Online (Sandbox Code Playgroud)

由于Querydsl已经支持可以在这里使用的表达式模型,因此我决定提供从Proxy对象到Querydsl表达式的转换.为了使用代理,我创建了一个这样的实例

import com.mysema.query.alias.Alias._

var user = alias(classOf[User])
Run Code Online (Sandbox Code Playgroud)

通过以下隐式转换,我可以将代理实例和代理属性调用链转换为Querydsl表达式

import com.mysema.query.alias.Alias._
import com.mysema.query.types.expr._
import com.mysema.query.types.path._

object Conversions {        
    def not(b: EBoolean): EBoolean = b.not()        
    implicit def booleanPath(b: Boolean): PBoolean = $(b);        
    implicit def stringPath(s: String): PString = $(s);        
    implicit def datePath(d: java.sql.Date): PDate[java.sql.Date] = $(d);        
    implicit def dateTimePath(d: java.util.Date): PDateTime[java.util.Date] = $(d);        
    implicit def timePath(t: java.sql.Time): PTime[java.sql.Time] = $(t);            
    implicit def comparablePath(c: Comparable[_]): PComparable[_] = $(c);        
    implicit …
Run Code Online (Sandbox Code Playgroud)

dsl scala querydsl

9
推荐指数
1
解决办法
4700
查看次数

在类型别名中使用上下文绑定

是否可以在Scala中使用类型别名中的上下文边界?

例如

type U = A : B
Run Code Online (Sandbox Code Playgroud)

scala

9
推荐指数
2
解决办法
1273
查看次数

MongoDB的Java API

您有什么体验MongoDB的优秀Java API ?

我正在寻找基于注释的Java POJO映射到MongoDB资源和一个体面的查询抽象层的东西.

java mongodb

8
推荐指数
1
解决办法
2903
查看次数