倭マン's BLOG

くだらない日々の日記書いてます。 たまにプログラミング関連の記事書いてます。 書いてます。

Java

QName を使った SAX イベント・ハンドラ (3) : 実装クラス

今回は、前回作成したの2つのインターフェースの実装クラス JDefaultHandler, JAttributesImpl クラスを作成します。JDefaultHandler クラス JDefaultHandler は org.xml.sax.helpers.DefaultHandler を拡張して作成します。 各メソッドの実装の概要は以下の…

QName を使った SAX イベント・ハンドラ (2) : インターフェース

今回は、前回示したクラス群の中の2つのインターフェース JContentHandler, JAttributes を作成します。JContentHandler インターフェース JContentHandler は org.xml.sax.ContentHandler を拡張して作成します。 また、JContentHandler には、javax.xml.na…

QName を使った SAX イベント・ハンドラ (1) : 概要

org.xml.sax.ContentHandler で要素に対する SAX イベントを扱うとき(つまり startElement() や endElement() を実装するとき)、引数に3つも文字列が定義されているので少々扱いにくくなっています。 また、属性を表すインターフェース org.xml.sax.Attrib…

システム・プロパティ

サンマイクロシステムズ (Sun Microsystems) の JDK に付属している JRE (バージョン 1.6.0_01)のシステム・プロパティ。 System.getProperties() によって取得。 OS は Windows XP SP2。 プロパティ名 プロパティ値 awt.toolkit sun.awt.windows.WToolkit…

リソースの読み込み

Java プログラムからリソース(ファイル)を読み込む方法を幾つか紹介。 以下で見る方法は、どれも java.io.InputStream を取得する方法ですが、どのフォルダを基点にするかが違います。 ここで見るのは次の3つです: ベース・フォルダ上のファイル ソースフ…

RELAX NG で妥当性検証 by Jing

今回は Jing を使って、RELAX NG による XML 文書の妥当性検証を行う方法を見ていきます。 Jing の JAR ファイル等はこちらからダウンロードできます。 また、Maven2 で依存性に付加したい場合は、次のような <dependency> 要素を設定してください: <dependency> <groupId>thaiopensource</groupId> <artifactId>jing</artifactId></dependency></dependency>…

ムリヤリ拡張 for 文を使う

Java 5 以降で Generics に対応していないライブラリを使用する際に、拡張 for 文を(無理矢理)使用する方法をご紹介。 堅牢性に重きを置くプロジェクトでは使わない方がよいかと思いますが。以下のサンプルでは、Element は「org.dom4j.Element」で、XML …

抽象クラスのコンストラクタのアクセス修飾子

抽象クラスのコンストラクタのアクセス修飾子は「public」でも「protected」でも可能ですが、「public」にしていても外部から呼び出すことは出来ないので(抽象クラスはインスタンス化できない)、「protected」 にしておきましょう。開発の際、使用している…

Java & XML

★メモリー上に展開しない API★ 以下の API はどちらも、XML 文書をメモリー上に展開しないので、軽快に動作します。 SAX (Simple API for XML) いわゆる PUSH 型の読み取り API。 XMLReader または SAXParser によって読み取りを開始すると、出現した要素や…

「Maven2 プロジェクトで commons-logging を使う」への追記

前回への追記。 Maven2 プロジェクトで、commons-logging も log4j も最新バージョンで使いたい!って方へ。(1) log4j.properties というプロパティ・ファイルを以下の内容で作成(log4j manual から拝借): # Set root logger level to DEBUG and its only…

Maven2 プロジェクトで commons-logging を使う

前回 commons-logging の基礎的な使い方を見ました。で、Maven2 プロジェクトで実際に使ってみました。 POM ファイルは以下の通り: <project> ... <dependencies> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.1</version> </dependency> </dependencies> </project> このプロジェクトで、次のようなテスト・…

commons-logging 基礎の基礎

commons-logging とは?commons-logging とは、Apache Jakarta Project で開発されているロギング・コンポーネントです。 実際には、commons-logging 自体がログを記録するわけではなく、ロギングのための汎用インターフェースを提供して、その処理を他の実…

java.text パッケージ 基礎の基礎

前々回、commons-beanutils を使って文字列をオブジェクトへ変換する方法を見ました。今回は、Java の標準 API にデフォルトで組み込まれていて、数値に対してこれと同様のことをするクラス NumberFormat を見ていきましょう*1。 これらは java.text パッケ…

Generics プログラミング・チップス

Java の Generics に関して、ほんのチョットだけコード量が減る書き方を紹介。前回出てきた ConvertUtils.convert() メソッドのように、「返り値のオブジェクトの型を指定する class オブジェクトをメソッドの引数として渡す」場合に使える方法です。新しい…

ConvertUtils 基礎の基礎

前回は commons-beanutils の基本的な使い方を見ました。 今回は、前回の最後の方に出てきたユーティリティ・クラス ConvertUtils のメソッド Object convert(String, Class) の振る舞いを見ていきます*1。このメソッドの使用目的は第1引数の文字列を第2引数…

commons-beanutils 基礎の基礎

前回は JavaBeans の定義と java.beans パッケージ内にある幾つかのクラスの使い方を解説しました。今回は Apache Jakarta プロジェクトで開発されている、 Bean の取り扱いを簡単にするライブラリ commons-beanutils の基本的な使い方を見ていきます*1。 以…

JavaBeans 基礎の基礎

JavaBeans とは? ★JavaBeans の定義★ JavaBeans とは Bean と呼ばれるオブジェクトの仕様*1です。 そして、Bean とは、概ね以下の3つの条件を満たす Java クラスのことです: ● 引数のないコンストラクタが定義されている。 ● プロパティに対して適切な命名…

JavaDoc もうチョット見易くならんかな…

Java に Generics 機能がサポートされたけど、ある程度長いタイプ・パラメータ宣言を書くと、生成された JavaDoc のパッケージ概要欄やメソッド概要欄に妙な改行がされて非常に見辛くなる。フォントサイズや色などのCSSで設定できる所なら、独自の設定ファイ…