The main project on the cufy organization. It is written in java. It tries to compete with other java frameworks. Cufy framework focuses on inheritance and reflection, making it more reliable in big complex projects. The framework still not completely ready to be used in big projects since it still in the beta stage. Cufy Framework have been divided onto different packages, each package limited to access specific packages only and each package have different purpose.
NOTE: this site is for older version of the framework, some classes and futures changed in the newer version
A package of utilities used in the framework. The utilities can be used anywhere, and it is not designed to work only on the framework. It has been designed help to the syntax user and the reflection user. It has a variant utils such as utils for arrays, collections, readers, reflection and many more.
A package with classes that treated as if it is a part of the language. Such Classes are universal and have no main purpose. Deep in the code, It so helpful. Specially if it designed that anyone is relying on them.
Annotations are a big part of the java language. It makes the code easier yet powerful. But annotations has so many limitations and can’t specify that much data without base annotations to depend on. This package provides base annotations that have so many uses.
The tokens are instances that holds information about an operation. Such as the type of the operation, the type of the data, the input, the output, and the depth of that operation.
Java is a type sensitive language. In complex projects, Sometimes you don’t want that sensitivity and sometimes you want to pass a value, and you want the receiver to convert it to the compatible type. Or you maybe the receiver and you want any value to be converted to a specific type. All of that is possible with the convert package.
Text is a huge part of any programming language. A lot of data stored as text. But text need to be parsed to use it. And data needs to be formatted to treat it as text. This package provides abstracts for how the parsing and formatting process should be performed.
JSON is a lightweight data-interchange format. It is easy for humans to read and write. It is easy for machines to parse and generate. And this package provides it with respect to the abstraction of the package Text.
Objects have fields, but the fields can’t be accessed easily when the class of the object unknown (without reflection). The bean standards bypass that by treating the object as a map, and the fields of that object will work as the entries of the map, keeping the reflection part hidden from the user.
When it comes to concurrent actions. Complexity is all over the place. Using instances that manages those concurrent actions is the solution. Those utils helps to deal with concurrent actions and infinite loops and many other concurrent actions. The whole package depends on the logic rather than the timing.
Input and Output ports is the purpose of computers. Meanwhile, It needs protocols and standards to be able to use it everywhere with the same code. This package provides utilities to deal with those protocols and standards more easily.