Please see the file called LICENSE.
repositories { maven { url "https://gitlab.com/api/v4/projects/37512056/packages/maven" } } dependencies { implementation 'javasabr:rlib-common:9.10.0' implementation 'javasabr:rlib-fx:9.10.0' implementation 'javasabr:rlib-network:9.10.0' implementation 'javasabr:rlib-mail:9.10.0' implementation 'javasabr:rlib-testcontainers:9.10.0' }
<repositories> <repository> <id>gitlab-maven</id> <url>https://gitlab.com/api/v4/projects/37512056/packages/maven</url> </repository> </repositories> <dependency> <groupId>javasabr</groupId> <artifactId>rlib-common</artifactId> <version>9.10.0</version> </dependency> <dependency> <groupId>javasabr</groupId> <artifactId>rlib-fx</artifactId> <version>9.10.0</version> </dependency> <dependency> <groupId>javasabr</groupId> <artifactId>rlib-network</artifactId> <version>9.10.0</version> </dependency> <dependency> <groupId>javasabr</groupId> <artifactId>rlib-mail</artifactId> <version>9.10.0</version> </dependency> <dependency> <groupId>javasabr</groupId> <artifactId>rlib-testcontainers</artifactId> <version>9.10.0</version> </dependency>
var container = new FakeSMTPTestContainer() .withSmtpPassword("pwd") .withSmtpUser("test_user"); container.start(); container.waitForReadyState(); // sending emails to this server // checking API var count = container.getEmailCountFrom("from@test.com") // clearing API container.deleteEmails();
var scanner = ClassPathScannerFactory.newDefaultScanner(); scanner.setUseSystemClasspath(true); scanner.scan(); var implementations = scanner.findImplements(Collection.class); var inherited = scanner.findInherited(AbstractArray.class);
var javaSource = getClass().getResource("/java/source/TestCompileJavaSource.java"); var compiler = CompilerFactory.newDefaultCompiler(); var compiled = compiler.compile(javaSource.toURI()); var instance = ClassUtils.newInstance(compiled[0]); var method = instance.getClass().getMethod("makeString"); var result = method.invoke(instance);
var vars = VarTable.newInstance(); vars.set("string", "Hello"); vars.set("intArray", toIntegerArray(1, 2, 3, 5)); vars.set("floatStringArray", "1.5,4.2,5.5"); vars.set("stringEnum", "FLOAT"); vars.set("enum", ReferenceType.BYTE); var string = vars.getString("string"); var array = vars.getIntegerArray("intArray", ""); var floatStringArray = vars.getFloatArray("floatStringArray", ","); var stringEnum = vars.getEnum("stringEnum", ReferenceType.class); var anEnum = vars.getEnum("enum", ReferenceType.class); var unsafeGet = vars.get("enum");
var array = ArrayFactory.asArray(2, 5, 1, 7, 6, 8, 4); array.sort(Integer::compareTo); // performance operations var unsafe = array.asUnsafe(); // prepare the wrapped array to have the size unsafe.prepareForSize(10); unsafe.unsafeAdd(3); unsafe.unsafeAdd(9); var first = array.first(); var last = array.last(); // remove the element with saving ordering array.slowRemove(1); // remove the element without saving ordering array.fastRemove(1); // search API Integer searched = array.search(integer -> integer == 2); searched = array.search(2, (el, arg) -> el == arg); // foreach API array.forEach(5, (el, arg) -> System.out.println(el + arg)); array.forEach(5, 7, (el, firstArg, secondArg) -> System.out.println(el + firstArg + secondArg)); // Stream Collector Array<Integer> result = IntStream.range(0, 1000) .mapToObj(value -> value) .collect(ArrayCollectors.toArray(Integer.class));
var array = ConcurrentArray.<Integer>of(Integer.class); var writeStamp = array.writeLock(); try { array.addAll(ArrayFactory.toArray(9, 8, 7, 6, 5, 4, 3)); array.sort(Integer::compareTo); } finally { array.writeUnlock(writeStamp); } var readStamp = array.readLock(); try { var first = array.first(); var last = array.last(); } finally { array.readUnlock(readStamp); } var last = array.getInReadLock(Array::last); var result = array.getInReadLock(last, (arr, target) -> arr.search(target, Integer::equals)); array.runInWriteLock(result + 1, Collection::add); // Stream Collector ConcurrentArray<Integer> result = IntStream.range(0, 1000) .parallel() .mapToObj(value -> value) .collect(ArrayCollectors.toConcurrentArray(Integer.class));
// getting logger by class/name var logger = LoggerManager.getLogger(getClass()); // global enable/disable debug level LoggerLevel.DEBUG.setEnabled(true); logger.debug("Simple message"); logger.debug(5, (val) -> "Lazy message with 5: " + val); logger.debug(5, 10D, (val1, val2) -> "Lazy message with 5: " + val1 + " and 10: " + val2); logger.debug("", "Message with a string owner."); logger.debug("", 5, (val) -> "Lazy message with 5: " + val); logger.debug("", 5, 10D, (val1, val2) -> "Lazy message with 5: " + val1 + " and 10: " + val2); // global disable debug level LoggerLevel.DEBUG.setEnabled(false); // local enable debug level only for this logger instance logger.setEnabled(LoggerLevel.DEBUG, true); // show debug message logger.debug("Showed");
var config = MailSenderConfig.builder() .from("from@test.com") .host("smtp.test.com") .port(smtpPort) .password(smtpPassword) .username(smtpUser) .useAuth(true) .enableTtls(true) .sslHost("smtp.test.com") .build(); var javaxConfig = JavaxMailSender.JavaxMailSenderConfig.builder() .executorKeepAlive(120) .executorMaxThreads(20) .executorMinThreads(1) .build(); var sender = new JavaxMailSender(config, javaxConfig); sender.send("to@test.com", "Test Subject", "Content"); sender.sendAsync("to@test.com", "Test Subject", "Content") .thenAccept(aVoid -> System.out.println("done!"));
var serverNetwork = NetworkFactory.newStringDataServerNetwork(); var serverAddress = serverNetwork.start(); serverNetwork.accepted() .flatMap(Connection::receivedEvents) .subscribe(event -> { var message = event.packet.getData(); System.out.println("Received from client: " + message); event.connection.send(new StringWritablePacket("Echo: " + message)); }); var clientNetwork = newStringDataClientNetwork(); clientNetwork.connected(serverAddress) .doOnNext(connection -> IntStream.range(10, 100) .forEach(length -> connection.send(new StringWritablePacket(StringUtils.generate(length))))) .flatMapMany(Connection::receivedEvents) .subscribe(event -> System.out.println("Received from server: " + event.packet.getData()));