FreeBuilder 背景使用JavaBean convention Java 的 Builder 模式生成器

程序名称:FreeBuilder 背景使用JavaBean convention

授权协议: Apache

操作系统: 跨平台

开发语言: Java

FreeBuilder 背景使用JavaBean convention 介绍

FreeBuilder

为 Java 1.6+ 自动生成 Builder 模式。

当设计类的构造函数或静态工厂具有多个参数时,Builder 模式是一个不错的选择。—— Effective Java ,第二版,第39页

背景

在 Java 中实现 Builder 模式容易出错和重复。即使是一个简单的四字段类,最基本的构建器 API 需要 39 行代码,如果你不使用像
AutoValue 这样的实用程序来生成值样板,则需要 72 行代码。

使用

import org.inferred.freebuilder.FreeBuilder;

@FreeBuilder
public interface Person {
  /** Returns the person's full (English) name. */
  String name();
  /** Returns the person's age in years, rounded down. */
  int age();
  /** Builder of {@link Person} instances. */
  class Builder extends Person_Builder { }
}

JavaBean convention

如果值类型遵循 JavaBean 命名约定,只需在访问器方法前面加上’get’(或者,布尔访问器是’is’)。 FreeBuilder 会跟随,并在
setter 方法上添加“set”前缀,以及从 toString 输出中删除前缀。

@FreeBuilder
public interface Person {
  /** Returns the person's full (English) name. */
  String getName();
  /** Returns the person's age in years, rounded down. */
  int getAge();
  /** Builder of {@link Person} instances. */
  class Builder extends Person_Builder { }
}

Person person = new Person.Builder()
    .setName("Phil")
    .setAge(31)
    .build();
System.out.println(person);  // Person{name=Phil, age=31}

FreeBuilder 背景使用JavaBean convention 官网

http://freebuilder.inferred.org

相关编程语言

提到 EclEmma 首先就要说到著名的 Java 覆盖测试工具...
Solex是一个WEB应用测试用的Eclipse插件。Solex可以...
Apache为我们提供了一个强大的工具 Cactus!它是一套...
Google C Testing Framework是Google公司用来在各种...
JdbcProxy 是 SourceForge 上一个开源的 Java 项目,...
Ripplet是一款负载测试工具,特征如下: 1)基于Apa...