Ask yourself how many times you've written (or had an IDE generate) something similar to:

public class AtomImpl implements IAtom {

private String property1;
private int property2;
private boolean property3;

@Override
public String getProperty1() {
return property1;
}

@Override
public int getProperty2() {
return property2;
}

@Override
public boolean isProperty3() {
return property3;
}

@Override
public void setProperty3(boolean property3) {
this.property3 = property3;
}
}

This project enables developers to easily generate proxies implementing atomic interfaces at runtime. Now to create an instance of IAtom you can simply write:

IAtom atom = (IAtom)AtomProxyBuilder.implement(IAtom.class).addProperties("property1", "1st property", "property2", 2, "property3", true).createProxy();

NOTE: guava and junit4 are required by this library.

Features

  • Assumes standard Java Bean method naming conventions without requiring that interfaces be in full Java Bean compliance.
  • Checks property states by default on proxy construction, thereby helping developers (painlessly) detect code breakage after refactoring. These "checks" can also be disabled.
  • Employs classic builder-pattern proxy construction.
  • Supports implementing multiple interfaces at once.
  • Supports implementing interfaces that extend multiple interfaces.
  • Generated proxies have useful toString() methods. Developers can specifically exclude properties from being utilized by toString().
  • Generated proxies are serializable if all property values are serializable.

Project Activity

See All Activity >

Follow atomproxy

atomproxy Web Site

Other Useful Business Software
Go From AI Idea to AI App Fast Icon
Go From AI Idea to AI App Fast

One platform to build, fine-tune, and deploy ML models. No MLOps team required.

Access Gemini 3 and 200+ models. Build chatbots, agents, or custom models with built-in monitoring and scaling.
Try Free
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of atomproxy!

Additional Project Details

Registered

2012-03-22