Skip to content

Commit

Permalink
Merge pull request #72 from treblereel/development
Browse files Browse the repository at this point in the history
Development
  • Loading branch information
treblereel authored Oct 5, 2021
2 parents c30f6da + 0f4a1b8 commit fb3c63e
Show file tree
Hide file tree
Showing 322 changed files with 13,667 additions and 5,656 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright © 2020 Treblereel
* Copyright (C) 2021
*
* 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
Expand All @@ -12,23 +12,18 @@
* the License.
*/

package org.treblereel.injection.qualifiers;
package io.crysknife.annotation;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import javax.inject.Qualifier;

/**
* @author Dmitrii Tikhomirov Created by treblereel 4/13/19
* @author Dmitrii Tikhomirov Created by treblereel 9/30/21 TODO
*/
@Target({ElementType.TYPE, ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Qualifier
public @interface QualifierOne {
@Target(ElementType.TYPE)
public @interface CircularDependency {

}
78 changes: 78 additions & 0 deletions annotations/src/main/java/javax/enterprise/inject/Any.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
/*
* Copyright (C) 2010 Red Hat, Inc. and/or its affiliates.
*
* 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.
*/

package javax.enterprise.inject;

import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;

import javax.inject.Qualifier;

/**
* <p>
* The built-in qualifier type.
* </p>
*
* <p>
* Every bean has the qualifier <tt>&#064;Any</tt>, even if it does not explicitly declare this
* qualifier, except for the special {@link javax.enterprise.inject.New &#064;New qualified beans}.
* </p>
*
* <p>
* Every event has the qualifier <tt>&#064;Any</tt>, even if it was raised without explicitly
* declaration of this qualifier.
* </p>
*
* <p>
* The <tt>&#064;Any</tt> qualifier allows an injection point to refer to all beans or all events of
* a certain bean type.
* </p>
*
* <pre>
* &#064;Inject
* &#064;Any
* Instance&lt;PaymentProcessor&gt; anyPaymentProcessor;
* </pre>
*
* <pre>
* &#064;Inject
* &#064;Any
* Event&lt;User&gt; anyUserEvent;
* </pre>
*
* <pre>
* &#064;Inject
* &#064;Delegate
* &#064;Any
* Logger logger;
* </pre>
*
* @author Gavin King
* @author David Allen
*/

@Qualifier
@Retention(RUNTIME)
@Target({TYPE, METHOD, FIELD, PARAMETER})
@Documented
public @interface Any {

}
71 changes: 71 additions & 0 deletions annotations/src/main/java/javax/enterprise/inject/Specializes.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
/*
* JBoss, Home of Professional Open Source Copyright 2010, Red Hat, Inc., and individual
* contributors by the @authors tag. See the copyright.txt in the distribution for a full listing of
* individual contributors.
*
* 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.
*/

package javax.enterprise.inject;

import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;

/**
* <p>
* Indicates that a bean directly specializes another bean. May be applied to a bean class or
* producer method.
* </p>
*
* <p>
* If a bean directly specializes a second bean, it inherits:
* </p>
*
* <ul>
* <li>all qualifiers of the second bean, and</li>
* <li>the name, if any, of the second bean.</li>
* </ul>
*
* <p>
* If the second bean has a name, the bean may not declare a name using {@link javax.inject.Named
* &#064;Named}. Furthermore, the bean must have all the bean types of the second bean.
* </p>
*
* <ul>
* <li>If a bean class of a managed bean is annotated <tt>&#064;Specializes</tt> , then the bean
* class must directly extend the bean class of a second managed bean. Then the first managed bean
* directly specializes the second managed bean.</li>
*
* <li>If a bean class of a session bean is annotated <tt>&#064;Specializes</tt> , then the bean
* class must directly extend the bean class of a second session bean. Then the first session bean
* directly specializes the second session bean.</li>
*
* <li>If a producer method is annotated <tt>&#064;Specializes</tt>, then it must be non-static and
* directly override another producer method. Then the first producer method directly specializes
* the second producer method.</li>
* </ul>
*
* <p>
* If a bean is specialized by any enabled bean, the first bean is disabled.
* </p>
*
* @author Gavin King
* @author Pete Muir
*/

@Target({TYPE, METHOD})
@Retention(RUNTIME)
@Documented
public @interface Specializes {

}
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright © 2020 Treblereel
* Copyright (C) 2009 The JSR-330 Expert Group
*
* 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
Expand All @@ -12,23 +12,18 @@
* the License.
*/

package org.treblereel.produces.qualifier;
package javax.enterprise.inject;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import javax.inject.Qualifier;

/**
* @author Dmitrii Tikhomirov Created by treblereel 4/13/19
*/
@Target({ElementType.TYPE, ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD})
@Target({ElementType.FIELD, ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Qualifier
public @interface QualifierOne {
public @interface Typed {
Class<?>[] value() default {};

}
127 changes: 127 additions & 0 deletions bom/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>io.crysknife</groupId>
<artifactId>bom</artifactId>
<version>0.3-SNAPSHOT</version>
<packaging>pom</packaging>


<name>BOM (Bill Of Materials)</name>
<description>POC DI for GWT 3 or j2cl</description>
<url>https://github.com/treblereel</url>

<developers>
<developer>
<id>treblereel</id>
<name>Dmitrii Tikhomirov</name>
<email>[email protected]</email>
</developer>
</developers>

<licenses>
<license>
<name>Apache License Version 2.0</name>
<url>https://www.apache.org/licenses/LICENSE-2.0</url>
<distribution>repo</distribution>
</license>
</licenses>

<organization>
<name>Treblereel</name>
<url>https://github.com/treblereel</url>
</organization>

<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.crysknife</groupId>
<artifactId>internal-bom</artifactId>
<version>${project.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>

<dependency>
<groupId>io.crysknife</groupId>
<artifactId>crysknife-annotations</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
<groupId>io.crysknife</groupId>
<artifactId>crysknife-core</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
<groupId>io.crysknife</groupId>
<artifactId>crysknife-processor</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
<groupId>io.crysknife</groupId>
<artifactId>elemental2-generator</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.crysknife</groupId>
<artifactId>gwt-dom-generator</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
<groupId>io.crysknife</groupId>
<artifactId>databinding-api</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
<groupId>io.crysknife</groupId>
<artifactId>databinding-generator</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
<groupId>io.crysknife</groupId>
<artifactId>mutationobserver-api</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
<groupId>io.crysknife</groupId>
<artifactId>mutationobserver-generator</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
<groupId>io.crysknife</groupId>
<artifactId>navigation-api</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
<groupId>io.crysknife</groupId>
<artifactId>navigation-generator</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
<groupId>io.crysknife</groupId>
<artifactId>templates-api</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
<groupId>io.crysknife</groupId>
<artifactId>templates-generator</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</dependencyManagement>

</project>
Loading

0 comments on commit fb3c63e

Please sign in to comment.