Skip to content

Instantly share code, notes, and snippets.

View tag1216's full-sized avatar
😇

tag1216 tag1216

😇
View GitHub Profile
@tag1216
tag1216 / ApplicationContextProvider
Created December 17, 2014 05:49
SpringでいつでもどこでもApplicationContextを取得する
@Component
public class ApplicationContextProvider implements ApplicationContextAware {
private static ApplicationContext context;
public static ApplicationContext getApplicationContext() {
return context;
}
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
context = applicationContext;
@tag1216
tag1216 / Decorder.java
Last active August 29, 2015 14:11
Hibernateでenumをコード値で保存
/**
* コード値からenumインスタンスを検索するクラス
*
* http://d.hatena.ne.jp/penult/20110523/1306161406
*
*/
public class Decoder<K extends Serializable, V extends Encodable<K>> {
private Map<K, V> map;
private Decoder(V[] values) {
@tag1216
tag1216 / Ascii.java
Created December 17, 2014 06:03
Ascii文字制約
/**
* Ascii文字制約
*/
@Documented
@Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER })
@Retention(RetentionPolicy.RUNTIME)
@Constraint(validatedBy = {})
@Pattern(regexp = "[\\x00-\\x7F]*")
public @interface Ascii {
String message() default "dv3j.core.validation.Ascii.message";
@tag1216
tag1216 / Unique.java
Created December 17, 2014 06:04
ユニーク制約チェック
@Documented
@Constraint(validatedBy = UniqueValidator.class)
@Target({ ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface Unique {
String message() default "dv3j.core.validation.Unique.message";
Class<?>[] groups() default {};
Class<? extends Payload>[] payload() default {};
Class<?> entity();
String[] property();
@tag1216
tag1216 / DomNode.java
Created December 17, 2014 06:06
DomツリーからXPathでノードを選択するクラス。
/**
* DomツリーからXPathでノードを選択するクラス。
*/
public class DomNode {
private static XPathFactory xpathFactory = XPathFactory.newInstance();
private Optional<Node> node;
public DomNode(Node node) {
@tag1216
tag1216 / ExampleGroupBy.java
Created December 18, 2014 06:13
Collectors.groupingBy()でList<? extends String>をcollect
Map<Integer, List<String>> list4 = Stream.of("a", "b")
.collect(Collectors.groupingBy(
String::length,
Collectors.toCollection(() -> new ArrayList<String>())
));
Map<Integer, List<? extends String>> list5 = Stream.of("a", "b")
.collect(Collectors.groupingBy(
String::length,
Collector.of(
@tag1216
tag1216 / Item.java
Created March 1, 2015 22:36
GSONのJsonObjectでJsonを構築する時はビルダーを作っておくと美しいコードになる ref: http://qiita.com/tag1216/items/12d92662fd1ea25329c9
@AllArgsConstructor
public class Item {
public String id;
public String title;
public User user;
public List<Tag> tags;
}
@tag1216
tag1216 / index.html
Last active September 2, 2017 06:00
Qiitaトレンド
<!-- index.html -->
<html>
<head>
<title>Qiitaトレンド</title>
<meta charset="UTF-8"/>
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
<link href="http://nvd3.org/assets/css/nv.d3.css" rel="stylesheet" type="text/css">
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
import static java.util.Spliterator.*;
import java.io.IOException;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
import java.util.Iterator;
import java.util.Spliterator;
import java.util.Spliterators;
import java.util.function.Consumer;
import java.util.stream.Stream;
@tag1216
tag1216 / file0.java
Last active August 29, 2015 14:21
Java8の日時APIはとりあえずこれだけ覚えとけ ref: http://qiita.com/tag1216/items/91a471b33f383981bfaa
LocalDateTime d = LocalDateTime.now();