@SingletonDefault(implFor=StringService.class) public class JreStringService implements StringService { private static final Charset UTF8; static { UTF8 = Charset.forName("UTF8"); } @Override public boolean notNullOrEmpty(String str) { return str != null && str.length() != 0; } @Override public String notNullOrEmpty(String str, String dflt) { return str == null || str.length() == 0 ? dflt : str; } @Override public byte[] toBytes(String str) { return str.getBytes(UTF8); } }
/** * The default {@link DigestBuffer} implementation; uses java core MD5 hashing. * * @author James X. Nelson (james@wetheinter.net, @james) * */ @InstanceDefault(implFor = DigestBuffer.class) public class DigestBufferJre extends DigesterJre implements DigestBuffer { /** * @see xapi.jre.util.DigestBuffer#update(java.nio.ByteBuffer) */ @Override public DigestBuffer update(final ByteBuffer buffer) { digest.update(buffer); return this; } /** * @see xapi.jre.util.DigestBuffer#digest(java.nio.ByteBuffer) */ @Override public byte[] digest(final ByteBuffer buffer) { update(buffer); return digest.digest(); } }
@InstanceDefault(implFor=IOService.class) @SingletonDefault(implFor=IOService.class) public class IOServiceDefault extends AbstractIOService <URLConnection> {
@SingletonOverride(implFor=CollectionService.class, priority=Integer.MIN_VALUE+1) public class CollectionServiceGwtDev extends CollectionServiceDefault
@SingletonDefault(implFor=ModelCache.class) public class AbstractModelCache implements ModelCache{
@InstanceDefault(implFor=Bean.class) public final class Pointer<X> implements ProvidesValue<X>, ReceivesValue<X>, Bean<X> {
@GwtPlatform @SingletonOverride(implFor=CollectionService.class) public class CollectionServiceGwt implements CollectionService{
@SingletonDefault(implFor=ReflectionService.class) public class ReflectionServiceDefault implements ReflectionService{
@InstanceDefault(implFor = Digester.class) public class DigesterJre implements Digester {
@JrePlatform(version=7) @SingletonOverride(implFor=FileService.class) public class FileServiceJava7 extends FileServiceImpl {
@SingletonDefault(implFor=SourceService.class) public class SourceServiceDefault implements SourceService {
@InstanceDefault(implFor=ModelKey.class) public class ModelKeyDefault implements ModelKey{
@SingletonDefault(implFor = MagicClassInjector.class) public class MagicClassInjector implements MagicMethodGenerator {
@InstanceDefault(implFor=Fifo.class) public class SimpleFifo <E> implements Fifo<E>, Iterable<E>, Serializable{
@SingletonDefault(implFor = MvnService.class) public class MvnServiceDefault implements MvnService {
@InstanceDefault(implFor = ClasspathScanner.class) public class ClasspathScannerDefault implements ClasspathScanner {
@SingletonDefault(implFor=FileService.class) public class FileServiceImpl implements FileService {
@GwtDevPlatform @SingletonDefault(implFor=ReflectionService.class) public class GwtDevReflectionService extends ReflectionServiceDefault { @Override public Package getPackage(@NotNull Object o) { Class<?> cls = o.getClass(); // Gwt-dev can't use cls.getPackage(), so we force a classloader lookup return getPackage(cls.getCanonicalName().replace("."+cls.getSimpleName(), ""), cls.getClassLoader()); } }
@JrePlatform @GwtDevPlatform @SingletonDefault(implFor=CollectionService.class) public class CollectionServiceJre extends CollectionServiceDefault{ }
@JrePlatform @SingletonDefault(implFor=ConcurrencyService.class) public class ConcurrencyServiceJre extends ConcurrencyServiceAbstract{