logo UJO Framework


Hledáte rychlou XML perzistenci?
Potřebujete předávat v kódu odkaz na metody JavaBean?
Tvoříte tenkého klienta?
Použijte UJO Framework!

UjoUml.png UJO Framework je Java knihovna, která poskytuje netradiční architekturu objektů odlišných od JavaBeans. Původní nápad vznikl jako hříčka s generickými datovými typy Java 5.0, postupem času se však ukázalo, že architektura má několik zajímavých vlastností. Současná verze frameworku nabízí: UJO je zkratka pro Unified Java Object a označuje takový objekt, který implementuje rozhraní Ujo. Objekt UJO si lze představit například jako mapu (objekt mapující hodnoty ke klíčům), ke které se přistupuje pomocí metod klíče. Klíč je zde tvořen implementací rozhraní UjoProperty obsahující (mimo jiné) dvě typově bezpečné metody: Na rozdíl od metod objektu JavaBean lze tyto klíče posílat jednoduše dalším objektům, příkladem využití může být seznam zobrazovaných sloupců tabulky poslaný do datového modelu typu TableModel, nebo odkazy k metodám beanu na JSP stránce. Jádrem projektu jsou tedy dvě rozhraní Ujo a UjoProperty, ke kterým jsou k dispozici tři abstraktní implementace: Inspirací pro rozvoj tohoto projektu byla architektura perzistentních objektů v projektu Cayenne (nástroj pro řešení ORM)
 
Více informací ...

Příklad použití:

Poznámka: česká verze tohoto dokumentu už nepopisuje nové vlastnosti UJO Framewokru implementované od verze 0.80. Pokud vás zajímají i tyto nové vlastnosti, přepněte se, prosím, na anglickou verzi.

Jak napíšeme třídu objektu UJO? Nejrychlejší cesta je využít nějakou abstraktní implementaci UJO z tohoto projektu, pomocí pár řádů kódu však můžeme vyrobit i implementaci vlastní. Příkladem může být implementace třídy Person, která obsahuje tři atributy a jednu metodu pro změnu hotovosti.
import org.ujoframework.implementation.map.*;
public class Person extends MapUjo {
    
  public static final MapProperty<Person, String > NAME = newProperty("Name", String.class);
  public static final MapProperty<Person, Boolean> MALE = newProperty("Male", Boolean.class);
  public static final MapProperty<Person, Double > CASH = newProperty("Cash", 0d);
    
  public void addCash(double cash) {
    double newCash = CASH.of(this) + cash;
    CASH.setValue(this, newCash);
  }
}
Pokračování ...

Referenční projekty:

Referenční implementací je Swingový projekt JWorkSheet, který vytvořil autor UJO Frameworku a který je zveřejněn pod otevřenou licencí na domovské stránce http://jworksheet.pponec.net/. Aplikace jWorkSheet slouží k měření vašeho času stráveného na projektech.
Na zdrojových kódech lze studovat využití perzistence UJO objektů stejně tak jako snadné propojení kolekce UJO objektů na grafickou komponentou JTable. K dispozici je API projektu ve formátu JavaDoc.

Vlastnosti aplikace JWorkSheet:
Projekt JWorkSheet je napsaný v Java 5.0, vývoj byl realizován v NetBeans IDE .

Licence:

Kód byl uvolněn pod licencí Apache License, Version 2.0.

Copyright 2007 Pavel Ponec Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Stahuj:

Zdrojové a binární kódy je možné stáhnout na SourceForge zde:

O autorovi:


PPone(c) 2007-2008

Valid XHTML 1.0 Strict