Skip to content

Instantly share code, notes, and snippets.

View dodalovic's full-sized avatar

Dusan Odalovic dodalovic

View GitHub Profile
@dodalovic
dodalovic / 0_reuse_code.js
Created August 21, 2014 09:30
Here are some things you can do with Gists in GistBox.
// Use Gists to store code you would like to remember later on
console.log(window); // log the "window" object to the console
@dodalovic
dodalovic / bubbling.js
Created August 23, 2014 18:45
Prevent event bubbling
'use strict'
var eventDetails = function(element, event) {
event.stopPropagation ? event.stopPropagation() : (event.cancelBubble = true);
console.log("target.id:" + event.target.id + ", this.id:" + element.id);
};
package rs.dodalovic.streams.flap_map;
import java.util.List;
public class Developer {
private final String name;
private final List<String> programmingLanguages;
public Developer(String name, List<String> programmingLanguages) {
this.name = name;
@dodalovic
dodalovic / User.java
Last active March 9, 2016 08:54
Strategy pattern - User persistence - java 8
package rs.dodalovic.design_patterns.behavioral.strategy.user_persistence;
class User {
private final int id;
private final String username;
private final String location;
public User(int id, String username, String location) {
this.id = id;
this.username = username;
@dodalovic
dodalovic / ApacheCommonsEmailSenderMain.java
Last active March 16, 2016 12:46
Send mail via Gmail / SMTP using Apache commons mail
package rs.dodalovic.send_mail;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.HtmlEmail;
import javax.mail.util.ByteArrayDataSource;
import java.io.FileInputStream;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
@dodalovic
dodalovic / Person.java
Last active March 17, 2016 14:44
blog - Java 8 Stream API - reduce operator
package rs.dodalovic.streams.reduce;
class Person {
private String name;
private Gender gender;
private Integer age;
public Person(String name, Gender gender, Integer age) {
this.name = name;
this.gender = gender;
package com.mydomain;
import org.junit.Test;
import org.mockito.Mockito;
import java.util.Optional;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.*;
@dodalovic
dodalovic / CollectorsDemo.java
Created March 30, 2016 18:44
Transforming Java 8 collections - Collectors API
package rs.dodalovic.streams.collect.collectors_api;
import rs.dodalovic.fn_interfaces.predicate.persons_test.Person;
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
import static java.util.stream.Collectors.*;
@dodalovic
dodalovic / README.adoc
Last active May 30, 2017 08:00
Strategy pattern implementation in kotlin

Strategy pattern implementation in kotlin (kotlinlang.org) language

Important
make sure to have kotlinc on your $PATH

Running

  • Without any command line arguments

@dodalovic
dodalovic / Sealed.kt
Created June 14, 2017 19:38
Sealed classes kotlin
sealed class Student(val indexNumber: String)
class GraduateStudent(indexNumber: String, val graduationYear: Int) : Student(indexNumber)
class UnderGraduateStudent(indexNumber: String, val currentGrade: Int) : Student(indexNumber)
fun main(args: Array<String>) {
val student: Student = UnderGraduateStudent("123", 3)
when (student) {
is UnderGraduateStudent -> println("UnderGraduateStudent :: indexNumber: ${student.indexNumber} :: current grade : ${student.currentGrade}")
is GraduateStudent -> println("GraduateStudent :: indexNumber: ${student.indexNumber} :: graduation year : $ { student.currentGrade}")