30 Eylül 2016 Cuma

Stopwatch Sınıfı

createStarted metodu
Şöyle yaparız.
Stopwatch stopwatch = Stopwatch.createStarted();
stop metodu
Şöyle yaparız.
stopwatch.stop ();

long totalWorkTimeMillis = stopwatch.elapsedMillis ();


28 Eylül 2016 Çarşamba

Response Sınıfı

readEntity metodu
Şöyle yaparız.
Response response = ...;
String result = response.readEntity(String.class);

Invocation.Builder Arayüzü

post metodu
Şöyle yaparız.
Foo foo = new Foo();
user.setUserName("euler");
user.setPassword("password");
Response response = invocation.builder. .post(Entity.json(foo));


JAX-RS ClientBuilder Sınıfı

Giriş
Şu satırı dahil ederiz.
import javax.ws.rs.client.ClientBuilder;
newClient
Client Arayüzü döner. Şöyle yaparız.
Client client = ClientBuilder.newClient ();


27 Eylül 2016 Salı

NamedNodeMap Sınıfı

Giriş
Şu satırı dahil ederiz.
import org.w3c.dom.NamedNodeMap;
getLength metodu
Şöyle yaparız.
NamedNodeMap attributes = ...;

for (int i = 0; i < attributes.getLength(); i++) {
  Node attribute = attributes.item(i);
  if (attribute.getNodeName() == "id") {
    String x = attribute.getNodeValue();
  }  
}

Element Sınıfı

Giriş
Node sınıfından kalıtır. Node'ları dolaşırken Element olduğu şöyle anlaşılır.
Node nNode = nList.item(index);
if (nNode.getNodeType() == Node.ELEMENT_NODE) {
  Element eElement = (Element) nNode;
  ...
}
getAttribute metodu
Şöyle yaparız.
Element element = ...;
String attribute = element.getAttribute("isNull");
Şöyle bir element için 85 döner. Attribute yoksa "" yani boş string döner.
<marks isNull= "85" />
getTextContent metodu
Şöyle yaparız.
Element element = ...;
String text = element.getTextContent();
Şöyle bir element için 95 döner.
<marks>95</marks>

KeyStore.PrivateKey Sınıfı

getPrivateKey metodu
Şöyle yaparız.
KeyStore.PrivateKeyEntry privateKey = ...;
PrivateKey pkey = privateKey.getPrivateKey());
PrivateKey Cipher nesnesine geçilir.
Cipher cipher = Cipher.getInstance("...");
cipher.init(Cipher.DECRYPT_MODE, pkey);

22 Eylül 2016 Perşembe

JavaMail Transport Sınıfı

Giriş
Şu satırı dahil ederiz
import javax.mail.Transport;
Soyut bir sınıftır. Kalıtan sınıflardan birisi şu olabilir.
com.sun.mail.smtp.SMTPTransport
constructor
Eğer static sendMessage metodunu kullanmayacaksak şöyle yaparız.
Session session = ...;

Message message = ...;

Transport transport = session.getTransport("smtp");
transport.connect(host, from, password);
transport.sendMessage (message, message.getAllRecipients());
transport.close();
send metodu - static
Açıklaması şöyle.
Send is a static method that creates and manages its own connection. Any connection associated with any Transport instance used to invoke this method is ignored and not used. This method should only be invoked using the form Transport.send(msg);, and should never be invoked using an instance variable.
Şöyle yaparız.
Message message = ...;
...
Transport.send (message);
send metodu - static - Message + userName + password
Şöyle yaparız.
String user = "myaccount@gmail.com";
String pass = "mypassword";

Message message = ...;
...
Transport.send (message, user, pass);

21 Eylül 2016 Çarşamba

Static Constructor - Static Block

1. Static Block
Static Constructor aynı zamanda "Static Initialization Block", "Static Initializer" olarak ta bilinir.

