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));


WebTarget Arayüzü

request metodu
Şöyle yaparız.
Invocation.Builder builder = webTarget.request(MediaType.APPLICATION_JSON);

Client Arayüzü

target metodu
Şöyle yaparız.
Client client = ...;
WebTarget target = client.target("http://localhost:8080/ldap/webapi/Auth");



ClientBuilder Sınıfı

newClient
Şö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>

Marshaller Sınıfı

constructor
JaXBContext tarafından yaratılır.Şöyle yaparız.
JAXBContext context = ...;
Marshaller marshaller = context.createMarshaller();
marshall metodu - DOMResult
Şöyle yaparız.
DOMResult result = new DOMResult();marshaller.marshal(foo, result);
return ((Document)res.getNode()).getDocumentElement();
DOMResult nesnesini Document nesnesine çevirmek için şöyle yaparız.
Document document = (Document)result.getNode();
marshall metodu - File
Şöyle yaparız.
File file = new File("test.xml");
marshaller.marshal(foo, file);
marshall metodu - Writer
Şöyle yaparız.
StringWriter writer = new StringWriter();
marshaller.marshal(foo, writer);
setProperty metodu
Şöyle yaparız.
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);

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);

23 Eylül 2016 Cuma

ResultSet Sınıfı

Giriş
Bu sınıfı kullanmak için şu satırı dahil ederiz.
import java.sql.ResultSet;
Bu sınıf using ile kullanılmalı. Şöyle yaparız.
try (Connection con = DriverManager.getConnection("...")) {
  String sql = "select * from ...";
  try (PreparedStatement stmt = con.prepareStatement(sql)) {
    stmt.setInt(1, ...);
    stmt.setString(2, ...);
    try (ResultSet rs = stmt.executeQuery()) {
      while (rs.next()) {
        ...
      }
    }
  }
}
constructor
Select cümlesi ile yaratılabilir.
ResultSet resultSet = statement.executeQuery("select ...);
Bir Statement aynı and tek bir ResultSet döndürebilir. İkinci bir select ilk ResultSet'i kapatır.
String sql = "SELECT * FROM test";
ResultSet resultSet1 = stmt.executeQuery(sql);
ResultSet resultSet2 = stmt.executeQuery(sql);
Eğer resultSet1 nesnesini kullanmaya çalışırsak
while(resultSet.next()) {...}
"Operation not allowed after ResultSet closed" hatasını alırız.

absolute metodu
Belirtilen satır numarasına gider. Şöyle yaparız.
if(resultSet.absolute (1)){...}
close metodu
Şöyle yaparız.
resultSet.close ();
Nesnenin null olmadığını kontrol etmek iyi bir fikir olabilir çünkü sorgu boş ise nesne null gelebilir.
if (resultSet != null) { resultSet.close (); }
getBinaryStream metodu
Bu metod ile veritabanından BINARY, VARBINARY, LONGVARBINARY gibi JDBC tipine sahip sütunlar okunabilir. Ancak bu tür sütunların kullanıldığını görmedim. Bunlar yerine daha çok BLOB kullanılıyor. getBlob () yerine, stream tabanlı metodların kullanılmasının çok fazla veri çekerken daha iyi olabileceği yazılı. Şöyle yaparız.
InputStream is = rs.getBinaryStream (1);
...
is.close ();
getBlob metodu
ResultSet blob'a getBlob (index) veya getBlob ("ColumnName") şeklinde erişime izin verir. Şöyle yaparız.
Blob b= rs.getBlob (1);
byte byteArray[]= b.getBytes(0,(int)b.length()); 
FileOutputStream fout = new FileOutputStream("d:\\image.jpg");  
fout.write (byteArray);  
fout.close ();
getInt metodu
Şöyle yaparız.
int r = rs.getInt ("column1");
getLong metodu
Şöyle yaparız.
long r = rs.getLong ("column1");
getMetaData metodu
Select cümlesinden sonra kullanılabilir.
ResultSet resultSet = statement.executeQuery("Select * from TABLE_NAME");
ResultSetMetaData metaData = resultSet.getMetaData();
getString metodu
İsmi belirtilen sütunun değerini string olarak verir.
resultSet.getString ("column1");
getRow metodu
int döner. Satır numarasını verir. Şöyle yaparız.
resultSet.getRow ();
next metodu
Döngü içinde dolaşabilmemizi sağlar. Şöyle yaparız.
while (resultSet.next ()) {
  ...
}


22 Eylül 2016 Perşembe

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);