MCPcopy Index your code
hub / github.com/Stuart-campbell/RushOrm

github.com/Stuart-campbell/RushOrm @v1.3.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.3.0 ↗ · + Follow
393 symbols 705 edges 65 files 68 documented · 17%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Build Status Coverage Status Android Weekly Android Arsenal Join the chat at https://gitter.im/Stuart-campbell/RushOrm

RushOrm

Object-relational mapping for Android

RushOrm replaces the need for SQL by mapping java classes to SQL tables.


What is the aim?

The aim is to abstract away all SQLite interaction under a very simple interface to make object storage incredibly quick to implement.


What projects is it right for?

  • Projects with complex data structures
  • Projects that want to implement database storage in the minimum amount of time
  • Projects that talk to a rest api

Why was RushOrm written?

  • Complex relationships - RushObjects support Lists of other RushObjects
  • SQL free migration
  • Easily extendable
  • No dependencies
  • Support asynchronous call
  • Be fast through compound inserts and selects
  • Support importing and exporting data to and from JSON
  • Unique ids to support merging databases
  • Supports conflict resolution when importing data

While there are a number of other ORMs, the areas many seem to fall short is the support of 'one to many' relationships, migration and extensions. While claiming all the same basic feature of most other ORMs RushOrm supports 'List' properties without having to add the parent object to it's children. It also handles migrating the class structure without any SQL scripts being required by the developer. Finally it is designed with the understanding that not every situation can be anticipated so instead it can be easily customized.


For getting started see http://www.rushorm.com/


Rush jar can be downloaded from http://www.rushorm.com/download.html alternatively it can be added as below.

Make sure your project is using maven central by including this in your gradle file:

repositories {
   mavenCentral()
}

Add the dependency in your build file:

dependencies {
   compile 'co.uk.rushorm:rushandroid:1.3.0’
}

Licence Apache License, Version 2.0

Copyright (C) 2015 Stuart Campbell 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.

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Method 326
Class 66
Interface 1

Languages

Java100%

Modules by API surface

RushORM/rushandroid/src/androidTest/java/co/uk/rushorm/android/SearchTests.java55 symbols
RushORM/rushandroid/src/androidTest/java/co/uk/rushorm/android/SaveAndUpdateTest.java35 symbols
RushORM/rushandroid/src/androidTest/java/co/uk/rushorm/android/UpgradeTests.java31 symbols
RushORM/app/src/main/java/co/uk/rushexample/NavigationDrawerFragment.java22 symbols
RushORM/rushandroid/src/main/java/co/uk/rushorm/android/AndroidRushStatementRunner.java15 symbols
RushORM/rushandroid/src/androidTest/java/co/uk/rushorm/android/DeleteTests.java13 symbols
RushORM/rushandroid/src/androidTest/java/co/uk/rushorm/android/SerializationTests.java12 symbols
RushORM/rushandroid/src/androidTest/java/co/uk/rushorm/android/BugTests.java11 symbols
RushORM/rushandroid/src/main/java/co/uk/rushorm/android/AndroidInitializeConfig.java10 symbols
RushORM/rushandroid/src/androidTest/java/co/uk/rushorm/android/RushListFieldTests.java10 symbols
RushORM/rushandroid/src/main/java/co/uk/rushorm/android/AndroidRushConfig.java9 symbols
RushORM/rushandroid/src/androidTest/java/co/uk/rushorm/android/testobjects/Bug61Parent.java9 symbols

For agents

$ claude mcp add RushOrm \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page