Tanımlama
Şöyle yaparız.
public class Foo {
  static {
    System.out.println("Foo class loaded!");
  }
  ...
}
Ne Zaman Çalışır
Açıklaması şöyle
Class Loading and initialization are 2 different things. A class can be loaded but not initialized until it is really necessary. Static initializers are run only when a class is being initialized <> NOT loaded, "initialized"
Şu satır çalıştırmaz, çünkü sadece loading yapar.
Class<Foo> c = Foo.class;
Çalışması için şöyle yaparız.
Class<?> c = Class.forName ("Foo");
Çalışması için şöyle yaparız.
Foo f = new Foo ();
Static Block, Static Üye Alan'dan Sonra Çalıştırılabilir
Örnek
Şöyle yaparız
public class Helper {
  public static final Bicycle bicycle = new Bicycle("blue", 5L);
  static {
    bicycle.setTag("mountain");
  }
}
2. Instance Blocks
Şöyle yaparız
private LocalDate todayDate ;
{
    todayDate = LocalDate.now();
}
3. Order of Initialization
Açıklaması şöyle
So when there is a child class and we call the constructor of the child class following order will be followed:

1. Static Blocks of Super class and Child class will be loaded
2. Instance block of the Super class loads
3. Constructor of the Super class loads
4. Instance block of the Child class loads
5. Constructor of the Child class loads
Örnek
Elimizde şöyle bir kod olsun
class Foo {
  static { System.out.print("Static 1, "); }

  { System.out.print("Instance 1, "); }

  public Foo() {
    System.out.print("Foo Constructor, ");
  }
  
}

class Bar extends Foo {
  static { System.out.print("Static 2, "); }

  { System.out.print("Instance 2, "); }

  public Bar() {
    System.out.print("Bar Constructor, ");
  }
 
}

Bar bar = new Bar();
Çıktısı şöyle. Yani önce ata sınıfın static, daha sonra kalıtan sınıfın static metodları çalışıyor.
Daha sonra her sınıfın instance + constructor metodları kalıtıma göre çalıştırılıyor
Output:
Static 1, Static 2, Instance 1, Foo Constructor, Instance 2, Bar Constructor



19 Eylül 2016 Pazartesi

Constructor Sınıfı

Giriş
Şu satırı dahil ederiz.
import java.lang.reflect.Constructor;
constructor
Şöyle yaparız.
Class c = ...;
Constructor<?> ctor = c.getConstructor();
Şöyle yaparız.
Constructor<?> ctor = c.getConstructor (int.class);
newInstance metodu - default 
Şöyle yaparız.
Object obj = ctor.newInstance();
newInstance metodu - int
Şöyle yaparız.
Constructor<?> ctor = c.getConstructor (int.class);
ctor.newInstance(42);

15 Eylül 2016 Perşembe

Awt MouseAdapter Sınıfı

Giriş
Şu satırı dahil ederiz.
import java.awt.event.MouseAdapter;
Kullanım
Şöyle tanımlarız.
MouseAdapter myMouseAdapter = new MouseAdapter(){

  @Override
  public void mousePressed(MouseEvent E){
    ...
  }
  @Override
  public void mouseDragged(MouseEvent E){
    ....
  }
};
Şöyle kullanırız.
button.addMouseListener (myMouseAdapter);
button.addMouseMotionListener (myMouseAdapter);
mouseDragged metodu
1. Sürükleme işleminin hangi bileşenden başladığını bulmak için e.getComponent() kullanılabilir.
2. Sürükleme işleminin bittiğini anlamka için mouseRelease() kullanılabilir.
3. Üzerine gelinen bileşen sürüklenen nesneyi kabul etmezse target.setCursor(DragSource.DefaultCopyNoDrop) kullanılabilir.
Eğer kabul ederse
target.setCursor(DragSource.DefaultCopyDrop) kullanılabilir.

Örnek
Şöyle yaparız.
@Override
public void mouseDragged(MouseEvent E){
  ...
}
mousePressed metodu
Elimizde X ve Y konumlarını sakladığımız iki değişken olsun
int mouseClickedPosX = 0;
int mouseClickedPosY = 0;
Şöyle yaparız.
@Override
public void mousePressed(MouseEvent E){
  mouseClickedPosX = E.getX();
  mouseClickedPosY = E.getY();
}