Skip to content

Instantly share code, notes, and snippets.

Avatar

Lucas Cavalcanti lucascs

View GitHub Profile
@lucascs
lucascs / Calculadora.java
Created Feb 21, 2011
Programação funcional em Java
View Calculadora.java
public class Calculadora {
private static final Prova _ = of(Prova.class);
public double mediaDeProvas(List<Prova> provas) {
return mediaPonderada(provas, function(_.getNota()), function(_.getPeso()));
}
public <T> double mediaPonderada(List<T> lista, Function<T, Double> valor, Function<T, Double> peso) {
double soma = 0.0;
double somaPesos = 0.0;
@lucascs
lucascs / Capitalize.java
Created Apr 30, 2015
Capitalize java 8
View Capitalize.java
import java.util.Arrays;
public class Capitalize {
public static String capitalize (String x) {
return x.substring(0,1).toUpperCase() + x.substring(1).toLowerCase();
}
public static void main(String[] args) {
String text = "gabinete do deputado fulando de tal e de dona maria";
@lucascs
lucascs / LinkToHandler.java
Created Jul 5, 2011
Anatomia de uma solução - VRaptor linkTo para jsp
View LinkToHandler.java
@Component
@ApplicationScoped
public class LinkToHandler implements StereotypeHandler {
private Map<String, Map<String, Linker>> linkTo = Maps.newHashMap();
private final ServletContext context;
private final Router router;
public LinkToHandler(ServletContext context, Router router) {
this.context = context;
@lucascs
lucascs / invariants.clj
Last active Mar 29, 2016
Double entry modeling
View invariants.clj
(def billing-violations [negative-entries small-minimum-payment prepaid-mutual])
(def loss-violations [credit-loss pre-loss])
(def general-violations [minimum-payment-mutual])
(defn all-violations [balances]
(concat billing-violations loss-violations general-violations))
(s/defn fixing-invariants :- [Entry] [initial-balances :- Balances, new-entries :- [Entry]]
@lucascs
lucascs / mapper.rb
Last active Dec 24, 2015
Tire configuration for pt-BR
View mapper.rb
class Mapper
def self.map!(options = {})
drop_index! if options[:delete]
Tire.index :index_name do
create :analysis => {
:filter => {
:pt_br_filter => {
:type => :stemmer,
:language => :minimal_portuguese
View LazyJSONSerialization.java
@Component
public class LazyJSONSerialization extends XStreamJSONSerialization {
private SerializerHolder holder;
public LazyJSONSerialization(SerializerHolder holder, HttpServletResponse response, TypeNameExtractor extractor, ProxyInitializer initializer, XStreamBuilder builder) {
super(response, extractor, initializer, builder);
this.holder = holder;
}
@Override
protected SerializerBuilder getSerializer() {
try {
@lucascs
lucascs / PackageResourceHandler.java
Created Mar 21, 2013
Resource handler para poder fazer: `${linkTo[controllers.MeuController].metodo}` ou `${linkTo[gerenciador.MeuController]}`
View PackageResourceHandler.java
@Component // do vraptor
@ApplicationScoped
@org.springframework.stereotype.Component("stereotypeHandler") // só se for spring
public class PackageResourceHandler implements StereotypeHandler {
private final Map<String, Class> controllers;
private final Map<String, Class> gerenciador;
public PackageResourceHandler(ServletContext context) {
context.setAttribute("controllers", controllers);
context.setAttribute("gerenciador", gerenciador);
@lucascs
lucascs / PackageRoutesParser.java
Created Jan 10, 2013
A Routes parser that uses the last package name as the first level of uri: /package/controller/method
View PackageRoutesParser.java
@Component
@ApplicationScoped
public class PackageRoutesParser extends PathAnnotationRoutesParser {
//delegate constructor
public PackageRoutesParser(Router router) {
super(router);
}
@Override
@lucascs
lucascs / Redirect.java
Created Oct 31, 2012
Redirecting to a ResourceMethod
View Redirect.java
Result result = //...
ResourceMethod method = //...
Object[] args = //...
Object redirecting = result.redirectTo(method.getResource().getType());
new Mirror().on(redirect).invoke().method(method.getMethod()).withArgs(args);
@lucascs
lucascs / SessionCreator.java
Created Aug 28, 2012
SessionCreator for Spring environments
View SessionCreator.java
@Component
@RequestScoped
public class SessionCreator implements ComponentFactory<Session> {
private final SessionFactory factory;
private final Proxifier proxifier;
private Session session;
public SessionCreator(SessionFactory factory, Proxifier proxifier) {
this.factory = factory;
this.proxifier = proxifier;