27 Şubat 2016 Cumartesi

MimeBodyPart

MimeMultiPart Sınıfı
Bu sınıfı kullanmak için şu satır dahil edilir.
import javax.mail.Multipart;
import javax.mail.internet.MimeMultipart;
Bu sınıf hem HTML hem de Text içeren e-postalar göndermek için kullanılır. Alıcı taraf eğer HTML gösterebiliyorsa onu gösterir. Gösteremiyorsa text mesajı gösterir.

Constructor
Şöyle yaparız.
Multipart mp = new MimeMultipart();
addBodyPart metodu
Şöyle yaparız.
Multipart mp = new MimeMultipart();
MimeBodyPart mbp = new MimeBodyPart();
...
mp.addBodyPart(mbp);

MimeBodyPart Sınıfı
Bu sınıfı kullanmak için şu satır dahil edilir.
import javax.mail.BodyPart;
import javax.mail.internet.MimeBodyPart;
Bu sınıf e-postaya eklenti yapmak için kullanılır. Yani e-posta artık part part olarak düşünülür. Normalde eklentiler e-mail içinde gösterilmez. Eğer e-mail içinde gösterilsin istiyorsak şöyle yaparız.

messageBodyPart.setDisposition(Part.INLINE);

Constructor
Şöyle yaparız.
BodyPart messageBodyPart = new MimeBodyPart();
Dosya Eklentisi
Örnek
messageBodyPart = new MimeBodyPart();
String filename = "/home/file.txt";
DataSource source = new FileDataSource(filename);
messageBodyPart.setDataHandler(new DataHandler(source));
messageBodyPart.setFileName(filename);
setText metodu
Şöyle yaparız. "text/plain" part yaratır.
String subject = ...
BodyPart messageBodyPart = new MimeBodyPart(); 
messageBodyPart.setText(subject); 
Bu kod sanırım şu kodla aynıdır.
MimeBodyPart messageBodyPart = new MimeBodyPart();
messageBodyPart.setContent("MyContent", "text/plain"); 
messageBodyPart.setDisposition(Part.INLINE);

22 Şubat 2016 Pazartesi

ResultSetMetaData Sınıfı

getColumnCount metodu
Select cümlesinden sonra kaç sütun olduğunu bulmak için kullanılabilir.
ResultSet resultSet = statement.executeQuery("Select * from TABLE_NAME");
ResultSetMetaData metaData = resultSet.getMetaData();
int colCount = metaData.getColumnCount();
getColumnName metodu
Şöyle yaparız.
ResultSetMetaData metaData = rs.getMetaData();
int columns = metaData.getColumnCount();
for (int i = 1; i <= columns; i++) {
  metaData.getColumnName(i);
}
getColumnType metodu
Şöyle yaparız.
int type = metaData.getColumnType(1);
if (type == Types.TIMESTAMP) {
  ...
} else if (type == Types.VARCHAR || type == Types.CHAR) {
  ...
}
getColumnTypeName metodu
Veritabanına mahsus sütun tipini string olarak alırız. Şöyle yaparız.
String typeName = metaData().getColumnTypeName(1);

12 Şubat 2016 Cuma

XSSFFont Sınıfı

constructor
Şöyle yaparız.
XSSFFont font = workbook.createFont();
font.setBold(true);
CellStyle nesnesine atama
Şöyle yaparız.
XSSFCellStyle style = ...;
XSSFFont font = ...;
...
style.setFont(font);

XSSFCellStyle Sınıfı

constructor
Şöyle yaparız.
XSSFCellStyle headStyle = workbook.createCellStyle();
Hücreye Atama
Şöyle yaparız.
XSSFCell cell = ...;
cell.setCellStyle(style);
setFillForegroundColor metodu
Hücrenin rengini verir. Şöyle yaparız.
style.setFillForegroundColor(new XSSFColor(new java.awt.Color(255, 255, 255)));
setFillPattern metodu
Şöyle yaparız.
style.setFillPattern(CellStyle.SOLID_FOREGROUND);
setFont metodu
Şöyle yaparız.
XSSFFont font = workbook.createFont();
font.setBold(true);
style.setFont(font);

Workbook Sınıfı

Giriş
Bu sınıf tamamen arayüzlere yönelik çalışıyor. XSSFWorkbook sınıfına da bakılabilir.
constructor
Şöyle yaparız.
InputStream is = new FileInputStream("test.xlsx");
Workbook wb = WorkbookFactory.create(is);
getSheetAt metodu
Şöyle yaparız.
Sheet sheet = wb.getSheetAt(0);

6 Şubat 2016 Cumartesi

Security Sınıfı

addProvider metodu
Şöyle yaparız.
Security.addProvider(...);



5 Şubat 2016 Cuma

Schema ve Validator Sınıfları

SchemaFactory Sınıfı
newInstance metodu
Factory şöyle yaratılır.
SchemaFactory f = SchemaFactory.newInstance("http://www.w3.org/2001/XMLSchema");
Şöyle de yapabilirdik.
SchemaFactory factory = 
            SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
newSchema metodu
XSD dosyasını yüklemek için kullanılır. Dosyadan yüklemek için şöyle yaparız.
Schema schema = factory.newSchema(new File("/tmp/checkxsd.xsd"));
Stream'den yüklemek için şöyle yaparız.
InputStream xsd = ...;
Schema schema = factory.newSchema(new StreamSource(xsd));
String'den yükleme için şöyle yaparız.

Schema schema = factory.newSchema(new StreamSource(new StringReader(xsd)))
Schema Sınıfı
newValidator metodu
Şöyle yaparız.
Validator validator = schema.newValidator();
Validator Sınıfı
setErrorHandler metodu
Bir ErrorHandler sınıfı tanımlarız
public class LoggingErrorHandler implements ErrorHandler {

  @Override
  public void warning(SAXParseException exc) {..}

  @Override
  public void error(SAXParseException exc) {...}

  @Override
  public void fatalError(SAXParseException exc) throws SAXParseException {...}
}
Bu sınıfı Validator nesnesine veririz.
LoggingErrorHandler errorHandler = new LoggingErrorHandler();
validator.setErrorHandler(errorHandler);
validate metodu
Verilen XML'i doğrular.
Validator validator = schema.newValidator();
validator.validate(new StreamSource(new File("/home/my-pc/MyXMLFile.xml"))
Şöyle de yapabiliriz.
InputStream xml = ...;
Validator validator = schema.newValidator();
validator.validate(new StreamSource(xml));
Eğer hata varsa exception atar.
Validator validator = schema.newValidator();
Source source = new StreamSource(myXmlFile);

try {
    validator.validate(source);
    return null;
}catch (SAXException ex) {
    String validationMessage = ex.getMessage();
    return validationMessage;
}