Coder Social home page Coder Social logo

myconsciousness / zenna-db Goto Github PK

View Code? Open in Web Editor NEW
4.0 1.0 0.0 402 KB

Zenna DB is designed to be flexible enough to respond to modifications and to achieve this state with a small implementation. It is a framework that further develops the idea of Content Framework. Zenna is a name inspired by Zen Buddhism, a branch of Mahayana Buddhism that refers to a state of mind that is no longer agitated.

Home Page: https://myconsciousness.github.io/zenna-db/

License: Apache License 2.0

Java 100.00%
java zenna zenna-db db database nosql content framework ocp gradle

zenna-db's Introduction

Build Latest Version License
Java CI with Gradle

Zenna DB

Table of Contents

What is it?

Preparing...

Benefits

How To Use

1. Add the dependencies

Note:
Replace version you want to use. Check the latest Packages.
Please contact me for a token to download the package.

Maven

<dependency>
  <groupId>org.thinkit.zenna</groupId>
  <artifactId>zenna-db</artifactId>
  <version>v1.0.2</version>
</dependency>

<servers>
  <server>
    <id>github</id>
    <username>myConsciousness</username>
    <password>xxxxxxxxxxxxxxxxxx</password>
  </server>
</servers>

Gradle

repositories {
    maven {
        name = "GitHubPackages"
        url = uri("https://maven.pkg.github.com/myConsciousness/zenna-db")
        credentials {
          username = "myConsciousness"
          password = "xxxxxxxxxxxxxxxxxx"
        }
    }
}

dependencies {
    implementation 'org.thinkit.zenna:zenna-db:v1.0.2'
}

License

Copyright 2021 Kato Shinya.

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.

More Information

Zenna DB was designed and implemented by Kato Shinya, who works as a freelance developer.

Regardless of the means or content of communication, I would love to hear from you if you have any questions or concerns. I do not check my email box very often so a response may be delayed, anyway thank you for your interest!

zenna-db's People

Contributors

myconsciousness avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

zenna-db's Issues

各クラスのドキュメントを整備

Improve Documentation

1. Documentation details

各クラスのJavadocを整備する。

2. Why it is necessary

ドキュメントの品質向上。

3. How to improve

Javadocを各クラスに作成し、APIドキュメントを生成できるようにする。

4. References

コンテンツプロパティが存在しない場合にプロパティ値を取得しようとした場合

Improvement

1. Improvement details

現状コンテンツプロパティが存在しない場合にプロパティの値を取得しようとすると、
NullPointerException が必ず発生する。

これを PropertyNotFoundException のような具体的な例外に置き換えたい。

2. Why it is necessary

エラー情報の詳細化。

3. How to improve

PropertyNotFoundException のような具体的な例外オブジェクトを作成し、
ContentProperty クラスの以下メソッドにプロパティが存在しない場合の処理を加える。

    private String getProperty(@NonNull final ContentPropertyKey key) {

        final String propertyValue = this.properties.getProperty(key.getTag());

        if (propertyValue == null) {
            return "";
        }

        return propertyValue;
    }

4. References

抽象Mapperのインスタンス生成を修正

Improvement

1. Improvement details

現状抽象Mapper ContentMapper クラスのインスタンス生成時に
抽象Mapperを継承した具象Mapperクラスのインスタンスを取得しようとしているが、
Java言語の仕様および論理的に具象Mapperクラスのインスタンスが生成される前にそのインスタンスを取得することはできないため、
この具象Mapperクラスのインスタンスを loadContent メソッドを呼び出す際の引数として指定できるように修正する。

2. Why it is necessary

Java言語の仕様および論理的に具象Mapperクラスのインスタンスが生成される前にそのインスタンスを取得することはできないため。

3. How to improve

具象Mapperクラスのインスタンスを loadContent メソッドを呼び出す際の引数として指定できるように修正する。

4. References

各パッケージにpackage-infoを追加

Improvement

1. Improvement details

各パッケージに package-info.java を追加する。

2. Why it is necessary

ドキュメント整備。

3. How to improve

各パッケージに package-info.java を追加する。

4. References

結果型のフィールドにカタログを動的に設定

Add New Feature

1. Feature details

コンテンツの値をカタログへ動的に変換して、
カタログ型を持つ結果型のフィールドに設定できないか検討する。

2. Why it is necessary

型に関する機能改善。

3. How to implement

結果型の生成処理を調査する。

4. References

コンテンツオブジェクトのフィールドに任意の型を指定したい

Add New Feature

1. Feature details

現状コンテンツ情報を取得するロジックの関係上コンテンツオブジェクトのフィールドの型はStringのみとなっている。
これを改善し任意の型をフィールドに指定できないか検討する。

2. Why it is necessary

任意の型を指定できるようにしたい。

3. How to implement

コンテンツオブジェクトへの設定からではなくて、
コンテンツの取得方法から調査する必要がある。

4. References

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.