31 Mayıs 2016 Salı

KeyGenerator Sınıfı

generateKey metodu
Şöyle yaparız.
SecretKey key = keyGenerator.generateKey();

SOAPMessage Sınıfı

constructor
Şöyle yaparız.
SOAPConnectionFactory connectionFactory = SOAPConnectionFactory.newInstance();
SOAPConnection connection = connectionFactory.createConnection();
SOAPMessage response = connection.call(soapMessage, endpoint);
setProperty metodu
Şöyle yaparız.
soapMessage.setProperty(SOAPMessage.WRITE_XML_DECLARATION, Boolean.TRUE);
writeTo metodu
Şöyle yaparız.
ByteArrayOutputStream baos = new ByteArrayOutputStream();
response.writeTo(baos);

30 Mayıs 2016 Pazartesi

ByteArrayOutputStream Sınıfı

constructor
Şöyle yaparız.
ByteArrayOutputStream bao =new ByteArrayOutputStream();
toByteArray metodu
Şöyle yaparız.
bao.toByteArray()

29 Mayıs 2016 Pazar

JPA @Column Anotasyonu

Giriş
Column herhangi bir alanın veya getter metodun veritabanındaki hangi sütuna yazılacağını belirtir. JPA'nın temel ögelerinden biridir. Dolayısıyla kullanımını iyi anlamak gerekir.

columnDefinition
Bu alan açıklama seçeneği içerebilir. Şöyle yaparız.
@Column(name = "optlock", columnDefinition = "integer DEFAULT 0",nullable = false)
private long version = 0L;
length
String için kullanılır. Şöyle yaparız.
@Column(nullable = false, length = 90)
private String descr;
name
Şöyle yaparız.
@Column(name = "user_name", nullable=false )
private String userName;
nullable
Şöyle yaparız.
@Column(unique = true, nullable = false)
private Integer id;
unique
Şöyle yaparız.
@Column(unique = true, nullable = false)
private Integer id;


27 Mayıs 2016 Cuma

Stream Sınıfı Terminal Operations

Giriş
Terminal operations olarak adlandırılan metodlar hemen (eager)çalıştırılırlar. Bu metodlar şunlardır.

collect metodu
collect metodu yazısına taşıdım.

forEach metodu
Elimizde Flight listesi olsun. getLocation metodu bir string döndürüyor olsun. Tüm location'ları yazıdırmak için şöyle yaparız.
Stream.of(flights)
        .map(f -> f.getLocations())
        .filter(f -> f != null)
        .forEach(System.out::println);

reduce metodu
İmzaları şöyledir.
Optional reduce(BinaryOperator accumulator)
T reduce(T identity, BinaryOperator accumulator)
U reduce(U identity, BiFunction accumulator, BinaryOperator combiner)

BinaryOperator
Eğer identity değeri yoksa stream'deki ilk elemanı sonuç olarak döner. Örnek biraz saçma ama şöyle yaparız.
public static int countWords(String s) {
    return s.chars().reduce((x, y) -> {
        if((char)y == ' ')
            ++x;
        return x;
    }).orElse(0);
}
Girdi olarak "asd" verirsek a karakterinin int değeri olan 97 sonucunu alırız.

Identity + Accumulator
Tek bir sonuç döndürür. Bir listedeki tüm elemanları çarpmak için şöyle yaparız.
listOfIntegers.stream().reduce(1, (a, b) -> a * b);
Bir string'deki ' ' karakterini saymak için şöyle yaparız.
public static int countWords(String s) {
    return s.chars().reduce(0, (x, y) -> {
        if((char)y == ' ')
            return x + 1;
        return x;
    });
}
Identity + Accumulator + Combiner
İmzası şöyle. Identity ilk başlangı. değerini belirtir. Accumulator işlem sonuçlarını biriktirir.
<U> U reduce(U identity,
             BiFunction<U,? super T,U> accumulator,
             BinaryOperator<U> combiner)



25 Mayıs 2016 Çarşamba

CharArrayReader Sınıfı

Giriş
Şu satırı dahil ederiz.
import java.io.CharArrayReader;
constructor
Şöyle yaparız.
char[] buf = ...;
CharArrayReader reader = new CharArrayReader(buf);
Bu sınıfı şöyle sarmalamak daha iyi.
char[] buf = ...;
BufferedReader br = new BufferedReader(new CharArrayReader(buf));

LinkedHashSet Sınıfı

Giriş
Şu satırı dahil ederiz.
import java.util.LinkedHashSet;
Sınıfımın şu metodları gerçekleştirmesi gerekir.
class Point
{
  public boolean equals(Object p)
  {...}

  public int hashCode()
  {...}
}
Equals metodunun imzası şöyledir ve buna dikkat etmek gerekir.
public boolean equals(Object obj)
Şöyle değildir.
public boolean equals(Point obj)
constructor
Şöyle yaparız.
Set<String> set = new LinkedHashSet<String>();
add metodu
Şöyle yaparız.
set.add("1");
contains metodu
Şöyle yaparız.
String y=...;
set.contains (y);

ThreadGroup Sınıfı

constructor
Şöyle yaparız.
ThreadGroup tg = Thread.currentThread().getThreadGroup()
Şöyle yaparız.
ThreadGroup parent = new ThreadGroup("mygroup");
activeGroupCount metodu
Şöyle yaparız.
ThreadGroup[] t = new ThreadGroup[tg.activeGroupCount()];
enumerate metodu
Şöyle yaparız.
ThreadGroup[] t = new ThreadGroup[tg.activeGroupCount()];
tg.enumerate(t);
isDaemon metodu
Şöyle yaparız.
tg.isDaemon()
getName metodu
Şöyle yaparız.
tg.getName()
setDaemon metodu
Açıklaması şöyle
A daemon thread group is automatically destroyed when its last thread is stopped or its last thread group is destroyed.

23 Mayıs 2016 Pazartesi

AffineTransform Sınıfı

Giriş
Matris çarpımları şöyle. Döndürmek için şöyle bir matris kullanılıyor. c = cos theta, s = sin theta
| c   -s  0 |
| s   c   0 |
| 0   0   1 |

getRotateInstance metodu
Resmi ortasından döndürmek için şöyle yaparız.
double rotationRequired = Math.toRadians (45);
double x = image.getWidth() / 2;
double y = image.getHeight() / 2;
AffineTransform tx = AffineTransform.getRotateInstance(rotationRequired, x, y);

21 Mayıs 2016 Cumartesi

ThreadLocal Sınıfı

Giriş
Bu sınıfın 4 tane metodu var. Sınıf her zaman static final olarak tanımlanır.
private static final ThreadLocal<Foo> fooHolder = new ThreadLocal<Foo>() {...}
initialValue metodu
Bu metod protected. ThreadLocal nesnesi ilklendirildiğinde çağrılır. Şöyle yaparız
static final ThreadLocal<MyParser> PARSER = new ThreadLocal<MyParser>() {
    @Override
    protected MyParser initialValue() {
        return new MyParser();
    }
};
get metodu
Açıklaması şöyle.
Returns the value in the current thread's copy of this thread-local variable.
Bu metod public'tir. ThreadLocal nesnemiz static final olduğu için şöyle yaparız.
void parse(String input) {
    PARSER.get().parse(input);
}
remove metodu
ThreadLocal nesnemiz static final olduğu için şöyle yaparız.
public static void unset() {
  PARSER.remove();
}