domingo, 21 de agosto de 2016

Named-Lock version 1.0 B2 was released

Named-Lock version 1.0 B2 was released
see more http://namedlock.brandao.org/.

1. Quick Reference.


The named-lock is a utility for acquiring named locks.


1.1 Named factory.


Main class


public class Test {

    public static void main(String[] args) throws InterruptedException{
        NamedLockFactory lockFactory = new NamedLockFactory();
        
        System.out.println("start test");

        Lock lock = lockFactory.getLock("lock_name");
        lock.lock();
        try{
            Task task = new Task(lockFactory);
            task.start();
            Thread.sleep(1000);
            System.out.println("1");
        }
        finally{
            lock.unlock();
        }

        Thread.sleep(1000);
        System.out.println("end test");
        
    }

}

Task class


public class Task extends Thread{

    private NamedLockFactory lockFactory;

    public Task(NamedLockFactory lockFactory){
        this.lockFactory = lockFactory;
    }

    public void run(){

        Lock lock = lockFactory.getLock("lock_name");
        lock.lock();
        try{
            System.out.println("2");
        }
        finally{
            lock.unlock();
        }

    }

}


output:
start test
1
2
end test


1.2 Named lock.



NamedLock namedLock = new NamedLock()
Serializable refLock = namedLock.lock("lock_name");
try{
   // manipulate protected state
}
finally{
  namedLock.unlock(refLock, "lock_name");
}


quinta-feira, 11 de agosto de 2016

jBRGates version 1.1 B1 was released


jBRGates version 1.1 B1 was released
see more http://jbrgates.brandao.org/.

1. Quick Reference.


The jBRGates is a lightweight library for serializing beans, maps, collections, arrays and Enum to Json and back again to beans.


1.1. Convert Java object to JSON.


The method JsonContext.encode(Object) convert a java object to json object.

 Ex:
     double[] javaObject = new double[]{1.0,25.0};
     JsonContext context = new DefaultJsonContext();
     String jsonObject = context.encode(javaObject);
     
 Output:
 [1.0, 25.0]

 Ex2:

     MyObject javaObject = new MyObject();
     javaObject.filed1 = 12L;
     javaObject.field2 = "Test";
     
     JsonContext context = new DefaultJsonContext();
     String jsonObject = context.encode(javaObject);
     
 Output:
 {"field1": 12, "field2": "Test"}

 Ex3:

     MyObject javaObject = new MyObject();
     javaObject.filed1 = new Date();
     javaObject.filed2 = MyEnum.VALUE1;
     
     JsonContext context = new DefaultJsonContext();
     String jsonObject = context.encode(javaObject);
     
 Output:
 {"field1": "2016-08-06T12:30:00.000Z", "field2": "VALUE1"}

1.2. Convert JSON to Java object.


The method JsonContext.decode(String) convert a json object to java object.

 Ex:
     String jsonObject   = "[1.0, 25.0]";
     JsonContext context = new DefaultJsonContext();
     double[] javaObject = context.decode(jsonObject, double[].class);
     

 Ex2:

     String jsonObject   = "{\"field1\": 12, \"field2\": \"Test\"};
     JsonContext context = new DefaultJsonContext();

     MyObject javaObject = context.decode(jsonObject, MyObject.class);


2. jBRGates Dependency.


<dependency>
    <groupId>org.brandao</groupId>
    <artifactId>jbrgates</artifactId>
    <version>1.1-b1</version>
</dependency>