Skip to content

Instantly share code, notes, and snippets.

@adrianoalmeida7
Created June 19, 2011 12:19
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save adrianoalmeida7/1034221 to your computer and use it in GitHub Desktop.
Save adrianoalmeida7/1034221 to your computer and use it in GitHub Desktop.
DSL pra criacao de java.util.Calendars
package dsl
import java.util.Calendar
object Data {
class Dia(val dia:Int) {
def de(mes:Mes) = {
new ConectorParaAno(dia, mes)
}
}
class ConectorParaAno(val dia:Int, mes:Mes) {
def de(ano:Int) = {
val c = Calendar.getInstance()
c.set(Calendar.DAY_OF_MONTH, dia)
c.set(Calendar.MONTH, mes.numero)
c.set(Calendar.YEAR, ano)
c
}
}
class Mes(val numero:Int)
val Janeiro = new Mes(0)
val Fevereiro = new Mes(1)
val Março = new Mes(2)
val Abril = new Mes(3)
val Maio = new Mes(4)
val Junho = new Mes(5)
val Julho = new Mes(6)
val Agosto = new Mes(7)
val Setembro = new Mes(8)
val Outubro = new Mes(9)
val Novembro = new Mes(10)
val Dezembro = new Mes(11)
implicit def intToDia(dia:Int):Dia = {
new Dia(dia)
}
}
import java.util.Calendar
import java.text.SimpleDateFormat
import dsl.Data._
object Teste {
def main(args: Array[String]) {
val data = 11 de Fevereiro de 1986
println(new SimpleDateFormat("dd/MM/yyyy").format(data.getTime))
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment