Weld SVN: r5419 - in core/trunk/tests/src/test/java/org/jboss/weld/tests: activities/child and 4 other directories.
by weld-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2010-01-11 15:00:54 -0500 (Mon, 11 Jan 2010)
New Revision: 5419
Modified:
core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/ActivitiesTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/child/SameBeanTypeInChildActivityTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/annotatedType/decoration/MockAnnotated.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/beanManager/serializability/ManagerTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/custom/CustomDecorator.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/LookupInstanceTest.java
Log:
Oops
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/ActivitiesTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/ActivitiesTest.java 2010-01-11 19:46:57 UTC (rev 5418)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/ActivitiesTest.java 2010-01-11 20:00:54 UTC (rev 5419)
@@ -35,13 +35,8 @@
public class ActivitiesTest extends AbstractWeldTest
{
- private static final Set<Annotation> DEFAULT_BINDINGS = new HashSet<Annotation>();
+ private static final Set<Annotation> DEFAULT_QUALIFIERS = Collections.<Annotation>singleton(DefaultLiteral.INSTANCE);
- static
- {
- DEFAULT_BINDINGS.add(new DefaultLiteral());
- }
-
private Bean<?> createDummyBean(BeanManager beanManager, final Type injectionPointType)
{
final Set<InjectionPoint> injectionPoints = new HashSet<InjectionPoint>();
@@ -118,7 +113,7 @@
public Set<Annotation> getQualifiers()
{
- return DEFAULT_BINDINGS;
+ return DEFAULT_QUALIFIERS;
}
public Member getMember()
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/child/SameBeanTypeInChildActivityTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/child/SameBeanTypeInChildActivityTest.java 2010-01-11 19:46:57 UTC (rev 5418)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/child/SameBeanTypeInChildActivityTest.java 2010-01-11 20:00:54 UTC (rev 5419)
@@ -28,13 +28,8 @@
@Artifact
public class SameBeanTypeInChildActivityTest extends AbstractWeldTest
{
- private static final Set<Annotation> DEFAULT_BINDINGS = new HashSet<Annotation>();
+ private static final Set<Annotation> DEFAULT_QUALIFIERS = Collections.<Annotation>singleton(DefaultLiteral.INSTANCE);
- static
- {
- DEFAULT_BINDINGS.add(new DefaultLiteral());
- }
-
private Bean<?> createDummyBean(BeanManager beanManager)
{
final Set<InjectionPoint> injectionPoints = new HashSet<InjectionPoint>();
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/annotatedType/decoration/MockAnnotated.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/annotatedType/decoration/MockAnnotated.java 2010-01-11 19:46:57 UTC (rev 5418)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/annotatedType/decoration/MockAnnotated.java 2010-01-11 20:00:54 UTC (rev 5419)
@@ -27,10 +27,9 @@
import java.util.Set;
import javax.enterprise.inject.spi.Annotated;
+import javax.enterprise.util.AnnotationLiteral;
import javax.inject.Inject;
-import org.jboss.weld.literal.InjectLiteral;
-
/**
*
* @author <a href="kabir.khan(a)jboss.com">Kabir Khan</a>
@@ -38,7 +37,14 @@
*/
public class MockAnnotated implements Annotated
{
- private final static Inject INJECT = new InjectLiteral();
+
+ private static class InjectLiteral extends AnnotationLiteral<Inject> implements Inject
+ {
+
+ public static final Inject INSTANCE = new InjectLiteral();
+
+ }
+
private Annotated delegate;
public MockAnnotated(Annotated delegate)
@@ -65,14 +71,14 @@
{
if (annotationType == Inject.class)
{
- return (T)INJECT;
+ return (T) InjectLiteral.INSTANCE;
}
return null;
}
public Set<Annotation> getAnnotations()
{
- return Collections.singleton((Annotation)INJECT);
+ return Collections.singleton((Annotation) InjectLiteral.INSTANCE);
}
public boolean isAnnotationPresent(Class<? extends Annotation> annotationType)
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/beanManager/serializability/ManagerTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/beanManager/serializability/ManagerTest.java 2010-01-11 19:46:57 UTC (rev 5418)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/beanManager/serializability/ManagerTest.java 2010-01-11 20:00:54 UTC (rev 5419)
@@ -23,13 +23,8 @@
public class ManagerTest extends AbstractWeldTest
{
- private static final Set<Annotation> DEFAULT_BINDINGS = new HashSet<Annotation>();
+ private static final Set<Annotation> DEFAULT_QUALIFIERS = Collections.<Annotation>singleton(DefaultLiteral.INSTANCE);
- static
- {
- DEFAULT_BINDINGS.add(new DefaultLiteral());
- }
-
private static interface Dummy {}
private static class DummyBean implements Bean<Dummy>
@@ -45,7 +40,7 @@
public Set<Annotation> getQualifiers()
{
- return DEFAULT_BINDINGS;
+ return DEFAULT_QUALIFIERS;
}
public Set<InjectionPoint> getInjectionPoints()
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/custom/CustomDecorator.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/custom/CustomDecorator.java 2010-01-11 19:46:57 UTC (rev 5418)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/custom/CustomDecorator.java 2010-01-11 20:00:54 UTC (rev 5419)
@@ -145,7 +145,7 @@
public Set<Annotation> getQualifiers()
{
- return Collections.<Annotation>singleton(new DefaultLiteral());
+ return Collections.<Annotation>singleton(DefaultLiteral.INSTANCE);
}
public Bean<?> getBean()
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/LookupInstanceTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/LookupInstanceTest.java 2010-01-11 19:46:57 UTC (rev 5418)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/LookupInstanceTest.java 2010-01-11 20:00:54 UTC (rev 5419)
@@ -18,7 +18,7 @@
@Test
public void testLookupInstance() throws Exception
{
- assert createContextualInstance(new TypeLiteral<Instance<List<?>>>(){}.getRawType(), new DefaultLiteral()) == null;
+ assert createContextualInstance(new TypeLiteral<Instance<List<?>>>(){}.getRawType(), DefaultLiteral.INSTANCE) == null;
}
}
14 years, 3 months
Weld SVN: r5418 - doc/trunk/reference/pt-BR.
by weld-commits@lists.jboss.org
Author: brunolmfg
Date: 2010-01-11 14:46:57 -0500 (Mon, 11 Jan 2010)
New Revision: 5418
Modified:
doc/trunk/reference/pt-BR/beans.po
Log:
WELD-17: Translated one more section in chapter about beans.
Modified: doc/trunk/reference/pt-BR/beans.po
===================================================================
--- doc/trunk/reference/pt-BR/beans.po 2010-01-11 19:07:10 UTC (rev 5417)
+++ doc/trunk/reference/pt-BR/beans.po 2010-01-11 19:46:57 UTC (rev 5418)
@@ -6,7 +6,7 @@
"Project-Id-Version: Weld_-_JSR-299_Reference_Implementation VERSION\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2010-01-06 12:17+0000\n"
-"PO-Revision-Date: 2010-01-07 14:27-0300\n"
+"PO-Revision-Date: 2010-01-11 17:41-0300\n"
"Last-Translator: Bruno Leonardo Gonçalves <brunolmfg(a)gmail.com>\n"
"Language-Team: none\n"
"MIME-Version: 1.0\n"
@@ -1008,7 +1008,7 @@
#: beans.xml:419
#, no-c-format
msgid "What kinds of classes are beans?"
-msgstr ""
+msgstr "Quais categorias de classes são beans?"
#. Tag: para
#: beans.xml:421
@@ -1018,12 +1018,15 @@
"that the whole story? Actually, it's just the beginning. Let's explore the "
"various kinds of beans that CDI implementations must support out-of-the-box."
msgstr ""
+"Nós já vimos dois tipos de beans: JavaBeans e EJB session beans. Esta é toda "
+"a história? Na verdade, é apenas o começo. Vamos explorar as várias "
+"categorias de beans que implementações CDI devem suportar sem modificações."
#. Tag: title
#: beans.xml:428
#, no-c-format
msgid "Managed beans"
-msgstr ""
+msgstr "Managed beans"
#. Tag: para
#: beans.xml:430
@@ -1036,18 +1039,25 @@
"the specification, the CDI container treats any class that satisfies the "
"following conditions as a managed bean:"
msgstr ""
+"Um managed bean é uma classe Java. O ciclo de vida básico e a semântica de "
+"um managed bean são definidos pelo especificação de Managed Beans. Você pode "
+"explicitamente declarar um managed bean anotando a classe do bean com "
+"<literal>@ManagedBean</literal>, mas em CDI você não precisa disto. De "
+"acordo com a especificação, o contêiner CDI trata qualquer classe que "
+"satisfaz as seguintes condições como um managed bean:"
#. Tag: para
#: beans.xml:441
#, no-c-format
msgid "It is not a non-static inner class."
-msgstr ""
+msgstr "Ela não é uma classe interna não-estática."
#. Tag: para
#: beans.xml:444
#, no-c-format
msgid "It is a concrete class, or is annotated <literal>@Decorator</literal>."
msgstr ""
+"Ela é uma classe concreta, ou é anotada com <literal>@Decorator</literal>."
#. Tag: para
#: beans.xml:447
@@ -1056,6 +1066,8 @@
"It is not annotated with an EJB component-defining annotation or declared as "
"an EJB bean class in <literal>ejb-jar.xml</literal>."
msgstr ""
+"Ela não é anotada com uma anotação de definição de componente EJB ou "
+"declarada como classe de bean em <literal>ejb-jar.xml</literal>."
#. Tag: para
#: beans.xml:453
@@ -1064,24 +1076,25 @@
"It does not implement <literal>javax.enterprise.inject.spi.Extension</"
"literal>."
msgstr ""
+"Ela não implementa <literal>javax.enterprise.inject.spi.Extension</literal>."
#. Tag: para
#: beans.xml:456
#, no-c-format
msgid "It has an appropriate constructor—either:"
-msgstr ""
+msgstr "Ela tem um construtor apropriado—ou seja:"
#. Tag: para
#: beans.xml:461
#, no-c-format
msgid "the class has a constructor with no parameters, or"
-msgstr ""
+msgstr "a classe possui um construtor sem parâmetros, ou"
#. Tag: para
#: beans.xml:464
#, no-c-format
msgid "the class declares a constructor annotated <literal>@Inject</literal>."
-msgstr ""
+msgstr "a classe declara um construtor anotado com <literal>@Inject</literal>."
#. Tag: para
#: beans.xml:472
@@ -1091,6 +1104,9 @@
"class, every superclass and all interfaces it implements directly or "
"indirectly."
msgstr ""
+"O conjunto de restrições de tipos de bean para um managed bean contém a "
+"classe do bean, qualquer superclasse e todas as interfaces que ele "
+"implementa diretamente ou indiretamente."
#. Tag: para
#: beans.xml:475
@@ -1099,6 +1115,8 @@
"If a managed bean has a public field, it must have the default scope "
"<literal>@Dependent</literal>."
msgstr ""
+"Se um managed bean possui um campo público, ele deve ter o escopo padrão "
+"<literal>@Dependent</literal>."
#. Tag: para
#: beans.xml:477
@@ -1107,6 +1125,8 @@
"Managed beans support the <literal>@PostConstruct</literal> and "
"<literal>@PreDestroy</literal> lifecycle callbacks."
msgstr ""
+"Managed beans suportam as chamadas <literal>@PostConstruct</literal> e "
+"<literal>@PreDestroy</literal> de seu ciclo de vida."
#. Tag: para
#: beans.xml:480
@@ -1117,12 +1137,16 @@
"services, the CDI specification considers them to be a different kind of "
"bean."
msgstr ""
+"Session beans também são, tecnicamente, managed beans. No entanto, uma vez "
+"que eles possuem seu próprio e específico ciclo de vida e tiram vantagem de "
+"serviços corporativos adicionais, a especificação CDI considera que eles "
+"fazem parte de uma categoria diferente de beans."
#. Tag: title
#: beans.xml:489
#, no-c-format
msgid "Session beans"
-msgstr ""
+msgstr "Session beans"
#. Tag: para
#: beans.xml:491
@@ -1136,6 +1160,13 @@
"managed bean, have a managed bean observe an event raised by a session bean, "
"and so on."
msgstr ""
+"Session beans pertencem à especificação EJB. Eles possuem um ciclo de vida "
+"específico, gerenciamento de estado e o modelo de concorrência é diferente "
+"de outros beans geernciados e objetos Java não-gerenciados. Mas session "
+"beans participam em CDI apenas como qualquer outro bean. Você pode injetar "
+"um session bean dentro de outro session bean, um managed bean dentro de um "
+"session bean, um session bean dentro de um managed bean, ter um managed bean "
+"observando um evento disparado por um session bean, e assim por diante."
#. Tag: para
#: beans.xml:500
@@ -1148,6 +1179,12 @@
"session or message-driven bean, even those which are not contextual "
"instances."
msgstr ""
+"Os massage-driven beans e entity beans são por natureza objetos não-"
+"contextuais e não podem ser injetados dentro de outros objetos. No entanto, "
+"message-driven beans podem tirar vantagem de algumas funcionadades CDI, como "
+"injeção de dependência, interceptadores e decoradores. Na verdade, CDI "
+"realizará injeção dentro de qualquer session bean ou message-driven bean, "
+"mesmo aqueles que não são instâncias contextuais."
#. Tag: para
#: beans.xml:508
@@ -1160,6 +1197,13 @@
"is a bean type of every session bean. But remote interfaces are "
"<emphasis>not</emphasis> included in the set of bean types."
msgstr ""
+"O conjunto irrestrito de tipos de bean para um session bean contém todas as "
+"interfaces locais do bean e suas superinterfaces. Se o session bean possui "
+"uma classe de bean de visão local, o conjunto irrestrito de tipos de bean "
+"contém a classe de bean e todas as superclasses. Além disso, <literal>java."
+"lang.Object</literal> é um tipo de bean de todo session bean. Porém, "
+"interfaces remotas <emphasis>não</emphasis> são incluídas no conjunto de "
+"tipos de bean."
#. Tag: para
#: beans.xml:516
@@ -1171,6 +1215,11 @@
"or <literal>@Singleton</literal> declaration. On the other hand, a stateful "
"session bean may have any scope."
msgstr ""
+"Não existe razão alguma para declarar explicitamente o escopo de um "
+"stateless session bean ou singleton session bean. O contêiner EJB controla o "
+"ciclo de vida destes beans, de acordo com a semântica da declaração "
+"<literal>@Stateless</literal> ou <literal>@Singleton</literal>. Por outro "
+"lado, um stateful session bean pode possuir qualquer escopo."
#. Tag: para
#: beans.xml:520
@@ -1184,6 +1233,13 @@
"<literal>@Dependent</literal>. For beans with other scopes, the application "
"must let the container destroy the bean."
msgstr ""
+"Stateful session beans podem definir um <emphasis>método de remoção</"
+"emphasis>, anotado com <literal>@Remove</literal>, que é utilizado pela "
+"aplicação para indicar que uma instância deve ser destruída. No entato, para "
+"uma instância contextual do bean—uma instância sob o controle de "
+"CDI—este método só pode ser chamado pela aplicação se o bean possuir o "
+"escopo <literal>@Dependent</literal>. Para beans com outros escopos, a "
+"aplicação deve deixar o contêiner destruir o bean."
#. Tag: para
#: beans.xml:528
@@ -1192,18 +1248,21 @@
"So, when should we use a session bean instead of a plain managed bean? "
"Whenever we need the advanced enterprise services offered by EJB, such as:"
msgstr ""
+"Então, quando devemos usar um session bean em vez de um simples managed "
+"bean? Sempre que precisar dos serviços corporativos avançados oferecidos por "
+"EJB, tais como:"
#. Tag: para
#: beans.xml:535
#, no-c-format
msgid "method-level transaction management and security,"
-msgstr ""
+msgstr "gerenciamento de transação e segurança em nível de método,"
#. Tag: para
#: beans.xml:538
#, no-c-format
msgid "concurrency management,"
-msgstr ""
+msgstr "gerenciamento de concorrência,"
#. Tag: para
#: beans.xml:541
@@ -1212,18 +1271,20 @@
"instance-level passivation for stateful session beans and instance-pooling "
"for stateless session beans,"
msgstr ""
+"passivação em nível de instância para stateful session bean e pooling de "
+"instâncias para stateless session beans,"
#. Tag: para
#: beans.xml:545
#, no-c-format
msgid "remote or web service invocation, or"
-msgstr ""
+msgstr "invocação remota ou de serviço web, ou"
#. Tag: para
#: beans.xml:548
#, no-c-format
msgid "timers and asynchronous methods,"
-msgstr ""
+msgstr "temporizadores e métodos assíncronos."
#. Tag: para
#: beans.xml:552
@@ -1232,6 +1293,8 @@
"When we don't need any of these things, an ordinary managed bean will serve "
"just fine."
msgstr ""
+"Quando não precisamos de nenhuma dessas coisas, um managed bean comum "
+"servirá muito bem."
#. Tag: para
#: beans.xml:554
@@ -1242,6 +1305,11 @@
"access. Therefore, the concurrency management provided by EJB 3.1 is "
"especially useful. Most session and application scoped beans should be EJBs."
msgstr ""
+"Muitos beans (incluindo qualquer bean <literal>@SessionScoped</literal> ou "
+"<literal>@ApplicationScoped</literal>) estão disponíveis para acesso "
+"concorrente. Portanto, o gerenciamento de concorrência oferecido por EJB 3.1 "
+"é especialmente útil. A maioria dos beans com escopo de sessão e aplicação "
+"devem ser EJBs."
#. Tag: para
#: beans.xml:560
@@ -1252,6 +1320,10 @@
"by the EJB stateless/stateful/singleton model, with its support for "
"passivation and instance pooling."
msgstr ""
+"Os beans que mantêm referências a recursos muito pesados, ou tiram muito "
+"proveito do estado interno do avançado ciclo de vida gerenciado pelo "
+"contêiner, definido pelo modelo stateless/stateful/singleton de EJB, com seu "
+"suporte a passivação e pooling de instâncias."
#. Tag: para
#: beans.xml:566
@@ -1261,6 +1333,9 @@
"method-level security, timers, remote methods or asynchronous methods are "
"needed."
msgstr ""
+"Finalmente, normalmente é óbvio quando gerenciamento de transação a nível de "
+"método, segurança a nível de método, temporizadores, métodos remotos ou "
+"métodos assíncronos são utilizados."
#. Tag: para
#: beans.xml:571
@@ -1274,6 +1349,13 @@
"annotations: <literal>@Stateless</literal>, <literal>@Stateful</literal> or "
"<literal>@Singleton</literal>."
msgstr ""
+"O ponto que estamos tentando determinar é: usar um session bean quando você "
+"precisar dos serviços que ele oferece, não apenas porque você quer usar "
+"injeção de dependência, gerenciamento de ciclo de vida, ou interceptadores. "
+"Java EE 6 fornece um modelo de programação graduado. É normalmente fácil "
+"iniciar com um managed bean habitual e, posteriormente, transformá-lo em um "
+"EJB apenas adicionando uma das seguintes anotações: <literal>@Stateless</"
+"literal>, <literal>@Stateful</literal> ou <literal>@Singleton</literal>."
#. Tag: para
#: beans.xml:579
@@ -1287,12 +1369,20 @@
"of obfuscation. And as a general principle, you should be skeptical of folks "
"who use vaguely defined terminology like \"heavyweight\"."
msgstr ""
+"Por outro lado, não tenha medo de usar session beans apenas porque você "
+"ouviu seus amigos dizer que eles são \"pesados\". Não é nada mais do que "
+"superstição pensar que alguma coisa é \"mais pesada\" apenas porque é "
+"hospedada nativamente dentro do contêiner Java EE, em vez de um contêiner "
+"proprietário de beans ou um framework de injeção de dependência que executa "
+"como uma camada adicional de ofuscação. E como um princípio geral, você deve "
+"desconfiar de pessoas que usam uma terminologia vagamente definida, como "
+"\"pesado\"."
#. Tag: title
#: beans.xml:590
#, no-c-format
msgid "Producer methods"
-msgstr ""
+msgstr "Métodos produtores"
#. Tag: para
#: beans.xml:592
@@ -1305,6 +1395,13 @@
"need to inject an object that is obtained by querying a service or "
"transactional resource, for example by executing a JPA query?"
msgstr ""
+"Nem tudo que precisa ser injetado pode ser resumido a uma classe de bean "
+"sendo instanciada pelo contêiner usando <literal>new</literal>. Existe uma "
+"abundância de casos onde precisamos de controle adicional. E se precisamos "
+"decidir em tempo de execução qual implementação de um dado tipo deve ser "
+"instanciado e injetado? E se precisamos injetar um objeto que é obtido ao "
+"consultar um serviço ou um recurso transacional, por exemplo, executando uma "
+"consulta JPA?"
#. Tag: para
#: beans.xml:600
@@ -1316,6 +1413,11 @@
"instance exists in the specified context. A producer method lets the "
"application take full control of the bean instantiation process."
msgstr ""
+"Um <emphasis>método produtor</emphasis> é um método que age como uma fonte "
+"de instâncias de bean. A própria declaração do método descreve o bean e o "
+"contêiner invoca o método para obter uma instância do bean quando nenhuma "
+"instância existe no contexto especificado. Um método produtor permite que a "
+"aplicação tome o controle total do processo de instanciação do bean."
#. Tag: para
#: beans.xml:607
@@ -1324,6 +1426,8 @@
"A producer method is declared by annotating a method of a bean class with "
"the <literal>@Produces</literal> annotation."
msgstr ""
+"Um método produtor é declarado anotando um método de uma classe de bean com "
+"a anotação <literal>@Produces</literal>."
#. Tag: programlisting
#: beans.xml:612
@@ -1365,6 +1469,16 @@
"according to the JavaBeans property name convention. Now we can get a random "
"number anywhere:"
msgstr ""
+"Não podemos escrever uma classe de bean que é ela própria um número "
+"aleatório. Mas podemos certamente escrever um método que retorna um número "
+"aleatório. Ao tornar o método um método produtor, permitimos que o valor de "
+"retorno do método—neste caso um <literal>Integer</literal>—seja "
+"injetado. Podemos até mesmo especificar um qualificador—neste caso "
+"<literal>@Random</literal>, um escopo—que neste caso é por padrão "
+"<literal>@Dependent</literal>, e um nome EL—que neste caso é por "
+"padrão <literal>randomNumber</literal> de acordo com a convenção JavaBeans "
+"para nome de propriedades. Agora podemos obter um número aleatório em "
+"qualquer lugar:"
#. Tag: programlisting
#: beans.xml:623
@@ -1376,7 +1490,7 @@
#: beans.xml:625
#, no-c-format
msgid "Even in a Unified EL expression:"
-msgstr ""
+msgstr "Até mesmo em uma expressão Unified EL:"
#. Tag: programlisting
#: beans.xml:629
@@ -1393,12 +1507,17 @@
"the bean is a session bean, the producer method must be either a business "
"method of the EJB or a static method of the bean class."
msgstr ""
+"Um método produtor deve ser um método não-abstrato de uma classe de managed "
+"bean ou de uma classe de session bean. Um método produtor pode ser estático "
+"ou não-estático. Se o bean é um session bean, o método produtor deve ser um "
+"método de negócio do EJB ou um método estático da classe do bean."
#. Tag: para
#: beans.xml:637
#, no-c-format
msgid "The bean types of a producer method depend upon the method return type:"
msgstr ""
+"Os tipos de bean de um método produtor depende do tipo de retorno do método:"
#. Tag: para
#: beans.xml:643
@@ -1408,6 +1527,9 @@
"contains the return type, all interfaces it extends directly or indirectly "
"and <literal>java.lang.Object</literal>."
msgstr ""
+"Se o tipo de retorno é uma interface, o conjunto ilimitado de tipos de bean "
+"contém o tipo de retorno, todas as interfaces estendidas direta ou "
+"indiretamente e <literal>java.lang.Object</literal>."
#. Tag: para
#: beans.xml:649
@@ -1417,6 +1539,9 @@
"of bean types contains exactly two types: the method return type and "
"<literal>java.lang.Object</literal>."
msgstr ""
+"Se um tipo tipo de retorno é primitivo ou é um tipo de array Java, o "
+"conjunto ilimitado de tipos de bean contém exatamente dois tipos: o tipo de "
+"retorno do método e <literal>java.lang.Object</literal>."
#. Tag: para
#: beans.xml:655
@@ -1426,6 +1551,9 @@
"the return type, every superclass and all interfaces it implements directly "
"or indirectly."
msgstr ""
+"Se o tipo de retorno é uma classe, o conjunto ilimitado de tipos de bean "
+"contém o tipo de retorno, todas superclasses e todas as interfaces "
+"implementadas direta ou indiretamente."
#. Tag: para
#: beans.xml:662
@@ -1435,6 +1563,9 @@
"bean that satisfies the type and qualifiers of each parameter and pass it to "
"the method automatically—another form of dependency injection."
msgstr ""
+"Se o método produtor possuir parâmetros, o contêiner buscará por um bean que "
+"satisfaça o tipo e os qualificadores de cada parâmetro e os passará para o "
+"método automaticamente—uma outra forma de injeção de dependência."
#. Tag: programlisting
#: beans.xml:668
@@ -1455,12 +1586,14 @@
"We'll talk much more about producer methods in <xref linkend="
"\"producermethods\"/>."
msgstr ""
+"Falaremos mais sobre métodos produtores no <xref linkend=\"producermethods\"/"
+">."
#. Tag: title
#: beans.xml:675
#, no-c-format
msgid "Producer fields"
-msgstr ""
+msgstr "Campos produtores"
#. Tag: para
#: beans.xml:677
@@ -1471,6 +1604,10 @@
"with the <literal>@Produces</literal> annotation—the same annotation "
"used for producer methods."
msgstr ""
+"Um <emphasis>campo produtor</emphasis> é uma alternativa mais simples para "
+"um método produtor. Um campo produtor é declarado ao anotar um campo de uma "
+"classe de bean com a anotação <literal>@Produces</literal>—a mesma "
+"anotação usada pelos métodos produtores."
#. Tag: programlisting
#: beans.xml:683
@@ -1493,6 +1630,8 @@
"The rules for determining the bean types of a producer field parallel the "
"rules for producer methods."
msgstr ""
+"As regras para determinação dos tipos de bean de um campo produtor "
+"assemelham-se às regras para métodos produtores."
#. Tag: para
#: beans.xml:689
@@ -1505,6 +1644,12 @@
"linkend=\"resources\"/>. Because we can't wait to get to work on some "
"examples."
msgstr ""
+"Um campo produtor é realmente apenas um atalho que nos permite evitar "
+"escrever um método getter sem utilidade. No entanto, além da conveniência, "
+"campos produtores servem um propósito específico como um adaptador para "
+"injeção no ambiente de componentes Java EE, mas para aprender mais sobre "
+"isto, você terá que aguardar até o <xref linkend=\"resources\"/>. Porque não "
+"podemos esperar para começar a trabalhar em alguns exemplos."
#. Tag: title
#: beans.xml:701
14 years, 3 months
Weld SVN: r5417 - in core/trunk/impl/src/main/java/org/jboss/weld: bean/builtin and 13 other directories.
by weld-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2010-01-11 14:07:10 -0500 (Mon, 11 Jan 2010)
New Revision: 5417
Added:
core/trunk/impl/src/main/java/org/jboss/weld/literal/QualifierLiteral.java
core/trunk/impl/src/main/java/org/jboss/weld/util/collections/ArrayListSupplier.java
core/trunk/impl/src/main/java/org/jboss/weld/util/collections/CopyOnWriteArrayListSupplier.java
core/trunk/impl/src/main/java/org/jboss/weld/util/collections/HashSetSupplier.java
core/trunk/impl/src/main/java/org/jboss/weld/util/collections/IterableIterable.java
core/trunk/impl/src/main/java/org/jboss/weld/util/collections/IterableToIteratorFunction.java
Removed:
core/trunk/impl/src/main/java/org/jboss/weld/introspector/AnnotationStore.java
core/trunk/impl/src/main/java/org/jboss/weld/literal/BindingTypeLiteral.java
core/trunk/impl/src/main/java/org/jboss/weld/literal/InjectLiteral.java
Modified:
core/trunk/impl/src/main/java/org/jboss/weld/bean/AbstractBean.java
core/trunk/impl/src/main/java/org/jboss/weld/bean/AbstractClassBean.java
core/trunk/impl/src/main/java/org/jboss/weld/bean/DecoratorImpl.java
core/trunk/impl/src/main/java/org/jboss/weld/bean/DisposalMethod.java
core/trunk/impl/src/main/java/org/jboss/weld/bean/ProducerMethod.java
core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/AbstractBuiltInBean.java
core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/EventBean.java
core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/FacadeBeanResolvableTransformer.java
core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/InstanceBean.java
core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/AbstractBeanDeployer.java
core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/WeldBootstrap.java
core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/events/AbstractBeanDiscoveryEvent.java
core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/events/AbstractContainerEvent.java
core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/events/AfterDeploymentValidationImpl.java
core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/events/BeforeBeanDiscoveryImpl.java
core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/events/BeforeShutdownImpl.java
core/trunk/impl/src/main/java/org/jboss/weld/event/EventImpl.java
core/trunk/impl/src/main/java/org/jboss/weld/event/ObserverFactory.java
core/trunk/impl/src/main/java/org/jboss/weld/injection/ConstructorInjectionPoint.java
core/trunk/impl/src/main/java/org/jboss/weld/injection/FieldInjectionPoint.java
core/trunk/impl/src/main/java/org/jboss/weld/injection/MethodInjectionPoint.java
core/trunk/impl/src/main/java/org/jboss/weld/injection/ParameterInjectionPoint.java
core/trunk/impl/src/main/java/org/jboss/weld/introspector/ForwardingWeldAnnotated.java
core/trunk/impl/src/main/java/org/jboss/weld/introspector/ForwardingWeldAnnotation.java
core/trunk/impl/src/main/java/org/jboss/weld/introspector/ForwardingWeldClass.java
core/trunk/impl/src/main/java/org/jboss/weld/introspector/ForwardingWeldConstructor.java
core/trunk/impl/src/main/java/org/jboss/weld/introspector/ForwardingWeldField.java
core/trunk/impl/src/main/java/org/jboss/weld/introspector/ForwardingWeldMember.java
core/trunk/impl/src/main/java/org/jboss/weld/introspector/ForwardingWeldMethod.java
core/trunk/impl/src/main/java/org/jboss/weld/introspector/WeldAnnotated.java
core/trunk/impl/src/main/java/org/jboss/weld/introspector/WeldAnnotation.java
core/trunk/impl/src/main/java/org/jboss/weld/introspector/WeldCallable.java
core/trunk/impl/src/main/java/org/jboss/weld/introspector/WeldClass.java
core/trunk/impl/src/main/java/org/jboss/weld/introspector/WeldConstructor.java
core/trunk/impl/src/main/java/org/jboss/weld/introspector/WeldMember.java
core/trunk/impl/src/main/java/org/jboss/weld/introspector/WeldMethod.java
core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/AbstractWeldAnnotated.java
core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/AbstractWeldCallable.java
core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/AbstractWeldMember.java
core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/MethodSignatureImpl.java
core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldAnnotationImpl.java
core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldClassImpl.java
core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldConstructorImpl.java
core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldFieldImpl.java
core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldMethodImpl.java
core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldParameterImpl.java
core/trunk/impl/src/main/java/org/jboss/weld/literal/AnyLiteral.java
core/trunk/impl/src/main/java/org/jboss/weld/literal/DefaultLiteral.java
core/trunk/impl/src/main/java/org/jboss/weld/literal/InterceptorBindingTypeLiteral.java
core/trunk/impl/src/main/java/org/jboss/weld/literal/NewLiteral.java
core/trunk/impl/src/main/java/org/jboss/weld/literal/ScopeLiteral.java
core/trunk/impl/src/main/java/org/jboss/weld/literal/StereotypeLiteral.java
core/trunk/impl/src/main/java/org/jboss/weld/manager/BeanManagerImpl.java
core/trunk/impl/src/main/java/org/jboss/weld/metadata/cache/BindingTypeModel.java
core/trunk/impl/src/main/java/org/jboss/weld/metadata/cache/InterceptorBindingModel.java
core/trunk/impl/src/main/java/org/jboss/weld/resolution/ResolvableFactory.java
core/trunk/impl/src/main/java/org/jboss/weld/resolution/ResolvableWeldClass.java
core/trunk/impl/src/main/java/org/jboss/weld/util/Beans.java
core/trunk/impl/src/main/java/org/jboss/weld/util/Proxies.java
core/trunk/impl/src/main/java/org/jboss/weld/util/reflection/ParameterizedTypeImpl.java
core/trunk/impl/src/main/java/org/jboss/weld/util/reflection/Reflections.java
core/trunk/impl/src/main/java/org/jboss/weld/util/reflection/SecureReflectionAccess.java
Log:
WELD-87, various reorgs,
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bean/AbstractBean.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bean/AbstractBean.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/AbstractBean.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -69,9 +69,6 @@
public abstract class AbstractBean<T, S> extends RIBean<T>
{
- private static final Annotation ANY_LITERAL = new AnyLiteral();
- private static final Annotation CURRENT_LITERAL = new DefaultLiteral();
-
private boolean proxyable;
// Logger
@@ -192,7 +189,7 @@
{
if (getAnnotatedItem().isAnnotationPresent(Typed.class))
{
- this.types = getTypedTypes(getAnnotatedItem().getTypeClosureAsMap(), getAnnotatedItem().getJavaClass(), getAnnotatedItem().getAnnotation(Typed.class));
+ this.types = getTypedTypes(Reflections.buildTypeMap(getAnnotatedItem().getTypeClosure()), getAnnotatedItem().getJavaClass(), getAnnotatedItem().getAnnotation(Typed.class));
}
else
{
@@ -238,17 +235,17 @@
if (bindings.size() == 0)
{
log.trace(USING_DEFAULT_QUALIFIER, this);
- this.bindings.add(CURRENT_LITERAL);
+ this.bindings.add(DefaultLiteral.INSTANCE);
}
if (bindings.size() == 1)
{
if (bindings.iterator().next().annotationType().equals(Named.class))
{
log.trace(USING_DEFAULT_QUALIFIER, this);
- this.bindings.add(CURRENT_LITERAL);
+ this.bindings.add(DefaultLiteral.INSTANCE);
}
}
- this.bindings.add(ANY_LITERAL);
+ this.bindings.add(AnyLiteral.INSTANCE);
}
protected void initAlternative()
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bean/AbstractClassBean.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bean/AbstractClassBean.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/AbstractClassBean.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -631,11 +631,11 @@
protected void checkConstructor()
{
- if (!constructor.getAnnotatedWBParameters(Disposes.class).isEmpty())
+ if (!constructor.getWeldParameters(Disposes.class).isEmpty())
{
throw new DefinitionException(PARAMETER_ANNOTATION_NOT_ALLOWED_ON_CONSTRUCTOR, "@Disposes", constructor);
}
- if (!constructor.getAnnotatedWBParameters(Observes.class).isEmpty())
+ if (!constructor.getWeldParameters(Observes.class).isEmpty())
{
throw new DefinitionException(PARAMETER_ANNOTATION_NOT_ALLOWED_ON_CONSTRUCTOR, "@Observes", constructor);
}
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bean/DecoratorImpl.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bean/DecoratorImpl.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/DecoratorImpl.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -134,7 +134,7 @@
protected void initDecoratedTypes()
{
this.decoratedTypes = new HashSet<Type>();
- this.decoratedTypes.addAll(getAnnotatedItem().getInterfaceOnlyFlattenedTypeHierarchy());
+ this.decoratedTypes.addAll(getAnnotatedItem().getInterfaceClosure());
this.decoratedTypes.remove(Serializable.class);
this.decoratedMethodSignatures = Deployers.getDecoratedMethodSignatures(getManager(), this.decoratedTypes);
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bean/DisposalMethod.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bean/DisposalMethod.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/DisposalMethod.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -63,7 +63,7 @@
private void initDisposesParameter()
{
- this.disposesParameter = getAnnotatedItem().getAnnotatedWBParameters(Disposes.class).get(0);
+ this.disposesParameter = getAnnotatedItem().getWeldParameters(Disposes.class).get(0);
}
public WeldParameter<?, X> getDisposesParameter()
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bean/ProducerMethod.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bean/ProducerMethod.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/ProducerMethod.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -151,11 +151,11 @@
*/
protected void checkProducerMethod()
{
- if (getAnnotatedItem().getAnnotatedWBParameters(Observes.class).size() > 0)
+ if (getAnnotatedItem().getWeldParameters(Observes.class).size() > 0)
{
throw new DefinitionException(INCONSISTENT_ANNOTATIONS_ON_METHOD, "@Produces", "@Observes");
}
- else if (getAnnotatedItem().getAnnotatedWBParameters(Disposes.class).size() > 0)
+ else if (getAnnotatedItem().getWeldParameters(Disposes.class).size() > 0)
{
throw new DefinitionException(INCONSISTENT_ANNOTATIONS_ON_METHOD, "@Produces", "@Disposes");
}
@@ -276,7 +276,7 @@
@Override
protected void preSpecialize(BeanDeployerEnvironment environment)
{
- if (getDeclaringBean().getAnnotatedItem().getWeldSuperclass().getDeclaredWeldMethod(getAnnotatedItem().getAnnotatedMethod()) == null)
+ if (getDeclaringBean().getAnnotatedItem().getWeldSuperclass().getDeclaredWeldMethod(getAnnotatedItem().getJavaMember()) == null)
{
throw new DefinitionException(PRODUCER_METHOD_NOT_SPECIALIZING, this);
}
@@ -285,7 +285,7 @@
@Override
protected void specialize(BeanDeployerEnvironment environment)
{
- WeldMethod<?, ?> superClassMethod = getDeclaringBean().getAnnotatedItem().getWeldSuperclass().getWeldMethod(getAnnotatedItem().getAnnotatedMethod());
+ WeldMethod<?, ?> superClassMethod = getDeclaringBean().getAnnotatedItem().getWeldSuperclass().getWeldMethod(getAnnotatedItem().getJavaMember());
if (environment.getProducerMethod(superClassMethod) == null)
{
throw new ForbiddenStateException(PRODUCER_METHOD_NOT_SPECIALIZING, this);
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/AbstractBuiltInBean.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/AbstractBuiltInBean.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/AbstractBuiltInBean.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -17,9 +17,7 @@
package org.jboss.weld.bean.builtin;
import java.lang.annotation.Annotation;
-import java.util.Arrays;
import java.util.Collections;
-import java.util.HashSet;
import java.util.Set;
import javax.enterprise.context.Dependent;
@@ -30,15 +28,14 @@
import org.jboss.weld.literal.AnyLiteral;
import org.jboss.weld.literal.DefaultLiteral;
import org.jboss.weld.manager.BeanManagerImpl;
+import org.jboss.weld.util.collections.Arrays2;
public abstract class AbstractBuiltInBean<T> extends RIBean<T>
{
private static final String ID_PREFIX = "Built-in";
+ private static final Set<Annotation> DEFAULT_QUALIFIERS = Arrays2.asSet( DefaultLiteral.INSTANCE, AnyLiteral.INSTANCE );
- private static final Annotation[] DEFAULT_BINDING_ARRAY = { new DefaultLiteral(), new AnyLiteral() };
- private static final Set<Annotation> DEFAULT_BINDING = new HashSet<Annotation>(Arrays.asList(DEFAULT_BINDING_ARRAY));
-
protected AbstractBuiltInBean(String idSuffix, BeanManagerImpl manager)
{
super(new StringBuilder().append(ID_PREFIX).append(BEAN_ID_SEPARATOR).append(idSuffix).toString(), manager);
@@ -53,7 +50,7 @@
public Set<Annotation> getQualifiers()
{
- return DEFAULT_BINDING;
+ return DEFAULT_QUALIFIERS;
}
public Class<? extends Annotation> getScope()
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/EventBean.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/EventBean.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/EventBean.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -18,8 +18,7 @@
import java.lang.annotation.Annotation;
import java.lang.reflect.Type;
-import java.util.Arrays;
-import java.util.HashSet;
+import java.util.Collections;
import java.util.Set;
import javax.enterprise.event.Event;
@@ -36,8 +35,7 @@
private static final Class<Event<?>> TYPE = new TypeLiteral<Event<?>>() {}.getRawType();
private static final Set<Type> DEFAULT_TYPES = Arrays2.<Type>asSet(TYPE, Object.class);
- private static final Annotation ANY = new AnyLiteral();
- private static final Set<Annotation> DEFAULT_BINDINGS = new HashSet<Annotation>(Arrays.asList(ANY));
+ private static final Set<Annotation> DEFAULT_QUALIFIERS = Collections.<Annotation>singleton(AnyLiteral.INSTANCE);
public EventBean(BeanManagerImpl manager)
@@ -65,7 +63,7 @@
@Override
public Set<Annotation> getQualifiers()
{
- return DEFAULT_BINDINGS;
+ return DEFAULT_QUALIFIERS;
}
@Override
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/FacadeBeanResolvableTransformer.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/FacadeBeanResolvableTransformer.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/FacadeBeanResolvableTransformer.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -38,13 +38,7 @@
public class FacadeBeanResolvableTransformer implements ResolvableTransformer
{
- private static final Set<Annotation> bindings;
-
- static
- {
- bindings = new HashSet<Annotation>();
- bindings.add(new AnyLiteral());
- }
+ private static final Set<Annotation> DEFAULT_QUALIFIERS = Collections.<Annotation>singleton(AnyLiteral.INSTANCE);
private final Class<?> clazz;
private final HashSet<Type> types;
@@ -72,7 +66,7 @@
@Override
public Set<Annotation> getQualifiers()
{
- return Collections.unmodifiableSet(bindings);
+ return Collections.unmodifiableSet(DEFAULT_QUALIFIERS);
}
@Override
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/InstanceBean.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/InstanceBean.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/InstanceBean.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -18,11 +18,9 @@
import java.lang.annotation.Annotation;
import java.lang.reflect.Type;
-import java.util.Arrays;
-import java.util.HashSet;
+import java.util.Collections;
import java.util.Set;
-import javax.enterprise.inject.Any;
import javax.enterprise.inject.Instance;
import javax.enterprise.inject.spi.InjectionPoint;
import javax.enterprise.util.TypeLiteral;
@@ -37,8 +35,7 @@
private static final Class<Instance<?>> INSTANCE_TYPE = new TypeLiteral<Instance<?>>() {}.getRawType();
private static final Class<Provider<?>> PROVIDER_TYPE = new TypeLiteral<Provider<?>>() {}.getRawType();
private static final Set<Type> DEFAULT_TYPES = Arrays2.<Type>asSet(INSTANCE_TYPE, PROVIDER_TYPE, Object.class);
- private static final Any ANY = new AnyLiteral();
- private static final Set<Annotation> DEFAULT_BINDINGS = new HashSet<Annotation>(Arrays.asList(ANY));
+ private static final Set<Annotation> DEFAULT_QUALIFIERS = Collections.<Annotation>singleton(AnyLiteral.INSTANCE);
public InstanceBean(BeanManagerImpl manager)
{
@@ -65,7 +62,7 @@
@Override
public Set<Annotation> getQualifiers()
{
- return DEFAULT_BINDINGS;
+ return DEFAULT_QUALIFIERS;
}
@Override
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/AbstractBeanDeployer.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/AbstractBeanDeployer.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/AbstractBeanDeployer.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -173,7 +173,7 @@
protected <X> void createProducerMethods(AbstractClassBean<X> declaringBean, WeldClass<X> annotatedClass)
{
- for (WeldMethod<?, X> method : annotatedClass.getDeclaredAnnotatedWeldMethods(Produces.class))
+ for (WeldMethod<?, X> method : annotatedClass.getDeclaredWeldMethods(Produces.class))
{
createProducerMethod(declaringBean, method);
}
@@ -211,7 +211,7 @@
protected <X> void createProducerFields(AbstractClassBean<X> declaringBean, WeldClass<X> annotatedClass)
{
- for (WeldField<?, X> field : annotatedClass.getDeclaredAnnotatedWeldFields(Produces.class))
+ for (WeldField<?, X> field : annotatedClass.getDeclaredWeldFields(Produces.class))
{
createProducerField(declaringBean, field);
}
@@ -306,7 +306,7 @@
private static boolean hasSimpleWebBeanConstructor(WeldClass<?> type)
{
- return type.getNoArgsWeldConstructor() != null || type.getAnnotatedWeldConstructors(Inject.class).size() > 0;
+ return type.getNoArgsWeldConstructor() != null || type.getWeldConstructors(Inject.class).size() > 0;
}
public E getEnvironment()
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/WeldBootstrap.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/WeldBootstrap.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/WeldBootstrap.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -134,9 +134,7 @@
{
private final ServiceRegistry serviceRegistry = new SimpleServiceRegistry();
- private final Set<Class<?>> beanClasses = (deployment.getServices().contains(ServletServices.class))
- ? Arrays2.<Class<?>>asSet(ConversationImpl.class, ServletConversationManager.class, NumericConversationIdGenerator.class, HttpSessionManager.class)
- : Collections.EMPTY_SET;
+ private final Set<Class<?>> beanClasses = (deployment.getServices().contains(ServletServices.class)) ? Arrays2.<Class<?>> asSet(ConversationImpl.class, ServletConversationManager.class, NumericConversationIdGenerator.class, HttpSessionManager.class) : Collections.<Class<?>>emptySet();
public ServiceRegistry getServices()
{
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/events/AbstractBeanDiscoveryEvent.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/events/AbstractBeanDiscoveryEvent.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/events/AbstractBeanDiscoveryEvent.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -16,11 +16,12 @@
*/
package org.jboss.weld.bootstrap.events;
+import static org.jboss.weld.util.reflection.Reflections.EMPTY_TYPES;
+
import java.lang.reflect.Type;
import java.util.Map;
import org.jboss.weld.bootstrap.BeanDeployment;
-import org.jboss.weld.bootstrap.ExtensionBeanDeployerEnvironment;
import org.jboss.weld.bootstrap.spi.BeanDeploymentArchive;
import org.jboss.weld.bootstrap.spi.Deployment;
import org.jboss.weld.manager.BeanManagerImpl;
@@ -38,7 +39,7 @@
public AbstractBeanDiscoveryEvent(BeanManagerImpl beanManager, Type rawType, Map<BeanDeploymentArchive, BeanDeployment> beanDeployments, Deployment deployment)
{
- super(beanManager, rawType, EMPTY_TYPE_ARRAY);
+ super(beanManager, rawType, EMPTY_TYPES);
this.beanDeployments = beanDeployments;
this.deployment = deployment;
}
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/events/AbstractContainerEvent.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/events/AbstractContainerEvent.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/events/AbstractContainerEvent.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -14,11 +14,8 @@
import org.jboss.weld.manager.BeanManagerImpl;
import org.jboss.weld.util.reflection.ParameterizedTypeImpl;
-
public abstract class AbstractContainerEvent
{
-
- protected static final Type[] EMPTY_TYPE_ARRAY = new Type[0];
private final List<Throwable> errors;
private final BeanManagerImpl beanManager;
@@ -66,7 +63,7 @@
Type eventType = new ParameterizedTypeImpl(getRawType(), getEmptyTypeArray(), null);
for (BeanDeployment beanDeployment : beanDeployments.values())
{
- observers.addAll((Set) beanDeployment.getBeanManager().resolveObserverMethods(eventType));
+ observers.addAll(beanDeployment.getBeanManager().resolveObserverMethods(eventType));
}
for (ObserverMethod<Object> observerMethod : observers)
{
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/events/AfterDeploymentValidationImpl.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/events/AfterDeploymentValidationImpl.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/events/AfterDeploymentValidationImpl.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -16,6 +16,8 @@
*/
package org.jboss.weld.bootstrap.events;
+import static org.jboss.weld.util.reflection.Reflections.EMPTY_TYPES;
+
import java.util.Map;
import javax.enterprise.inject.spi.AfterDeploymentValidation;
@@ -24,7 +26,6 @@
import org.jboss.weld.bootstrap.spi.BeanDeploymentArchive;
import org.jboss.weld.manager.BeanManagerImpl;
-
public class AfterDeploymentValidationImpl extends AbstractDeploymentContainerEvent implements AfterDeploymentValidation
{
@@ -35,7 +36,7 @@
protected AfterDeploymentValidationImpl(BeanManagerImpl beanManager)
{
- super(beanManager, AfterDeploymentValidation.class, EMPTY_TYPE_ARRAY);
+ super(beanManager, AfterDeploymentValidation.class, EMPTY_TYPES);
}
public void addDeploymentProblem(Throwable t)
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/events/BeforeBeanDiscoveryImpl.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/events/BeforeBeanDiscoveryImpl.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/events/BeforeBeanDiscoveryImpl.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -25,7 +25,7 @@
import org.jboss.weld.bootstrap.BeanDeployment;
import org.jboss.weld.bootstrap.spi.BeanDeploymentArchive;
import org.jboss.weld.bootstrap.spi.Deployment;
-import org.jboss.weld.literal.BindingTypeLiteral;
+import org.jboss.weld.literal.QualifierLiteral;
import org.jboss.weld.literal.InterceptorBindingTypeLiteral;
import org.jboss.weld.literal.NormalScopeLiteral;
import org.jboss.weld.literal.ScopeLiteral;
@@ -47,12 +47,12 @@
public void addQualifier(Class<? extends Annotation> bindingType)
{
- getTypeStore().add(bindingType, new BindingTypeLiteral());
+ getTypeStore().add(bindingType, QualifierLiteral.INSTANCE);
}
public void addInterceptorBinding(Class<? extends Annotation> bindingType)
{
- getTypeStore().add(bindingType, new InterceptorBindingTypeLiteral());
+ getTypeStore().add(bindingType, InterceptorBindingTypeLiteral.INSTANCE);
}
public void addScope(Class<? extends Annotation> scopeType, boolean normal, boolean passivating)
@@ -63,13 +63,13 @@
}
else
{
- getTypeStore().add(scopeType, new ScopeLiteral());
+ getTypeStore().add(scopeType, ScopeLiteral.INSTANCE);
}
}
public void addStereotype(Class<? extends Annotation> stereotype, Annotation... stereotypeDef)
{
- getTypeStore().add(stereotype, new StereotypeLiteral());
+ getTypeStore().add(stereotype, StereotypeLiteral.INSTANCE);
for(Annotation a : stereotypeDef)
{
getTypeStore().add(stereotype, a);
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/events/BeforeShutdownImpl.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/events/BeforeShutdownImpl.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/events/BeforeShutdownImpl.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -16,6 +16,8 @@
*/
package org.jboss.weld.bootstrap.events;
+import static org.jboss.weld.util.reflection.Reflections.EMPTY_TYPES;
+
import java.util.Map;
import javax.enterprise.inject.spi.BeforeShutdown;
@@ -46,7 +48,7 @@
public BeforeShutdownImpl(BeanManagerImpl beanManager)
{
- super(beanManager, BeforeShutdown.class, EMPTY_TYPE_ARRAY);
+ super(beanManager, BeforeShutdown.class, EMPTY_TYPES);
}
}
Modified: core/trunk/impl/src/main/java/org/jboss/weld/event/EventImpl.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/event/EventImpl.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/event/EventImpl.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -52,7 +52,6 @@
{
private static final long serialVersionUID = 656782657242515455L;
- private static final Default DEFAULT = new DefaultLiteral();
public static <E> EventImpl<E> of(InjectionPoint injectionPoint, BeanManagerImpl beanManager)
{
@@ -64,7 +63,7 @@
if (!injectionPoint.getAnnotated().isAnnotationPresent(Default.class))
{
Set<Annotation> qualifers = new HashSet<Annotation>(injectionPoint.getQualifiers());
- qualifers.remove(DEFAULT);
+ qualifers.remove(DefaultLiteral.INSTANCE);
return qualifers.toArray(EMPTY_ANNOTATIONS);
}
else
Modified: core/trunk/impl/src/main/java/org/jboss/weld/event/ObserverFactory.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/event/ObserverFactory.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/event/ObserverFactory.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -64,7 +64,7 @@
*/
public static TransactionPhase getTransactionalPhase(WeldMethod<?, ?> observer)
{
- WeldParameter<?, ?> parameter = observer.getAnnotatedWBParameters(Observes.class).iterator().next();
+ WeldParameter<?, ?> parameter = observer.getWeldParameters(Observes.class).iterator().next();
return parameter.getAnnotation(Observes.class).during();
}
}
Modified: core/trunk/impl/src/main/java/org/jboss/weld/injection/ConstructorInjectionPoint.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/injection/ConstructorInjectionPoint.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/injection/ConstructorInjectionPoint.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -69,8 +69,6 @@
}
- private static final Annotation[] EMPTY_ANNOTATION_ARRAY = new Annotation[0];
-
private final Bean<T> declaringBean;
private final WeldConstructor<T> constructor;
Modified: core/trunk/impl/src/main/java/org/jboss/weld/injection/FieldInjectionPoint.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/injection/FieldInjectionPoint.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/injection/FieldInjectionPoint.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -43,8 +43,6 @@
public class FieldInjectionPoint<T, X> extends ForwardingWeldField<T, X> implements WeldInjectionPoint<T, Field>, Serializable
{
-
- private static final Annotation[] EMPTY_ANNOTATION_ARRAY = new Annotation[0];
private final Bean<?> declaringBean;
private final WeldField<T, X> field;
@@ -132,14 +130,12 @@
{
return getBaseType();
}
-
+
public Member getMember()
{
return getJavaMember();
}
-
-
// Serialization
private Object writeReplace() throws ObjectStreamException
Modified: core/trunk/impl/src/main/java/org/jboss/weld/injection/MethodInjectionPoint.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/injection/MethodInjectionPoint.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/injection/MethodInjectionPoint.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -66,8 +66,6 @@
}
- private static final Annotation[] EMPTY_ANNOTATION_ARRAY = new Annotation[0];
-
private final Bean<?> declaringBean;
private final WeldMethod<T, X> method;
Modified: core/trunk/impl/src/main/java/org/jboss/weld/injection/ParameterInjectionPoint.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/injection/ParameterInjectionPoint.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/injection/ParameterInjectionPoint.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -49,8 +49,6 @@
public class ParameterInjectionPoint<T, X> extends ForwardingWeldParameter<T, X> implements WeldInjectionPoint<T, Object>, Serializable
{
- private static final Annotation[] EMPTY_ANNOTATION_ARRAY = new Annotation[0];
-
public static <T, X> ParameterInjectionPoint<T, X> of(Bean<?> declaringBean, WeldParameter<T, X> parameter)
{
return new ParameterInjectionPoint<T, X>(declaringBean, parameter);
Deleted: core/trunk/impl/src/main/java/org/jboss/weld/introspector/AnnotationStore.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/introspector/AnnotationStore.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/introspector/AnnotationStore.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -1,292 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, 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 org.jboss.weld.introspector;
-
-import static org.jboss.weld.introspector.WeldAnnotated.MAPPED_METAANNOTATIONS;
-import static org.jboss.weld.logging.messages.ReflectionMessage.ANNOTATION_MAP_NULL;
-import static org.jboss.weld.logging.messages.ReflectionMessage.DECLARED_ANNOTATION_MAP_NULL;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.AnnotatedElement;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-import javax.inject.Qualifier;
-
-import org.jboss.weld.exceptions.WeldException;
-import org.jboss.weld.literal.DefaultLiteral;
-import org.jboss.weld.logging.messages.ReflectionMessage;
-import org.jboss.weld.metadata.TypeStore;
-
-import com.google.common.base.Supplier;
-import com.google.common.collect.Multimaps;
-import com.google.common.collect.SetMultimap;
-
-public class AnnotationStore
-{
-
- // The array of default binding types
- private static final Annotation[] DEFAULT_BINDING_ARRAY = { new DefaultLiteral() };
- // The set of default binding types
- private static final Set<Annotation> DEFAULT_BINDING = new HashSet<Annotation>(Arrays.asList(DEFAULT_BINDING_ARRAY));
-
- private static final Annotation[] EMPTY_ANNOTATION_ARRAY = new Annotation[0];
-
- /**
- * Builds the annotation map (annotation type -> annotation)
- *
- * @param annotations The array of annotations to map
- * @return The annotation map
- */
- protected static Map<Class<? extends Annotation>, Annotation> buildAnnotationMap(Annotation[] annotations)
- {
- Map<Class<? extends Annotation>, Annotation> annotationMap = new HashMap<Class<? extends Annotation>, Annotation>();
- for (Annotation annotation : annotations)
- {
- annotationMap.put(annotation.annotationType(), annotation);
- }
- return annotationMap;
- }
-
- /**
- * Builds the annotation map (annotation type -> annotation)
- *
- * @param annotations The array of annotations to map
- * @return The annotation map
- */
- protected static Map<Class<? extends Annotation>, Annotation> buildAnnotationMap(Iterable<Annotation> annotations)
- {
- Map<Class<? extends Annotation>, Annotation> annotationMap = new HashMap<Class<? extends Annotation>, Annotation>();
- for (Annotation annotation : annotations)
- {
- annotationMap.put(annotation.annotationType(), annotation);
- }
- return annotationMap;
- }
-
- /**
- * Build an AnnotatedItemHelper from a class
- *
- * @param annotatedElement
- * @return
- */
- public static AnnotationStore of(AnnotatedElement annotatedElement, TypeStore typeStore)
- {
- return new AnnotationStore(buildAnnotationMap(annotatedElement.getAnnotations()), buildAnnotationMap(annotatedElement.getDeclaredAnnotations()), typeStore);
- }
-
- public static AnnotationStore of(AnnotatedElement annotatedElement, Set<Annotation> extraAnnotations, Set<Annotation> extraDeclaredAnnotations, TypeStore typeStore)
- {
- Map<Class<? extends Annotation>, Annotation> annotationMap = new HashMap<Class<? extends Annotation>, Annotation>();
- annotationMap.putAll(buildAnnotationMap(annotatedElement.getAnnotations()));
- annotationMap.putAll(buildAnnotationMap(extraAnnotations));
-
- Map<Class<? extends Annotation>, Annotation> declaredAnnotationMap = new HashMap<Class<? extends Annotation>, Annotation>();
- declaredAnnotationMap.putAll(buildAnnotationMap(annotatedElement.getDeclaredAnnotations()));
- declaredAnnotationMap.putAll(buildAnnotationMap(extraDeclaredAnnotations));
-
- return new AnnotationStore(annotationMap, declaredAnnotationMap, typeStore);
- }
-
- public static AnnotationStore of(Annotation[] annotations, Annotation[] declaredAnnotations, TypeStore typeStore)
- {
- return new AnnotationStore(buildAnnotationMap(annotations), buildAnnotationMap(declaredAnnotations), typeStore);
- }
-
- public static AnnotationStore of(Set<Annotation> annotations, Set<Annotation> declaredAnnotations, TypeStore typeStore)
- {
- return new AnnotationStore(buildAnnotationMap(annotations), buildAnnotationMap(declaredAnnotations), typeStore);
- }
-
- public static AnnotationStore wrap(AnnotationStore annotationStore, Set<Annotation> annotations, Set<Annotation> declaredAnnotations, TypeStore typeStore)
- {
- Map<Class<? extends Annotation>, Annotation> annotationMap = new HashMap<Class<? extends Annotation>, Annotation>();
- annotationMap.putAll(buildAnnotationMap(annotations));
- annotationMap.putAll(annotationStore.getAnnotationMap());
-
- Map<Class<? extends Annotation>, Annotation> declaredAnnotationMap = new HashMap<Class<? extends Annotation>, Annotation>();
- declaredAnnotationMap.putAll(buildAnnotationMap(declaredAnnotations));
- declaredAnnotationMap.putAll(annotationStore.getDeclaredAnnotationMap());
-
- return new AnnotationStore(annotationMap, declaredAnnotationMap, typeStore);
- }
-
- // The annotation map (annotation type -> annotation) of the item
- private final Map<Class<? extends Annotation>, Annotation> annotationMap;
- // The meta-annotation map (annotation type -> set of annotations containing
- // meta-annotation) of the item
- private final SetMultimap<Class<? extends Annotation>, Annotation> metaAnnotationMap;
- // The set of all annotations on the item
- private final Set<Annotation> annotationSet;
-
- // The annotation map (annotation type -> annotation) of the item
- private final Map<Class<? extends Annotation>, Annotation> declaredAnnotationMap;
- // The meta-annotation map (annotation type -> set of annotations containing
- // meta-annotation) of the item
- private final SetMultimap<Class<? extends Annotation>, Annotation> declaredMetaAnnotationMap;
- // The set of all annotations on the item
- private final Set<Annotation> declaredAnnotationSet;
-
- /**
- * Constructor
- *
- * Also builds the meta-annotation map. Throws a NullPointerException if
- * trying to register a null map
- *
- * @param annotationMap A map of annotation to register
- *
- */
- protected AnnotationStore(Map<Class<? extends Annotation>, Annotation> annotationMap, Map<Class<? extends Annotation>, Annotation> declaredAnnotationMap, TypeStore typeStore)
- {
- if (annotationMap == null)
- {
- throw new WeldException(ANNOTATION_MAP_NULL);
- }
- this.annotationMap = annotationMap;
- this.annotationSet = new HashSet<Annotation>();
- this.metaAnnotationMap = Multimaps.newSetMultimap(new HashMap<Class<? extends Annotation>, Collection<Annotation>>(), new Supplier<Set<Annotation>>()
- {
-
- public Set<Annotation> get()
- {
- return new HashSet<Annotation>();
- }
- });
- for (Annotation annotation : annotationMap.values())
- {
- addMetaAnnotations(metaAnnotationMap, annotation, annotation.annotationType().getAnnotations());
- addMetaAnnotations(metaAnnotationMap, annotation, typeStore.get(annotation.annotationType()));
- annotationSet.add(annotation);
- }
-
- if (declaredAnnotationMap == null)
- {
- throw new WeldException(DECLARED_ANNOTATION_MAP_NULL);
- }
- this.declaredAnnotationMap = declaredAnnotationMap;
- this.declaredAnnotationSet = new HashSet<Annotation>();
- this.declaredMetaAnnotationMap = Multimaps.newSetMultimap(new HashMap<Class<? extends Annotation>, Collection<Annotation>>(), new Supplier<Set<Annotation>>()
- {
-
- public Set<Annotation> get()
- {
- return new HashSet<Annotation>();
- }
- });
- for (Annotation declaredAnnotation : declaredAnnotationMap.values())
- {
- addMetaAnnotations(declaredMetaAnnotationMap, declaredAnnotation, declaredAnnotation.annotationType().getAnnotations());
- addMetaAnnotations(declaredMetaAnnotationMap, declaredAnnotation, typeStore.get(declaredAnnotation.annotationType()));
- declaredAnnotationSet.add(declaredAnnotation);
- }
- }
-
- private static void addMetaAnnotations(SetMultimap<Class<? extends Annotation>, Annotation> metaAnnotationMap, Annotation annotation, Annotation[] metaAnnotations)
- {
- for (Annotation metaAnnotation : metaAnnotations)
- {
- addMetaAnnotation(metaAnnotationMap, annotation, metaAnnotation.annotationType());
- }
- }
-
- private static void addMetaAnnotations(SetMultimap<Class<? extends Annotation>, Annotation> metaAnnotationMap, Annotation annotation, Iterable<Annotation> metaAnnotations)
- {
- for (Annotation metaAnnotation : metaAnnotations)
- {
- addMetaAnnotation(metaAnnotationMap, annotation, metaAnnotation.annotationType());
- }
- }
-
- private static void addMetaAnnotation(SetMultimap<Class<? extends Annotation>, Annotation> metaAnnotationMap, Annotation annotation, Class<? extends Annotation> metaAnnotationType)
- {
- // Only map meta-annotations we are interested in
- if (MAPPED_METAANNOTATIONS.contains(metaAnnotationType))
- {
- metaAnnotationMap.put(metaAnnotationType, annotation);
- }
- }
-
- public Set<Annotation> getAnnotations()
- {
- return Collections.unmodifiableSet(annotationSet);
- }
-
- public Set<Annotation> getMetaAnnotations(Class<? extends Annotation> metaAnnotationType)
- {
- return Collections.unmodifiableSet(metaAnnotationMap.get(metaAnnotationType));
- }
-
- public Set<Annotation> getDeclaredMetaAnnotations(Class<? extends Annotation> metaAnnotationType)
- {
- return Collections.unmodifiableSet(declaredMetaAnnotationMap.get(metaAnnotationType));
- }
-
- public Annotation[] getMetaAnnotationsAsArray(Class<? extends Annotation> metaAnnotationType)
- {
- return getMetaAnnotations(metaAnnotationType).toArray(EMPTY_ANNOTATION_ARRAY);
- }
-
- @Deprecated
- public Set<Annotation> getBindings()
- {
- if (getMetaAnnotations(Qualifier.class).size() > 0)
- {
- return Collections.unmodifiableSet(getMetaAnnotations(Qualifier.class));
- }
- else
- {
- return Collections.unmodifiableSet(DEFAULT_BINDING);
- }
- }
-
- @Deprecated
- public Annotation[] getBindingsAsArray()
- {
- return getBindings().toArray(EMPTY_ANNOTATION_ARRAY);
- }
-
- public <A extends Annotation> A getAnnotation(Class<? extends A> annotationType)
- {
- return annotationType.cast(annotationMap.get(annotationType));
- }
-
- public boolean isAnnotationPresent(Class<? extends Annotation> annotationType)
- {
- return annotationMap.containsKey(annotationType);
- }
-
- public boolean isDeclaredAnnotationPresent(Class<? extends Annotation> annotationType)
- {
- return declaredAnnotationMap.containsKey(annotationType);
- }
-
- Map<Class<? extends Annotation>, Annotation> getAnnotationMap()
- {
- return annotationMap;
- }
-
- Map<Class<? extends Annotation>, Annotation> getDeclaredAnnotationMap()
- {
- return declaredAnnotationMap;
- }
-
-}
Modified: core/trunk/impl/src/main/java/org/jboss/weld/introspector/ForwardingWeldAnnotated.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/introspector/ForwardingWeldAnnotated.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/introspector/ForwardingWeldAnnotated.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -18,7 +18,6 @@
import java.lang.annotation.Annotation;
import java.lang.reflect.Type;
-import java.util.Map;
import java.util.Set;
/**
@@ -42,16 +41,6 @@
return delegate().getMetaAnnotations(metaAnnotationType);
}
- public Annotation[] getMetaAnnotationsAsArray(Class<? extends Annotation> metaAnnotationType)
- {
- return delegate().getMetaAnnotationsAsArray(metaAnnotationType);
- }
-
- public Map<Class<?>, Type> getTypeClosureAsMap()
- {
- return delegate().getTypeClosureAsMap();
- }
-
@Deprecated
public Set<Annotation> getQualifiers()
{
@@ -64,11 +53,6 @@
return delegate().getBindingsAsArray();
}
- public Set<Annotation> getDeclaredMetaAnnotations(Class<? extends Annotation> metaAnnotationType)
- {
- return delegate().getDeclaredMetaAnnotations(metaAnnotationType);
- }
-
public String getName()
{
return delegate().getName();
@@ -117,16 +101,11 @@
@Override
protected abstract WeldAnnotated<T, S> delegate();
- public boolean isDeclaredAnnotationPresent(Class<? extends Annotation> annotationType)
+ public Set<Type> getInterfaceClosure()
{
- return delegate().isDeclaredAnnotationPresent(annotationType);
+ return delegate().getInterfaceClosure();
}
- public Set<Type> getInterfaceOnlyFlattenedTypeHierarchy()
- {
- return delegate().getInterfaceOnlyFlattenedTypeHierarchy();
- }
-
public boolean isParameterizedType()
{
return delegate().isParameterizedType();
Modified: core/trunk/impl/src/main/java/org/jboss/weld/introspector/ForwardingWeldAnnotation.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/introspector/ForwardingWeldAnnotation.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/introspector/ForwardingWeldAnnotation.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -25,9 +25,9 @@
@Override
protected abstract WeldAnnotation<T> delegate();
- public Set<WeldMethod<?, ?>> getAnnotatedMembers(Class<? extends Annotation> annotationType)
+ public Set<WeldMethod<?, ?>> getMembers(Class<? extends Annotation> annotationType)
{
- return delegate().getAnnotatedMembers(annotationType);
+ return delegate().getMembers(annotationType);
}
public Set<WeldMethod<?, ?>> getMembers()
Modified: core/trunk/impl/src/main/java/org/jboss/weld/introspector/ForwardingWeldClass.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/introspector/ForwardingWeldClass.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/introspector/ForwardingWeldClass.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -26,44 +26,39 @@
@Override
protected abstract WeldClass<T> delegate();
- public Set<WeldConstructor<T>> getAnnotatedWeldConstructors(Class<? extends Annotation> annotationType)
+ public Set<WeldConstructor<T>> getWeldConstructors(Class<? extends Annotation> annotationType)
{
- return delegate().getAnnotatedWeldConstructors(annotationType);
+ return delegate().getWeldConstructors(annotationType);
}
- public Set<WeldField<?, ?>> getAnnotatedWeldFields(Class<? extends Annotation> annotationType)
+ public Set<WeldField<?, ?>> getWeldFields(Class<? extends Annotation> annotationType)
{
- return delegate().getAnnotatedWeldFields(annotationType);
+ return delegate().getWeldFields(annotationType);
}
- public Set<WeldMethod<?, ?>> getAnnotatedWeldMethods(Class<? extends Annotation> annotationType)
+ public Set<WeldMethod<?, ?>> getWeldMethods(Class<? extends Annotation> annotationType)
{
- return delegate().getAnnotatedWeldMethods(annotationType);
+ return delegate().getWeldMethods(annotationType);
}
public WeldConstructor<T> getNoArgsWeldConstructor()
{
return delegate().getNoArgsWeldConstructor();
}
-
- public Set<WeldConstructor<T>> getWeldConstructors()
- {
- return delegate().getWeldConstructors();
- }
public Set<WeldMethod<?, ?>> getWeldMethods()
{
return delegate().getWeldMethods();
}
- public Set<WeldField<?, T>> getDeclaredAnnotatedWeldFields(Class<? extends Annotation> annotationType)
+ public Set<WeldField<?, T>> getDeclaredWeldFields(Class<? extends Annotation> annotationType)
{
- return delegate().getDeclaredAnnotatedWeldFields(annotationType);
+ return delegate().getDeclaredWeldFields(annotationType);
}
- public Set<WeldMethod<?, T>> getDeclaredAnnotatedWeldMethods(Class<? extends Annotation> annotationType)
+ public Set<WeldMethod<?, T>> getDeclaredWeldMethods(Class<? extends Annotation> annotationType)
{
- return delegate().getDeclaredAnnotatedWeldMethods(annotationType);
+ return delegate().getDeclaredWeldMethods(annotationType);
}
public Set<WeldMethod<?, T>> getDeclaredWeldMethodsWithAnnotatedParameters(Class<? extends Annotation> annotationType)
@@ -76,11 +71,6 @@
return delegate().getWeldFields();
}
- public Set<WeldField<?, ?>> getMetaAnnotatedWeldFields(Class<? extends Annotation> metaAnnotationType)
- {
- return delegate().getMetaAnnotatedWeldFields(metaAnnotationType);
- }
-
@Deprecated
public WeldMethod<?, ?> getWeldMethod(Method method)
{
@@ -92,16 +82,6 @@
return delegate().getWeldMethod(signature);
}
- public Set<WeldMethod<?, ?>> getWeldMethodsWithAnnotatedParameters(Class<? extends Annotation> annotationType)
- {
- return delegate().getWeldMethodsWithAnnotatedParameters(annotationType);
- }
-
- public Set<WeldConstructor<?>> getWeldConstructorsWithAnnotatedParameters(Class<? extends Annotation> annotationType)
- {
- return delegate().getWeldConstructorsWithAnnotatedParameters(annotationType);
- }
-
public WeldClass<?> getWeldSuperclass()
{
return delegate().getWeldSuperclass();
@@ -184,4 +164,9 @@
return delegate().getSimpleName();
}
+ public Set<Annotation> getDeclaredMetaAnnotations(Class<? extends Annotation> metaAnnotationType)
+ {
+ return delegate().getDeclaredMetaAnnotations(metaAnnotationType);
+ }
+
}
Modified: core/trunk/impl/src/main/java/org/jboss/weld/introspector/ForwardingWeldConstructor.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/introspector/ForwardingWeldConstructor.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/introspector/ForwardingWeldConstructor.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -29,9 +29,9 @@
@Override
protected abstract WeldConstructor<T> delegate();
- public List<WeldParameter<?, T>> getAnnotatedWBParameters(Class<? extends Annotation> annotationType)
+ public List<WeldParameter<?, T>> getWeldParameters(Class<? extends Annotation> annotationType)
{
- return delegate().getAnnotatedWBParameters(annotationType);
+ return delegate().getWeldParameters(annotationType);
}
@Override
@@ -60,4 +60,9 @@
return delegate().getParameters();
}
+ public Constructor<T> getJavaMember()
+ {
+ return delegate().getJavaMember();
+ }
+
}
Modified: core/trunk/impl/src/main/java/org/jboss/weld/introspector/ForwardingWeldField.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/introspector/ForwardingWeldField.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/introspector/ForwardingWeldField.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -29,6 +29,7 @@
return delegate().get(instance);
}
+ @Override
public WeldClass<X> getDeclaringType()
{
return delegate().getDeclaringType();
@@ -48,5 +49,10 @@
{
return delegate().isTransient();
}
+
+ public Field getJavaMember()
+ {
+ return delegate().getJavaMember();
+ }
}
Modified: core/trunk/impl/src/main/java/org/jboss/weld/introspector/ForwardingWeldMember.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/introspector/ForwardingWeldMember.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/introspector/ForwardingWeldMember.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -23,11 +23,6 @@
@Override
protected abstract WeldMember<T, X, S> delegate();
-
- public S getJavaMember()
- {
- return delegate().getJavaMember();
- }
public WeldClass<X> getDeclaringType()
{
Modified: core/trunk/impl/src/main/java/org/jboss/weld/introspector/ForwardingWeldMethod.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/introspector/ForwardingWeldMethod.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/introspector/ForwardingWeldMethod.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -29,14 +29,9 @@
@Override
protected abstract WeldMethod<T, X> delegate();
- public Method getAnnotatedMethod()
- {
- return delegate().getAnnotatedMethod();
- }
-
public List<WeldParameter<?, X>> getAnnotatedParameters(Class<? extends Annotation> metaAnnotationType)
{
- return delegate().getAnnotatedWBParameters(metaAnnotationType);
+ return delegate().getWeldParameters(metaAnnotationType);
}
public Class<?>[] getParameterTypesAsArray()
@@ -74,14 +69,19 @@
return delegate().getSignature();
}
- public List<WeldParameter<?, X>> getAnnotatedWBParameters(Class<? extends Annotation> metaAnnotationType)
+ public List<WeldParameter<?, X>> getWeldParameters(Class<? extends Annotation> metaAnnotationType)
{
- return delegate().getAnnotatedWBParameters(metaAnnotationType);
+ return delegate().getWeldParameters(metaAnnotationType);
}
public List<AnnotatedParameter<X>> getParameters()
{
return delegate().getParameters();
}
+
+ public Method getJavaMember()
+ {
+ return delegate().getJavaMember();
+ }
}
Modified: core/trunk/impl/src/main/java/org/jboss/weld/introspector/WeldAnnotated.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/introspector/WeldAnnotated.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/introspector/WeldAnnotated.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -18,9 +18,6 @@
import java.lang.annotation.Annotation;
import java.lang.reflect.Type;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Map;
import java.util.Set;
import javax.enterprise.context.NormalScope;
@@ -30,6 +27,8 @@
import javax.inject.Scope;
import javax.interceptor.InterceptorBinding;
+import org.jboss.weld.util.collections.Arrays2;
+
/**
* AnnotatedItem provides a uniform access to the annotations on an annotated
* item defined either in Java or XML
@@ -37,44 +36,31 @@
* @author Pete Muir
*
*/
+
public interface WeldAnnotated<T, S> extends Annotated
{
- // The set of meta-annotations to map
- @SuppressWarnings("unchecked")
- public static final Set<Class<? extends Annotation>> MAPPED_METAANNOTATIONS = new HashSet<Class<? extends Annotation>>(Arrays.asList(Qualifier.class, Stereotype.class, Scope.class, NormalScope.class, InterceptorBinding.class));
-
/**
- * Gets all annotations which are annotated with the given meta annotation
- * type
- *
- * @param The meta annotation to match
- * @return A set of matching meta-annotations. Returns an empty set if there
- * are no matches.
+ * The set of meta-annotations to map
*/
- public Set<Annotation> getMetaAnnotations(Class<? extends Annotation> metaAnnotationType);
+ @SuppressWarnings("unchecked")
+ public static final Set<Class<? extends Annotation>> MAPPED_METAANNOTATIONS = Arrays2.asSet(Qualifier.class, Stereotype.class, Scope.class, NormalScope.class, InterceptorBinding.class);
- public Map<Class<?>, Type> getTypeClosureAsMap();
-
/**
- * Gets all annotations which are declared on this annotated item with the
- * given meta annotation type
- *
- * @param The meta annotation to match
- * @return A set of matching meta-annotations. Returns an empty set if there
- * are no matches.
+ * The set of declared meta-annotations to map
*/
- public Set<Annotation> getDeclaredMetaAnnotations(Class<? extends Annotation> metaAnnotationType);
+ @SuppressWarnings("unchecked")
+ public static final Set<Class<? extends Annotation>> MAPPED_DECLARED_METAANNOTATIONS = Arrays2.asSet(Scope.class, NormalScope.class);
/**
* Gets all annotations which are annotated with the given meta annotation
* type
*
* @param The meta annotation to match
- * @return An array of matching meta-annotations. Returns an empty array if
- * there are no matches.
+ * @return A set of matching meta-annotations. Returns an empty set if there
+ * are no matches.
*/
- public Annotation[] getMetaAnnotationsAsArray(Class<? extends Annotation> metaAnnotationType);
+ public Set<Annotation> getMetaAnnotations(Class<? extends Annotation> metaAnnotationType);
/**
* Gets the binding types for this element
@@ -106,19 +92,13 @@
* The returned types should have any type parameters resolved to their
* actual types.
*
+ * There is no guarantee this methods executes in O(1) time
+ *
* @return the type hierarchy
*/
- public Set<Type> getInterfaceOnlyFlattenedTypeHierarchy();
+ public Set<Type> getInterfaceClosure();
/**
- * Indicates if an annotation type specified is present
- *
- * @param annotationType The annotation to match
- * @return True if present, false if not
- */
- public boolean isDeclaredAnnotationPresent(Class<? extends Annotation> annotationType);
-
- /**
* Gets the type of the element
*
* @return The type of the element
Modified: core/trunk/impl/src/main/java/org/jboss/weld/introspector/WeldAnnotation.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/introspector/WeldAnnotation.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/introspector/WeldAnnotation.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -40,14 +40,6 @@
* @param annotationType The annotation type to match
* @return A set of abstracted members with the annotation type
*/
- public Set<WeldMethod<?, ?>> getAnnotatedMembers(Class<? extends Annotation> annotationType);
+ public Set<WeldMethod<?, ?>> getMembers(Class<? extends Annotation> annotationType);
- /**
- * Get an annotation member by name
- *
- * @param memberName
- * @return
- */
- public <A> WeldMethod<A, ?> getMember(String memberName, WeldClass<A> expectedType);
-
}
Modified: core/trunk/impl/src/main/java/org/jboss/weld/introspector/WeldCallable.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/introspector/WeldCallable.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/introspector/WeldCallable.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -19,9 +19,14 @@
import java.lang.annotation.Annotation;
import java.lang.reflect.Member;
import java.util.List;
+import java.util.Set;
+import javax.enterprise.event.Observes;
+import javax.enterprise.inject.Disposes;
import javax.enterprise.inject.spi.AnnotatedCallable;
+import org.jboss.weld.util.collections.Arrays2;
+
/**
* @author pmuir
*
@@ -29,6 +34,9 @@
public interface WeldCallable<T, X, S extends Member> extends WeldMember<T, X, S>, AnnotatedCallable<X>
{
+ @SuppressWarnings("unchecked")
+ public static final Set<Class<? extends Annotation>> MAPPED_PARAMETER_ANNOTATIONS = Arrays2.asSet(Disposes.class, Observes.class);
+
/**
* Gets the abstracted parameters of the method
*
@@ -40,10 +48,10 @@
/**
* Gets the list of annotated parameters for a given annotation
*
- * @param metaAnnotationType The annotation to match
+ * @param annotationType The annotation to match
* @return A set of matching parameter abstractions. Returns an empty list if
* there are no matches.
*/
- public List<WeldParameter<?, X>> getAnnotatedWBParameters(Class<? extends Annotation> metaAnnotationType);
+ public List<WeldParameter<?, X>> getWeldParameters(Class<? extends Annotation> annotationType);
}
Modified: core/trunk/impl/src/main/java/org/jboss/weld/introspector/WeldClass.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/introspector/WeldClass.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/introspector/WeldClass.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -69,7 +69,7 @@
* @return A set of abstracted fields with the given annotation. Returns an
* empty set if there are no matches
*/
- public Set<WeldField<?, ?>> getAnnotatedWeldFields(Class<? extends Annotation> annotationType);
+ public Set<WeldField<?, ?>> getWeldFields(Class<? extends Annotation> annotationType);
/**
* Gets all fields which are annotated with the given annotation type on this
@@ -79,34 +79,18 @@
* @return A set of abstracted fields with the given annotation. Returns an
* empty set if there are no matches
*/
- public Set<WeldField<?, T>> getDeclaredAnnotatedWeldFields(Class<? extends Annotation> annotationType);
+ public Set<WeldField<?, T>> getDeclaredWeldFields(Class<? extends Annotation> annotationType);
/**
- * Gets all fields which are meta-annotated with metaAnnotationType
- *
- * @param metaAnnotationType The meta annotation to match
- * @return A set of abstracted fields with the given meta-annotation. Returns
- * an empty set if there are no matches
- */
- public Set<WeldField<?, ?>> getMetaAnnotatedWeldFields(Class<? extends Annotation> metaAnnotationType);
-
- /**
* Gets all constructors which are annotated with annotationType
*
* @param annotationType The annotation type to match
* @return A set of abstracted fields with the given annotation. Returns an
* empty set if there are no matches
*/
- public Set<WeldConstructor<T>> getAnnotatedWeldConstructors(Class<? extends Annotation> annotationType);
+ public Set<WeldConstructor<T>> getWeldConstructors(Class<? extends Annotation> annotationType);
/**
- * Gets all constructors
- *
- * @return A set of abstracted constructors
- */
- public Set<WeldConstructor<T>> getWeldConstructors();
-
- /**
* Gets the no-args constructor
*
* @return The no-args constructor, or null if not defined
@@ -128,7 +112,7 @@
* @return A set of abstracted methods with the given annotation. Returns an
* empty set if there are no matches
*/
- public Set<WeldMethod<?, ?>> getAnnotatedWeldMethods(Class<? extends Annotation> annotationType);
+ public Set<WeldMethod<?, ?>> getWeldMethods(Class<? extends Annotation> annotationType);
/**
* Gets all methods annotated with annotationType
@@ -137,7 +121,7 @@
* @return A set of abstracted methods with the given annotation. Returns an
* empty set if there are no matches
*/
- public Set<WeldMethod<?, T>> getDeclaredAnnotatedWeldMethods(Class<? extends Annotation> annotationType);
+ public Set<WeldMethod<?, T>> getDeclaredWeldMethods(Class<? extends Annotation> annotationType);
/**
* Find the annotated method for a given methodDescriptor
@@ -146,6 +130,8 @@
* @return
*
*/
+ // TODO replace with MethodSignature variant
+ @Deprecated
public WeldMethod<?, ?> getWeldMethod(Method method);
/**
@@ -166,7 +152,7 @@
*/
public <M> WeldMethod<M, ?> getWeldMethod(MethodSignature signature);
- // TODO Replace with AnnotatedMethod variant
+ // TODO Replace with MethodSignature variant
@Deprecated
public WeldMethod<?, ?> getDeclaredWeldMethod(Method method);
@@ -177,24 +163,6 @@
* @return A set of abstracted methods with the given annotation. Returns an
* empty set if there are no matches
*/
- public Set<WeldMethod<?, ?>> getWeldMethodsWithAnnotatedParameters(Class<? extends Annotation> annotationType);
-
- /**
- * Gets all with constructors annotated with annotationType
- *
- * @param annotationType The annotation to match
- * @return A set of abstracted constructors with the given annotation. Returns an
- * empty set if there are no matches
- */
- public Set<WeldConstructor<?>> getWeldConstructorsWithAnnotatedParameters(Class<? extends Annotation> annotationType);
-
- /**
- * Gets all with parameters annotated with annotationType
- *
- * @param annotationType The annotation to match
- * @return A set of abstracted methods with the given annotation. Returns an
- * empty set if there are no matches
- */
public Set<WeldMethod<?, T>> getDeclaredWeldMethodsWithAnnotatedParameters(Class<? extends Annotation> annotationType);
/**
@@ -230,5 +198,16 @@
public boolean isEquivalent(Class<?> clazz);
public String getSimpleName();
+
+ /**
+ * Gets all annotations which are declared on this annotated item with the
+ * given meta annotation type
+ *
+ * @param The meta annotation to match
+ * @return A set of matching meta-annotations. Returns an empty set if there
+ * are no matches.
+ */
+ public Set<Annotation> getDeclaredMetaAnnotations(Class<? extends Annotation> metaAnnotationType);
+
}
\ No newline at end of file
Modified: core/trunk/impl/src/main/java/org/jboss/weld/introspector/WeldConstructor.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/introspector/WeldConstructor.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/introspector/WeldConstructor.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -16,11 +16,8 @@
*/
package org.jboss.weld.introspector;
-import java.lang.annotation.Annotation;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
-import java.util.Collections;
-import java.util.Set;
import javax.enterprise.inject.spi.AnnotatedConstructor;
@@ -33,9 +30,6 @@
public interface WeldConstructor<T> extends WeldCallable<T, T, Constructor<T>>, AnnotatedConstructor<T>
{
- @SuppressWarnings("unchecked")
- public static final Set<Class<? extends Annotation>> MAPPED_PARAMETER_ANNOTATIONS = Collections.emptySet();
-
/**
* Creates a new instance of the class, using this constructor
*
Modified: core/trunk/impl/src/main/java/org/jboss/weld/introspector/WeldMember.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/introspector/WeldMember.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/introspector/WeldMember.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -28,8 +28,6 @@
public interface WeldMember<T, X, S extends Member> extends WeldAnnotated<T, S>, AnnotatedMember<X>
{
- public S getJavaMember();
-
/**
* Gets an abstraction of the declaring class
*
Modified: core/trunk/impl/src/main/java/org/jboss/weld/introspector/WeldMethod.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/introspector/WeldMethod.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/introspector/WeldMethod.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -16,15 +16,9 @@
*/
package org.jboss.weld.introspector;
-import java.lang.annotation.Annotation;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Set;
-import javax.enterprise.event.Observes;
-import javax.enterprise.inject.Disposes;
import javax.enterprise.inject.spi.AnnotatedMethod;
/**
@@ -36,8 +30,6 @@
*/
public interface WeldMethod<T, X> extends WeldCallable<T, X, Method>, AnnotatedMethod<X>
{
- @SuppressWarnings("unchecked")
- public static final Set<Class<? extends Annotation>> MAPPED_PARAMETER_ANNOTATIONS = new HashSet<Class<? extends Annotation>>(Arrays.asList(Disposes.class, Observes.class, Disposes.class));
/**
* Get the parameter types as an array
@@ -78,8 +70,6 @@
*/
public boolean isEquivalent(Method method);
- public Method getAnnotatedMethod();
-
public MethodSignature getSignature();
}
Modified: core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/AbstractWeldAnnotated.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/AbstractWeldAnnotated.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/AbstractWeldAnnotated.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -16,22 +16,38 @@
*/
package org.jboss.weld.introspector.jlr;
+import static org.jboss.weld.logging.messages.ReflectionMessage.ANNOTATION_MAP_NULL;
+import static org.jboss.weld.logging.messages.ReflectionMessage.DECLARED_ANNOTATION_MAP_NULL;
+import static org.jboss.weld.util.reflection.Reflections.EMPTY_ANNOTATIONS;
+
import java.lang.annotation.Annotation;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.util.Arrays;
+import java.util.Collection;
import java.util.Collections;
+import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
-import org.jboss.weld.introspector.AnnotationStore;
+import javax.inject.Qualifier;
+
+import org.jboss.weld.exceptions.WeldException;
import org.jboss.weld.introspector.WeldAnnotated;
+import org.jboss.weld.literal.DefaultLiteral;
+import org.jboss.weld.metadata.TypeStore;
+import org.jboss.weld.resources.ClassTransformer;
import org.jboss.weld.util.Proxies;
import org.jboss.weld.util.collections.Arrays2;
+import org.jboss.weld.util.collections.HashSetSupplier;
import org.jboss.weld.util.reflection.HierarchyDiscovery;
-import org.jboss.weld.util.reflection.Reflections;
+import com.google.common.collect.BiMap;
+import com.google.common.collect.HashBiMap;
+import com.google.common.collect.Multimaps;
+import com.google.common.collect.SetMultimap;
+
/**
* Represents functionality common for all annotated items, mainly different
* mappings of the annotations and meta-annotations
@@ -49,24 +65,78 @@
public abstract class AbstractWeldAnnotated<T, S> implements WeldAnnotated<T, S>
{
- interface WrappableAnnotatedItem<T, S> extends WeldAnnotated<T, S>
+ // The set of default binding types
+ private static final Set<Annotation> DEFAULT_QUALIFIERS = Collections.<Annotation>singleton(DefaultLiteral.INSTANCE);
+
+ /**
+ * Builds the annotation map (annotation type -> annotation)
+ *
+ * @param annotations The array of annotations to map
+ * @return The annotation map
+ */
+ protected static Map<Class<? extends Annotation>, Annotation> buildAnnotationMap(Annotation[] annotations)
{
-
- AnnotationStore getAnnotationStore();
-
+ Map<Class<? extends Annotation>, Annotation> annotationMap = new HashMap<Class<? extends Annotation>, Annotation>();
+ for (Annotation annotation : annotations)
+ {
+ annotationMap.put(annotation.annotationType(), annotation);
+ }
+ return annotationMap;
}
-
- // Cached string representation
- private String toString;
- private final AnnotationStore annotationStore;
+
+ /**
+ * Builds the annotation map (annotation type -> annotation)
+ *
+ * @param annotations The array of annotations to map
+ * @return The annotation map
+ */
+ protected static Map<Class<? extends Annotation>, Annotation> buildAnnotationMap(Iterable<Annotation> annotations)
+ {
+ Map<Class<? extends Annotation>, Annotation> annotationMap = new HashMap<Class<? extends Annotation>, Annotation>();
+ for (Annotation annotation : annotations)
+ {
+ annotationMap.put(annotation.annotationType(), annotation);
+ }
+ return annotationMap;
+ }
+
+
+ protected static void addMetaAnnotations(SetMultimap<Class<? extends Annotation>, Annotation> metaAnnotationMap, Annotation annotation, Annotation[] metaAnnotations, boolean declared)
+ {
+ for (Annotation metaAnnotation : metaAnnotations)
+ {
+ addMetaAnnotation(metaAnnotationMap, annotation, metaAnnotation.annotationType(), declared);
+ }
+ }
+
+ protected static void addMetaAnnotations(SetMultimap<Class<? extends Annotation>, Annotation> metaAnnotationMap, Annotation annotation, Iterable<Annotation> metaAnnotations, boolean declared)
+ {
+ for (Annotation metaAnnotation : metaAnnotations)
+ {
+ addMetaAnnotation(metaAnnotationMap, annotation, metaAnnotation.annotationType(), declared);
+ }
+ }
+
+ private static void addMetaAnnotation(SetMultimap<Class<? extends Annotation>, Annotation> metaAnnotationMap, Annotation annotation, Class<? extends Annotation> metaAnnotationType, boolean declared)
+ {
+ // Only map meta-annotations we are interested in
+ if (declared ? MAPPED_DECLARED_METAANNOTATIONS.contains(metaAnnotationType) : MAPPED_METAANNOTATIONS.contains(metaAnnotationType))
+ {
+ metaAnnotationMap.put(metaAnnotationType, annotation);
+ }
+ }
+
+ // The annotation map (annotation type -> annotation) of the item
+ private final BiMap<Class<? extends Annotation>, Annotation> annotationMap;
+ // The meta-annotation map (annotation type -> set of annotations containing
+ // meta-annotation) of the item
+ private final SetMultimap<Class<? extends Annotation>, Annotation> metaAnnotationMap;
+
private final Class<T> rawType;
private final Type[] actualTypeArguments;
private final Type type;
- private final Map<Class<?>, Type> typeClosureAsMap;
- private final Set<Type> typeClosureAsSet;
- private final Set<Type> interfaceOnlyFlattenedTypes;
+ private final Set<Type> typeClosure;
private final boolean proxyable;
- private final boolean _parameterizedType;
/**
* Constructor
@@ -77,9 +147,25 @@
* @param annotationMap A map of annotation to register
*
*/
- public AbstractWeldAnnotated(AnnotationStore annotatedItemHelper, Class<T> rawType, Type type, Set<Type> typeClosure)
+ public AbstractWeldAnnotated(Map<Class<? extends Annotation>, Annotation> annotationMap, Map<Class<? extends Annotation>, Annotation> declaredAnnotationMap, ClassTransformer classTransformer, Class<T> rawType, Type type, Set<Type> typeClosure)
{
- this.annotationStore = annotatedItemHelper;
+ if (annotationMap == null)
+ {
+ throw new WeldException(ANNOTATION_MAP_NULL);
+ }
+ this.annotationMap = HashBiMap.create(annotationMap.size());
+ this.metaAnnotationMap = Multimaps.newSetMultimap(new HashMap<Class<? extends Annotation>, Collection<Annotation>>(), HashSetSupplier.<Annotation>instance());
+ for (Annotation annotation : annotationMap.values())
+ {
+ addMetaAnnotations(metaAnnotationMap, annotation, annotation.annotationType().getAnnotations(), false);
+ addMetaAnnotations(metaAnnotationMap, annotation, classTransformer.getTypeStore().get(annotation.annotationType()), false);
+ this.annotationMap.put(annotation.annotationType(), annotation);
+ }
+
+ if (declaredAnnotationMap == null)
+ {
+ throw new WeldException(DECLARED_ANNOTATION_MAP_NULL);
+ }
this.rawType = rawType;
this.type = type;
if (type instanceof ParameterizedType)
@@ -90,74 +176,37 @@
{
this.actualTypeArguments = new Type[0];
}
- this._parameterizedType = Reflections.isParameterizedType(rawType);
- this.interfaceOnlyFlattenedTypes = new HashSet<Type>();
- for (Type t : rawType.getGenericInterfaces())
- {
- interfaceOnlyFlattenedTypes.addAll(new HierarchyDiscovery(t).getTypeClosure());
- }
- this.typeClosureAsMap = Reflections.buildTypeMap(typeClosure);
- this.typeClosureAsSet = typeClosure;
- this.proxyable = Proxies.isTypesProxyable(typeClosureAsSet);
+ this.typeClosure = typeClosure;
+ this.proxyable = Proxies.isTypesProxyable(typeClosure);
}
- public AbstractWeldAnnotated(AnnotationStore annotatedItemHelper)
+ protected AbstractWeldAnnotated(Map<Class<? extends Annotation>, Annotation> annotationMap, Map<Class<? extends Annotation>, Annotation> declaredAnnotationMap, TypeStore typeStore)
{
- this.annotationStore = annotatedItemHelper;
+ if (annotationMap == null)
+ {
+ throw new WeldException(ANNOTATION_MAP_NULL);
+ }
+ this.annotationMap = HashBiMap.create(annotationMap.size());
+ this.metaAnnotationMap = Multimaps.newSetMultimap(new HashMap<Class<? extends Annotation>, Collection<Annotation>>(), HashSetSupplier.<Annotation>instance());
+ for (Annotation annotation : annotationMap.values())
+ {
+ addMetaAnnotations(metaAnnotationMap, annotation, annotation.annotationType().getAnnotations(), false);
+ addMetaAnnotations(metaAnnotationMap, annotation, typeStore.get(annotation.annotationType()), false);
+ this.annotationMap.put(annotation.annotationType(), annotation);
+ }
+
+ if (declaredAnnotationMap == null)
+ {
+ throw new WeldException(DECLARED_ANNOTATION_MAP_NULL);
+ }
this.rawType = null;
this.type = null;
this.actualTypeArguments = new Type[0];
- this._parameterizedType = false;
- this.typeClosureAsMap = null;
- this.typeClosureAsSet = null;
- this.interfaceOnlyFlattenedTypes = null;
+ this.typeClosure = null;
this.proxyable = false;
}
- public AnnotationStore getAnnotationStore()
- {
- return annotationStore;
- }
-
- public <A extends Annotation> A getAnnotation(Class<A> annotationType)
- {
- return getAnnotationStore().getAnnotation(annotationType);
- }
-
- public Set<Annotation> getMetaAnnotations(Class<? extends Annotation> metaAnnotationType)
- {
- return getAnnotationStore().getMetaAnnotations(metaAnnotationType);
- }
-
- public Set<Annotation> getDeclaredMetaAnnotations(Class<? extends Annotation> metaAnnotationType)
- {
- return getAnnotationStore().getDeclaredMetaAnnotations(metaAnnotationType);
- }
-
- public Annotation[] getMetaAnnotationsAsArray(Class<? extends Annotation> metaAnnotationType)
- {
- return getMetaAnnotations(metaAnnotationType).toArray(new Annotation[0]);
- }
-
- public Set<Annotation> getAnnotations()
- {
- return getAnnotationStore().getAnnotations();
- }
-
/**
- * Checks if an annotation is present on the item
- *
- * @param annotatedType The annotation type to check for
- * @return True if present, false otherwise.
- *
- * @see org.jboss.weld.introspector.WeldAnnotated#isAnnotationPresent(Class)
- */
- public boolean isAnnotationPresent(Class<? extends Annotation> annotatedType)
- {
- return getAnnotationStore().isAnnotationPresent(annotatedType);
- }
-
- /**
* Compares two AbstractAnnotatedItems
*
* @param other The other item
@@ -186,44 +235,6 @@
}
/**
- * Gets a string representation of the item
- *
- * @return A string representation
- */
- @Override
- public String toString()
- {
- if (toString != null)
- {
- return toString;
- }
- toString = "Abstract annotated item " + getName();
- return toString;
- }
-
- @Deprecated
- public Set<Annotation> getQualifiers()
- {
- return getAnnotationStore().getBindings();
- }
-
- /**
- * Gets (as array) the binding types of the item
- *
- * Looks at the meta-annotations map for annotations with binding type
- * meta-annotation. Returns default binding (current) if none specified.
- *
- * @return An array of (binding type) annotations
- *
- * @see org.jboss.weld.introspector.WeldAnnotated#getBindingsAsArray()
- */
- @Deprecated
- public Annotation[] getBindingsAsArray()
- {
- return getAnnotationStore().getBindingsAsArray();
- }
-
- /**
* Indicates if the type is proxyable to a set of pre-defined rules
*
* @return True if proxyable, false otherwise.
@@ -245,21 +256,21 @@
return Arrays2.copyOf(actualTypeArguments, actualTypeArguments.length);
}
- public Set<Type> getInterfaceOnlyFlattenedTypeHierarchy()
+ public Set<Type> getInterfaceClosure()
{
- return Collections.unmodifiableSet(interfaceOnlyFlattenedTypes);
+ Set<Type> types = new HashSet<Type>();
+ for (Type t : rawType.getGenericInterfaces())
+ {
+ types.addAll(new HierarchyDiscovery(t).getTypeClosure());
+ }
+ return types;
}
public abstract S getDelegate();
- public boolean isDeclaredAnnotationPresent(Class<? extends Annotation> annotationType)
- {
- return getAnnotationStore().isDeclaredAnnotationPresent(annotationType);
- }
-
public boolean isParameterizedType()
{
- return _parameterizedType;
+ return rawType.getTypeParameters().length > 0;
}
public Type getBaseType()
@@ -269,12 +280,52 @@
public Set<Type> getTypeClosure()
{
- return typeClosureAsSet;
+ return typeClosure;
}
- public Map<Class<?>, Type> getTypeClosureAsMap()
+ public Set<Annotation> getAnnotations()
{
- return typeClosureAsMap;
+ return Collections.unmodifiableSet(annotationMap.values());
}
+ public Set<Annotation> getMetaAnnotations(Class<? extends Annotation> metaAnnotationType)
+ {
+ return Collections.unmodifiableSet(metaAnnotationMap.get(metaAnnotationType));
+ }
+
+ @Deprecated
+ public Set<Annotation> getQualifiers()
+ {
+ if (getMetaAnnotations(Qualifier.class).size() > 0)
+ {
+ return Collections.unmodifiableSet(getMetaAnnotations(Qualifier.class));
+ }
+ else
+ {
+ return Collections.unmodifiableSet(DEFAULT_QUALIFIERS);
+ }
+ }
+
+ @Deprecated
+ public Annotation[] getBindingsAsArray()
+ {
+ return getQualifiers().toArray(EMPTY_ANNOTATIONS);
+ }
+
+
+ public <A extends Annotation> A getAnnotation(Class<A> annotationType)
+ {
+ return annotationType.cast(annotationMap.get(annotationType));
+ }
+
+ public boolean isAnnotationPresent(Class<? extends Annotation> annotationType)
+ {
+ return annotationMap.containsKey(annotationType);
+ }
+
+ Map<Class<? extends Annotation>, Annotation> getAnnotationMap()
+ {
+ return annotationMap;
+ }
+
}
\ No newline at end of file
Modified: core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/AbstractWeldCallable.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/AbstractWeldCallable.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/AbstractWeldCallable.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -16,26 +16,26 @@
*/
package org.jboss.weld.introspector.jlr;
+import java.lang.annotation.Annotation;
import java.lang.reflect.Member;
import java.lang.reflect.Type;
+import java.util.Map;
import java.util.Set;
-import org.jboss.weld.introspector.AnnotationStore;
import org.jboss.weld.introspector.WeldCallable;
import org.jboss.weld.introspector.WeldClass;
+import org.jboss.weld.resources.ClassTransformer;
/**
* @author pmuir
*
*/
public abstract class AbstractWeldCallable<T, X, S extends Member> extends AbstractWeldMember<T, X, S> implements WeldCallable<T, X, S>
-{
-
+{
-
- protected AbstractWeldCallable(AnnotationStore annotatedItemHelper, Member member, Class<T> rawType, Type type, Set<Type> typeClosure, WeldClass<X> declaringType)
+ protected AbstractWeldCallable(Map<Class<? extends Annotation>, Annotation> annotationMap, Map<Class<? extends Annotation>, Annotation> declaredAnnotationMap, ClassTransformer classTransformer, Member member, Class<T> rawType, Type type, Set<Type> typeClosure, WeldClass<X> declaringType)
{
- super(annotatedItemHelper, member, rawType, type, typeClosure, declaringType);
+ super(annotationMap, declaredAnnotationMap, classTransformer, member, rawType, type, typeClosure, declaringType);
}
}
Modified: core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/AbstractWeldMember.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/AbstractWeldMember.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/AbstractWeldMember.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -16,15 +16,16 @@
*/
package org.jboss.weld.introspector.jlr;
+import java.lang.annotation.Annotation;
import java.lang.reflect.Member;
import java.lang.reflect.Modifier;
import java.lang.reflect.Type;
+import java.util.Map;
import java.util.Set;
-import org.jboss.weld.introspector.AnnotationStore;
-import org.jboss.weld.introspector.ForwardingWeldMember;
import org.jboss.weld.introspector.WeldClass;
import org.jboss.weld.introspector.WeldMember;
+import org.jboss.weld.resources.ClassTransformer;
import org.jboss.weld.util.reflection.Reflections;
/**
@@ -39,21 +40,9 @@
*/
public abstract class AbstractWeldMember<T, X, S extends Member> extends AbstractWeldAnnotated<T, S> implements WeldMember<T, X, S>
{
-
- static abstract class WrappableForwardingAnnotatedMember<T, X, S extends Member> extends ForwardingWeldMember<T, X, S> implements WrappableAnnotatedItem<T, S>
- {
-
- }
- // The name of the member
- private final String name;
-
// Cached string representation
private String toString;
- private final boolean _public;
- private final boolean _private;
- private final boolean _packagePrivate;
- private final Package _package;
private final WeldClass<X> declaringType;
/**
@@ -61,14 +50,9 @@
*
* @param annotationMap The annotation map
*/
- protected AbstractWeldMember(AnnotationStore annotatedItemHelper, Member member, Class<T> rawType, Type type, Set<Type> typeClosure, WeldClass<X> declaringType)
+ protected AbstractWeldMember(Map<Class<? extends Annotation>, Annotation> annotationMap, Map<Class<? extends Annotation>, Annotation> declaredAnnotationMap, ClassTransformer classTransformer, Member member, Class<T> rawType, Type type, Set<Type> typeClosure, WeldClass<X> declaringType)
{
- super(annotatedItemHelper, rawType, type, typeClosure);
- name = member.getName();
- this._public = Modifier.isPublic(member.getModifiers());
- this._private = Modifier.isPrivate(member.getModifiers());
- this._packagePrivate = Reflections.isPackagePrivate(member.getModifiers());
- this._package = member.getDeclaringClass().getPackage();
+ super(annotationMap, declaredAnnotationMap, classTransformer, rawType, type, typeClosure);
this.declaringType = declaringType;
}
@@ -103,22 +87,22 @@
public boolean isPublic()
{
- return _public;
+ return Modifier.isPublic(getJavaMember().getModifiers());
}
public boolean isPrivate()
{
- return _private;
+ return Modifier.isPrivate(getJavaMember().getModifiers());
}
public boolean isPackagePrivate()
{
- return _packagePrivate;
+ return Reflections.isPackagePrivate(getJavaMember().getModifiers());
}
public Package getPackage()
{
- return _package;
+ return getJavaMember().getDeclaringClass().getPackage();
}
/**
@@ -141,7 +125,7 @@
*/
public String getName()
{
- return name;
+ return getJavaMember().getName();
}
/**
Modified: core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/MethodSignatureImpl.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/MethodSignatureImpl.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/MethodSignatureImpl.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -88,7 +88,7 @@
@Override
public String toString()
{
- return getMethodName() + Arrays.asList(getParameterTypes()).toString().replace('[', '(').replace(']', ')');
+ return new StringBuffer().append("method ").append(getMethodName()).append(Arrays.toString(getParameterTypes()).replace('[', '(').replace(']', ')')).toString();
}
}
\ No newline at end of file
Modified: core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldAnnotationImpl.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldAnnotationImpl.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldAnnotationImpl.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -25,16 +25,14 @@
import java.util.Map;
import java.util.Set;
-import org.jboss.weld.introspector.AnnotationStore;
import org.jboss.weld.introspector.WeldAnnotation;
-import org.jboss.weld.introspector.WeldClass;
import org.jboss.weld.introspector.WeldMethod;
import org.jboss.weld.resources.ClassTransformer;
import org.jboss.weld.util.Names;
+import org.jboss.weld.util.collections.HashSetSupplier;
import org.jboss.weld.util.reflection.HierarchyDiscovery;
import org.jboss.weld.util.reflection.SecureReflections;
-import com.google.common.base.Supplier;
import com.google.common.collect.Multimaps;
import com.google.common.collect.SetMultimap;
@@ -57,14 +55,16 @@
// The set of abstracted members
private final Set<WeldMethod<?, ?>> members;
- private final Map<String, WeldMethod<?, ?>> namedMembers;
-
- // Cached string representation
- private final String toString;
-
public static <A extends Annotation> WeldAnnotation<A> of(Class<A> annotationType, ClassTransformer classTransformer)
{
- return new WeldAnnotationImpl<A>(annotationType, classTransformer);
+ Map<Class<? extends Annotation>, Annotation> annotationMap = new HashMap<Class<? extends Annotation>, Annotation>();
+ annotationMap.putAll(buildAnnotationMap(annotationType.getAnnotations()));
+ annotationMap.putAll(buildAnnotationMap(classTransformer.getTypeStore().get(annotationType)));
+
+ Map<Class<? extends Annotation>, Annotation> declaredAnnotationMap = new HashMap<Class<? extends Annotation>, Annotation>();
+ declaredAnnotationMap.putAll(buildAnnotationMap(annotationType.getDeclaredAnnotations()));
+ declaredAnnotationMap.putAll(buildAnnotationMap(classTransformer.getTypeStore().get(annotationType)));
+ return new WeldAnnotationImpl<A>(annotationType, annotationMap, declaredAnnotationMap, classTransformer);
}
/**
@@ -74,22 +74,12 @@
*
* @param annotationType The annotation type
*/
- protected WeldAnnotationImpl(Class<T> annotationType, ClassTransformer classTransformer)
+ protected WeldAnnotationImpl(Class<T> annotationType, Map<Class<? extends Annotation>, Annotation> annotationMap, Map<Class<? extends Annotation>, Annotation> declaredAnnotationMap, ClassTransformer classTransformer)
{
- super(annotationType, annotationType, null, new HierarchyDiscovery(annotationType).getTypeClosure(), AnnotationStore.of(annotationType, classTransformer.getTypeStore().get(annotationType), classTransformer.getTypeStore().get(annotationType), classTransformer.getTypeStore()), classTransformer);
+ super(annotationType, annotationType, null, new HierarchyDiscovery(annotationType).getTypeClosure(), annotationMap, declaredAnnotationMap, classTransformer);
this.clazz = annotationType;
- this.toString = "class " + Names.classToString(getDelegate());
members = new HashSet<WeldMethod<?, ?>>();
- annotatedMembers = Multimaps.newSetMultimap(new HashMap<Class<? extends Annotation>, Collection<WeldMethod<?, ?>>>(), new Supplier<Set<WeldMethod<?, ?>>>()
- {
-
- public Set<WeldMethod<?, ?>> get()
- {
- return new HashSet<WeldMethod<?, ?>>();
- }
-
- });
- this.namedMembers = new HashMap<String, WeldMethod<?, ?>>();
+ annotatedMembers = Multimaps.newSetMultimap(new HashMap<Class<? extends Annotation>, Collection<WeldMethod<?, ?>>>(), HashSetSupplier.<WeldMethod<?, ?>>instance());
for (Method member : SecureReflections.getDeclaredMethods(clazz))
{
WeldMethod<?, ?> annotatedMethod = WeldMethodImpl.of(member, this, classTransformer);
@@ -98,7 +88,6 @@
{
annotatedMembers.put(annotation.annotationType(), annotatedMethod);
}
- namedMembers.put(annotatedMethod.getName(), annotatedMethod);
}
}
@@ -125,18 +114,13 @@
* @return The set of abstracted members with the given annotation type
* present. An empty set is returned if no matches are found
*
- * @see org.jboss.weld.introspector.WeldAnnotation#getAnnotatedMembers(Class)
+ * @see org.jboss.weld.introspector.WeldAnnotation#getMembers(Class)
*/
- public Set<WeldMethod<?, ?>> getAnnotatedMembers(Class<? extends Annotation> annotationType)
+ public Set<WeldMethod<?, ?>> getMembers(Class<? extends Annotation> annotationType)
{
return Collections.unmodifiableSet(annotatedMembers.get(annotationType));
}
- public <A> WeldMethod<A, ?> getMember(String memberName, WeldClass<A> expectedType)
- {
- return (WeldMethod<A, ?>) namedMembers.get(memberName);
- }
-
/**
* Gets a string representation of the annotation
*
@@ -145,7 +129,7 @@
@Override
public String toString()
{
- return toString;
+ return new StringBuilder().append("class ").append(Names.classToString(getDelegate())).toString();
}
@Override
Modified: core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldClassImpl.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldClassImpl.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldClassImpl.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -37,7 +37,6 @@
import javax.enterprise.inject.spi.AnnotatedMethod;
import javax.enterprise.inject.spi.AnnotatedType;
-import org.jboss.weld.introspector.AnnotationStore;
import org.jboss.weld.introspector.ConstructorSignature;
import org.jboss.weld.introspector.MethodSignature;
import org.jboss.weld.introspector.WeldClass;
@@ -46,11 +45,11 @@
import org.jboss.weld.introspector.WeldMethod;
import org.jboss.weld.resources.ClassTransformer;
import org.jboss.weld.util.Names;
+import org.jboss.weld.util.collections.HashSetSupplier;
import org.jboss.weld.util.reflection.HierarchyDiscovery;
import org.jboss.weld.util.reflection.Reflections;
import org.jboss.weld.util.reflection.SecureReflections;
-import com.google.common.base.Supplier;
import com.google.common.collect.Multimaps;
import com.google.common.collect.SetMultimap;
@@ -69,27 +68,11 @@
// Class attributes
private final WeldClass<?> superclass;
- private final String name;
- private final String _simpleName;
- private final boolean _public;
- private final boolean _private;
- private final boolean _packagePrivate;
- private final Package _package;
- private final boolean _abstract;
- private final boolean _member;
- private final boolean _local;
- private final boolean _anonymous;
- private final boolean _enum;
- private final boolean _serializable;
- private static List<Class<?>> NO_ARGUMENTS = Collections.emptyList();
-
// The set of abstracted fields
private final Set<WeldField<?, ?>> fields;
// The map from annotation type to abstracted field with annotation
private final SetMultimap<Class<? extends Annotation>, WeldField<?, ?>> annotatedFields;
- // The map from annotation type to abstracted field with meta-annotation
- private final SetMultimap<Class<? extends Annotation>, WeldField<?, ?>> metaAnnotatedFields;
// The set of abstracted fields
private final Set<WeldField<?, ?>> declaredFields;
@@ -105,8 +88,6 @@
private final Map<MethodSignature, WeldMethod<?, ?>> methodsBySignature;
// The map from annotation type to abstracted method with annotation
private final SetMultimap<Class<? extends Annotation>, WeldMethod<?, ?>> annotatedMethods;
- // The map from annotation type to method with a parameter with annotation
- private final SetMultimap<Class<? extends Annotation>, WeldMethod<?, ?>> methodsByAnnotatedParameters;
// The set of abstracted methods
private final Set<WeldMethod<?, ?>> declaredMethods;
@@ -116,45 +97,36 @@
private final SetMultimap<Class<? extends Annotation>, WeldMethod<?, T>> declaredMethodsByAnnotatedParameters;
// The set of abstracted constructors
- private final Set<WeldConstructor<T>> constructors;
+ private final Set<AnnotatedConstructor<T>> constructors;
private final Map<ConstructorSignature, WeldConstructor<?>> declaredConstructorsBySignature;
// The map from annotation type to abstracted constructor with annotation
private final SetMultimap<Class<? extends Annotation>, WeldConstructor<T>> annotatedConstructors;
// The map from class list to abstracted constructor
private final Map<List<Class<?>>, WeldConstructor<T>> constructorsByArgumentMap;
+
+ // The meta-annotation map (annotation type -> set of annotations containing
+ // meta-annotation) of the item
+ private final SetMultimap<Class<? extends Annotation>, Annotation> declaredMetaAnnotationMap;
- private final SetMultimap<Class<? extends Annotation>, WeldConstructor<?>> constructorsByAnnotatedParameters;
-
- // Cached string representation
- private final String toString;
-
-
public static <T> WeldClass<T> of(Class<T> clazz, ClassTransformer classTransformer)
{
- AnnotationStore annotationStore = AnnotationStore.of(clazz.getAnnotations(), clazz.getDeclaredAnnotations(), classTransformer.getTypeStore());
- return new WeldClassImpl<T>(clazz, clazz, null, new HierarchyDiscovery(clazz).getTypeClosure(), annotationStore, classTransformer);
+ return new WeldClassImpl<T>(clazz, clazz, null, new HierarchyDiscovery(clazz).getTypeClosure(), buildAnnotationMap(clazz.getAnnotations()), buildAnnotationMap(clazz.getDeclaredAnnotations()), classTransformer);
}
public static <T> WeldClass<T> of(AnnotatedType<T> annotatedType, ClassTransformer classTransformer)
{
- AnnotationStore annotationStore = AnnotationStore.of(annotatedType.getAnnotations(), annotatedType.getAnnotations(), classTransformer.getTypeStore());
- return new WeldClassImpl<T>(annotatedType.getJavaClass(), annotatedType.getBaseType(), annotatedType, annotatedType.getTypeClosure(), annotationStore, classTransformer);
+ return new WeldClassImpl<T>(annotatedType.getJavaClass(), annotatedType.getBaseType(), annotatedType, annotatedType.getTypeClosure(), buildAnnotationMap(annotatedType.getAnnotations()), buildAnnotationMap(annotatedType.getAnnotations()), classTransformer);
}
-
+
public static <T> WeldClass<T> of(Class<T> rawType, Type type, ClassTransformer classTransformer)
{
- AnnotationStore annotationStore = AnnotationStore.of(rawType.getAnnotations(), rawType.getDeclaredAnnotations(), classTransformer.getTypeStore());
- return new WeldClassImpl<T>(rawType, type, null, new HierarchyDiscovery(type).getTypeClosure(), annotationStore, classTransformer);
+ return new WeldClassImpl<T>(rawType, type, null, new HierarchyDiscovery(type).getTypeClosure(), buildAnnotationMap(rawType.getAnnotations()), buildAnnotationMap(rawType.getDeclaredAnnotations()), classTransformer);
}
- protected WeldClassImpl(Class<T> rawType, Type type, AnnotatedType<T> annotatedType, Set<Type> typeClosure, AnnotationStore annotationStore, ClassTransformer classTransformer)
+ protected WeldClassImpl(Class<T> rawType, Type type, AnnotatedType<T> annotatedType, Set<Type> typeClosure, Map<Class<? extends Annotation>, Annotation> annotationMap, Map<Class<? extends Annotation>, Annotation> declaredAnnotationMap, ClassTransformer classTransformer)
{
- super(annotationStore, rawType, type, typeClosure);
- this.toString = "class " + Names.classToString(rawType);
-
- // Assign class attributes
- this.name = rawType.getName();
- this._simpleName = rawType.getSimpleName();
+ super(annotationMap, declaredAnnotationMap, classTransformer, rawType, type, typeClosure);
+
if (rawType.getSuperclass() != null)
{
this.superclass = classTransformer.loadClass(rawType.getSuperclass());
@@ -163,58 +135,15 @@
{
this.superclass = null;
}
- this._public = Modifier.isFinal(rawType.getModifiers());
- this._private = Modifier.isPrivate(rawType.getModifiers());
- this._packagePrivate = Reflections.isPackagePrivate(rawType.getModifiers());
- this._package = rawType.getPackage();
- this._local = rawType.isLocalClass();
- this._anonymous = rawType.isAnonymousClass();
- this._member = rawType.isMemberClass();
- this._abstract = Reflections.isAbstract(rawType);
- this._enum = rawType.isEnum();
- this._serializable = Reflections.isSerializable(rawType);
-
+
// Assign class field information
this.fields = new HashSet<WeldField<?, ?>>();
- this.annotatedFields = Multimaps.newSetMultimap(new HashMap<Class<? extends Annotation>, Collection<WeldField<?, ?>>>(), new Supplier< Set<WeldField<?, ?>>>()
- {
-
- public Set<WeldField<?, ?>> get()
- {
- return new HashSet<WeldField<?, ?>>();
- }
-
- });
- this.metaAnnotatedFields = Multimaps.newSetMultimap(new HashMap<Class<? extends Annotation>, Collection<WeldField<?, ?>>>(), new Supplier< Set<WeldField<?, ?>>>()
- {
-
- public Set<WeldField<?, ?>> get()
- {
- return new HashSet<WeldField<?, ?>>();
- }
-
- });
+ this.annotatedFields = Multimaps.newSetMultimap(new HashMap<Class<? extends Annotation>, Collection<WeldField<?, ?>>>(), HashSetSupplier.<WeldField<?, ?>> instance());
this.declaredFields = new HashSet<WeldField<?, ?>>();
this.declaredFieldsByName = new HashMap<String, WeldField<?, ?>>();
- this.declaredAnnotatedFields = Multimaps.newSetMultimap(new HashMap<Class<? extends Annotation>, Collection<WeldField<?, T>>>(), new Supplier< Set<WeldField<?, T>>>()
- {
-
- public Set<WeldField<?, T>> get()
- {
- return new HashSet<WeldField<?, T>>();
- }
-
- });
- this.declaredMetaAnnotatedFields = Multimaps.newSetMultimap(new HashMap<Class<? extends Annotation>, Collection<WeldField<?, ?>>>(), new Supplier< Set<WeldField<?, ?>>>()
- {
-
- public Set<WeldField<?, ?>> get()
- {
- return new HashSet<WeldField<?, ?>>();
- }
-
- });
-
+ this.declaredAnnotatedFields = Multimaps.newSetMultimap(new HashMap<Class<? extends Annotation>, Collection<WeldField<?, T>>>(), HashSetSupplier.<WeldField<?, T>> instance());
+ this.declaredMetaAnnotatedFields = Multimaps.newSetMultimap(new HashMap<Class<? extends Annotation>, Collection<WeldField<?, ?>>>(), HashSetSupplier.<WeldField<?, ?>> instance());
+
Map<Field, AnnotatedField<? super T>> annotatedTypeFields = new HashMap<Field, AnnotatedField<? super T>>();
if (annotatedType != null)
{
@@ -223,7 +152,7 @@
annotatedTypeFields.put(annotatedField.getJavaMember(), annotatedField);
}
}
-
+
for (Class<?> c = rawType; c != Object.class && c != null; c = c.getSuperclass())
{
for (Field field : SecureReflections.getDeclaredFields(c))
@@ -231,13 +160,13 @@
WeldField<?, T> annotatedField = null;
if (annotatedTypeFields.containsKey(field))
{
- annotatedField = WeldFieldImpl.of(annotatedTypeFields.get(field), this.<T>getDeclaringWBClass(field, classTransformer), classTransformer);
+ annotatedField = WeldFieldImpl.of(annotatedTypeFields.get(field), this.<T> getDeclaringWBClass(field, classTransformer), classTransformer);
}
else
{
- annotatedField = WeldFieldImpl.of(field, this.<T>getDeclaringWBClass(field, classTransformer), classTransformer);
+ annotatedField = WeldFieldImpl.of(field, this.<T> getDeclaringWBClass(field, classTransformer), classTransformer);
}
-
+
this.fields.add(annotatedField);
if (c == rawType)
{
@@ -253,7 +182,6 @@
}
for (Annotation metaAnnotation : annotation.annotationType().getAnnotations())
{
- this.metaAnnotatedFields.put(metaAnnotation.annotationType(), annotatedField);
if (c == rawType)
{
this.declaredMetaAnnotatedFields.put(metaAnnotation.annotationType(), annotatedField);
@@ -265,27 +193,10 @@
}
// Assign constructor information
- this.constructors = new HashSet<WeldConstructor<T>>();
+ this.constructors = new HashSet<AnnotatedConstructor<T>>();
this.constructorsByArgumentMap = new HashMap<List<Class<?>>, WeldConstructor<T>>();
- this.annotatedConstructors = Multimaps.newSetMultimap(new HashMap<Class<? extends Annotation>, Collection<WeldConstructor<T>>>(), new Supplier< Set<WeldConstructor<T>>>()
- {
-
- public Set<WeldConstructor<T>> get()
- {
- return new HashSet<WeldConstructor<T>>();
- }
-
- });
- this.constructorsByAnnotatedParameters = Multimaps.newSetMultimap(new HashMap<Class<? extends Annotation>, Collection<WeldConstructor<?>>>(), new Supplier< Set<WeldConstructor<?>>>()
- {
-
- public Set<WeldConstructor<?>> get()
- {
- return new HashSet<WeldConstructor<?>>();
- }
-
- });
-
+ this.annotatedConstructors = Multimaps.newSetMultimap(new HashMap<Class<? extends Annotation>, Collection<WeldConstructor<T>>>(), HashSetSupplier.<WeldConstructor<T>> instance());
+
Map<Constructor<? super T>, AnnotatedConstructor<T>> annotatedTypeConstructors = new HashMap<Constructor<? super T>, AnnotatedConstructor<T>>();
if (annotatedType != null)
{
@@ -294,7 +205,7 @@
annotatedTypeConstructors.put(annotated.getJavaMember(), annotated);
}
}
-
+
this.declaredConstructorsBySignature = new HashMap<ConstructorSignature, WeldConstructor<?>>();
for (Constructor<?> constructor : SecureReflections.getDeclaredConstructors(rawType))
{
@@ -308,9 +219,9 @@
{
// TODO Fix this cast
Constructor<T> c = (Constructor<T>) constructor;
- annotatedConstructor = WeldConstructorImpl.of(c, this.<T>getDeclaringWBClass(c, classTransformer), classTransformer);
+ annotatedConstructor = WeldConstructorImpl.of(c, this.<T> getDeclaringWBClass(c, classTransformer), classTransformer);
}
-
+
this.constructors.add(annotatedConstructor);
this.constructorsByArgumentMap.put(Arrays.asList(constructor.getParameterTypes()), annotatedConstructor);
@@ -324,58 +235,17 @@
}
annotatedConstructors.get(annotation.annotationType()).add(annotatedConstructor);
}
-
- for (Class<? extends Annotation> annotationType : WeldConstructor.MAPPED_PARAMETER_ANNOTATIONS)
- {
- if (annotatedConstructor.getAnnotatedWBParameters(annotationType).size() > 0)
- {
- constructorsByAnnotatedParameters.put(annotationType, annotatedConstructor);
- }
- }
}
// Assign method information
this.methods = new HashSet<WeldMethod<?, ?>>();
- this.annotatedMethods = Multimaps.newSetMultimap(new HashMap<Class<? extends Annotation>, Collection<WeldMethod<?, ?>>>(), new Supplier< Set<WeldMethod<?, ?>>>()
- {
-
- public Set<WeldMethod<?, ?>> get()
- {
- return new HashSet<WeldMethod<?, ?>>();
- }
-
- });
- this.methodsByAnnotatedParameters = Multimaps.newSetMultimap(new HashMap<Class<? extends Annotation>, Collection<WeldMethod<?, ?>>>(), new Supplier< Set<WeldMethod<?, ?>>>()
- {
-
- public Set<WeldMethod<?, ?>> get()
- {
- return new HashSet<WeldMethod<?, ?>>();
- }
-
- });
+ this.annotatedMethods = Multimaps.newSetMultimap(new HashMap<Class<? extends Annotation>, Collection<WeldMethod<?, ?>>>(), HashSetSupplier.<WeldMethod<?, ?>> instance());
this.declaredMethods = new HashSet<WeldMethod<?, ?>>();
- this.declaredAnnotatedMethods = Multimaps.newSetMultimap(new HashMap<Class<? extends Annotation>, Collection<WeldMethod<?, T>>>(), new Supplier< Set<WeldMethod<?, T>>>()
- {
-
- public Set<WeldMethod<?, T>> get()
- {
- return new HashSet<WeldMethod<?, T>>();
- }
-
- });
- this.declaredMethodsByAnnotatedParameters = Multimaps.newSetMultimap(new HashMap<Class<? extends Annotation>, Collection<WeldMethod<?, T>>>(), new Supplier< Set<WeldMethod<?, T>>>()
- {
-
- public Set<WeldMethod<?, T>> get()
- {
- return new HashSet<WeldMethod<?, T>>();
- }
-
- });
+ this.declaredAnnotatedMethods = Multimaps.newSetMultimap(new HashMap<Class<? extends Annotation>, Collection<WeldMethod<?, T>>>(), HashSetSupplier.<WeldMethod<?, T>> instance());
+ this.declaredMethodsByAnnotatedParameters = Multimaps.newSetMultimap(new HashMap<Class<? extends Annotation>, Collection<WeldMethod<?, T>>>(), HashSetSupplier.<WeldMethod<?, T>> instance());
this.declaredMethodsBySignature = new HashMap<MethodSignature, WeldMethod<?, ?>>();
this.methodsBySignature = new HashMap<MethodSignature, WeldMethod<?, ?>>();
-
+
Map<Method, AnnotatedMethod<?>> annotatedTypeMethods = new HashMap<Method, AnnotatedMethod<?>>();
if (annotatedType != null)
{
@@ -384,7 +254,7 @@
annotatedTypeMethods.put(annotated.getJavaMember(), annotated);
}
}
-
+
for (Class<?> c = rawType; c != Object.class && c != null; c = c.getSuperclass())
{
for (Method method : SecureReflections.getDeclaredMethods(c))
@@ -396,7 +266,7 @@
}
else
{
- annotatedMethod = WeldMethodImpl.of(method, this.<T>getDeclaringWBClass(method, classTransformer), classTransformer);
+ annotatedMethod = WeldMethodImpl.of(method, this.<T> getDeclaringWBClass(method, classTransformer), classTransformer);
}
this.methods.add(annotatedMethod);
this.methodsBySignature.put(annotatedMethod.getSignature(), annotatedMethod);
@@ -415,9 +285,8 @@
}
for (Class<? extends Annotation> annotationType : WeldMethod.MAPPED_PARAMETER_ANNOTATIONS)
{
- if (annotatedMethod.getAnnotatedWBParameters(annotationType).size() > 0)
+ if (annotatedMethod.getWeldParameters(annotationType).size() > 0)
{
- methodsByAnnotatedParameters.put(annotationType, annotatedMethod);
if (c == rawType)
{
this.declaredMethodsByAnnotatedParameters.put(annotationType, annotatedMethod);
@@ -426,8 +295,16 @@
}
}
}
+
+ this.declaredMetaAnnotationMap = Multimaps.newSetMultimap(new HashMap<Class<? extends Annotation>, Collection<Annotation>>(), HashSetSupplier.<Annotation>instance());
+ for (Annotation declaredAnnotation : declaredAnnotationMap.values())
+ {
+ addMetaAnnotations(declaredMetaAnnotationMap, declaredAnnotation, declaredAnnotation.annotationType().getAnnotations(), true);
+ addMetaAnnotations(declaredMetaAnnotationMap, declaredAnnotation, classTransformer.getTypeStore().get(declaredAnnotation.annotationType()), true);
+ this.declaredMetaAnnotationMap.put(declaredAnnotation.annotationType(), declaredAnnotation);
+ }
}
-
+
@SuppressWarnings("unchecked")
private <X> WeldClass<X> getDeclaringWBClass(Member member, ClassTransformer transformer)
{
@@ -478,52 +355,23 @@
{
return Collections.unmodifiableSet(declaredFields);
}
-
+
public <F> WeldField<F, ?> getDeclaredWeldField(String fieldName)
{
return (WeldField<F, ?>) declaredFieldsByName.get(fieldName);
}
- public Set<WeldField<?, T>> getDeclaredAnnotatedWeldFields(Class<? extends Annotation> annotationType)
+ public Set<WeldField<?, T>> getDeclaredWeldFields(Class<? extends Annotation> annotationType)
{
return Collections.unmodifiableSet(declaredAnnotatedFields.get(annotationType));
}
- /**
- * Gets the abstracted constructors of the class
- *
- * Initializes the constructors if they are null
- *
- * @return The set of abstracted constructors
- */
- public Set<WeldConstructor<T>> getWeldConstructors()
- {
- return Collections.unmodifiableSet(constructors);
- }
-
public WeldConstructor<T> getDeclaredWeldConstructor(ConstructorSignature signature)
{
return (WeldConstructor<T>) declaredConstructorsBySignature.get(signature);
}
/**
- * Gets abstracted fields with requested meta-annotation type present
- *
- * If the meta-annotations map is null, it is initializes. If the annotated
- * fields are null, it is initialized The meta-annotated field map is then
- * populated for the requested meta-annotation type and the result is
- * returned
- *
- * @param metaAnnotationType The meta-annotation type to match
- * @return The set of abstracted fields with meta-annotation present. Returns
- * an empty set if no matches are found.
- */
- public Set<WeldField<?, ?>> getMetaAnnotatedWeldFields(Class<? extends Annotation> metaAnnotationType)
- {
- return Collections.unmodifiableSet(metaAnnotatedFields.get(metaAnnotationType));
- }
-
- /**
* Gets the abstracted field annotated with a specific annotation type
*
* If the fields map is null, initialize it first
@@ -532,39 +380,39 @@
* @return A set of matching abstracted fields, null if none are found.
*
*/
- public Set<WeldField<?, ?>> getAnnotatedWeldFields(Class<? extends Annotation> annotationType)
+ public Set<WeldField<?, ?>> getWeldFields(Class<? extends Annotation> annotationType)
{
return Collections.unmodifiableSet(annotatedFields.get(annotationType));
}
public boolean isLocalClass()
{
- return _local;
+ return getJavaClass().isLocalClass();
}
-
+
public boolean isAnonymousClass()
{
- return _anonymous;
+ return getJavaClass().isAnonymousClass();
}
-
+
public boolean isMemberClass()
{
- return _member;
+ return getJavaClass().isMemberClass();
}
public boolean isAbstract()
{
- return _abstract;
+ return Modifier.isAbstract(getJavaClass().getModifiers());
}
public boolean isEnum()
{
- return _enum;
+ return getJavaClass().isEnum();
}
public boolean isSerializable()
{
- return _serializable;
+ return Reflections.isSerializable(getJavaClass());
}
/**
@@ -576,14 +424,14 @@
* @return A set of matching method abstractions. Returns an empty set if no
* matches are found.
*
- * @see org.jboss.weld.introspector.WeldClass#getAnnotatedWeldMethods(Class)
+ * @see org.jboss.weld.introspector.WeldClass#getWeldMethods(Class)
*/
- public Set<WeldMethod<?, ?>> getAnnotatedWeldMethods(Class<? extends Annotation> annotationType)
+ public Set<WeldMethod<?, ?>> getWeldMethods(Class<? extends Annotation> annotationType)
{
return Collections.unmodifiableSet(annotatedMethods.get(annotationType));
}
- public Set<WeldMethod<?, T>> getDeclaredAnnotatedWeldMethods(Class<? extends Annotation> annotationType)
+ public Set<WeldMethod<?, T>> getDeclaredWeldMethods(Class<? extends Annotation> annotationType)
{
return Collections.unmodifiableSet(declaredAnnotatedMethods.get(annotationType));
}
@@ -596,28 +444,18 @@
* the constructors set is empty, initialize it first. Returns an
* empty set if there are no matches.
*
- * @see org.jboss.weld.introspector.WeldClass#getAnnotatedWeldConstructors(Class)
+ * @see org.jboss.weld.introspector.WeldClass#getWeldConstructors(Class)
*/
- public Set<WeldConstructor<T>> getAnnotatedWeldConstructors(Class<? extends Annotation> annotationType)
+ public Set<WeldConstructor<T>> getWeldConstructors(Class<? extends Annotation> annotationType)
{
return Collections.unmodifiableSet(annotatedConstructors.get(annotationType));
}
public WeldConstructor<T> getNoArgsWeldConstructor()
{
- return constructorsByArgumentMap.get(NO_ARGUMENTS);
+ return constructorsByArgumentMap.get(Collections.emptyList());
}
- public Set<WeldMethod<?, ?>> getWeldMethodsWithAnnotatedParameters(Class<? extends Annotation> annotationType)
- {
- return Collections.unmodifiableSet(methodsByAnnotatedParameters.get(annotationType));
- }
-
- public Set<WeldConstructor<?>> getWeldConstructorsWithAnnotatedParameters(Class<? extends Annotation> annotationType)
- {
- return Collections.unmodifiableSet(constructorsByAnnotatedParameters.get(annotationType));
- }
-
public Set<WeldMethod<?, T>> getDeclaredWeldMethodsWithAnnotatedParameters(Class<? extends Annotation> annotationType)
{
return Collections.unmodifiableSet(declaredMethodsByAnnotatedParameters.get(annotationType));
@@ -653,7 +491,7 @@
}
return null;
}
-
+
public Set<WeldMethod<?, ?>> getDeclaredWeldMethods()
{
return declaredMethods;
@@ -670,7 +508,7 @@
{
return (WeldMethod<M, ?>) methodsBySignature.get(signature);
}
-
+
/**
* Gets a string representation of the class
*
@@ -679,14 +517,14 @@
@Override
public String toString()
{
- return toString;
+ return new StringBuilder().append("class ").append(Names.classToString(getJavaClass())).toString();
}
-
+
public String getSimpleName()
{
- return _simpleName;
+ return getJavaClass().getSimpleName();
}
-
+
/**
* Indicates if the type is static
*
@@ -710,10 +548,10 @@
{
return Reflections.isFinal(getDelegate());
}
-
+
public boolean isPublic()
{
- return _public;
+ return Modifier.isFinal(getJavaClass().getModifiers());
}
/**
@@ -725,7 +563,7 @@
*/
public String getName()
{
- return name;
+ return getJavaClass().getName();
}
/**
@@ -737,25 +575,25 @@
{
return superclass;
}
-
+
public boolean isEquivalent(Class<?> clazz)
{
return getDelegate().equals(clazz);
}
-
+
public boolean isPrivate()
{
- return _private;
+ return Modifier.isPrivate(getJavaClass().getModifiers());
}
-
+
public boolean isPackagePrivate()
{
- return _packagePrivate;
+ return Reflections.isPackagePrivate(getJavaClass().getModifiers());
}
-
+
public Package getPackage()
{
- return _package;
+ return getJavaClass().getPackage();
}
@SuppressWarnings("unchecked")
@@ -770,10 +608,9 @@
return (S) object;
}
- @SuppressWarnings("unchecked")
public Set<AnnotatedConstructor<T>> getConstructors()
{
- return (Set) constructors;
+ return constructors;
}
@SuppressWarnings("unchecked")
@@ -787,5 +624,10 @@
{
return (Set) methods;
}
+
+ public Set<Annotation> getDeclaredMetaAnnotations(Class<? extends Annotation> metaAnnotationType)
+ {
+ return Collections.unmodifiableSet(declaredMetaAnnotationMap.get(metaAnnotationType));
+ }
}
\ No newline at end of file
Modified: core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldConstructorImpl.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldConstructorImpl.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldConstructorImpl.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -31,7 +31,6 @@
import javax.enterprise.inject.spi.AnnotatedConstructor;
import javax.enterprise.inject.spi.AnnotatedParameter;
-import org.jboss.weld.introspector.AnnotationStore;
import org.jboss.weld.introspector.ConstructorSignature;
import org.jboss.weld.introspector.WeldClass;
import org.jboss.weld.introspector.WeldConstructor;
@@ -66,20 +65,15 @@
private final ListMultimap<Class<? extends Annotation>, WeldParameter<?, T>> annotatedParameters;
private final ConstructorSignature signature;
-
- // Cached string representation
- private final String toString;
public static <T> WeldConstructor<T> of(Constructor<T> constructor, WeldClass<T> declaringClass, ClassTransformer classTransformer)
{
- AnnotationStore annotationStore = AnnotationStore.of(constructor, classTransformer.getTypeStore());
- return new WeldConstructorImpl<T>(constructor, constructor.getDeclaringClass(), constructor.getDeclaringClass(), null, new HierarchyDiscovery(constructor.getDeclaringClass()).getTypeClosure(), annotationStore, declaringClass, classTransformer);
+ return new WeldConstructorImpl<T>(constructor, constructor.getDeclaringClass(), constructor.getDeclaringClass(), null, new HierarchyDiscovery(constructor.getDeclaringClass()).getTypeClosure(), buildAnnotationMap(constructor.getAnnotations()), buildAnnotationMap(constructor.getDeclaredAnnotations()), declaringClass, classTransformer);
}
public static <T> WeldConstructor<T> of(AnnotatedConstructor<T> annotatedConstructor, WeldClass<T> declaringClass, ClassTransformer classTransformer)
{
- AnnotationStore annotationStore = AnnotationStore.of(annotatedConstructor.getAnnotations(), annotatedConstructor.getAnnotations(), classTransformer.getTypeStore());
- return new WeldConstructorImpl<T>(annotatedConstructor.getJavaMember(), annotatedConstructor.getJavaMember().getDeclaringClass(), annotatedConstructor.getBaseType(), annotatedConstructor, annotatedConstructor.getTypeClosure(), annotationStore, declaringClass, classTransformer);
+ return new WeldConstructorImpl<T>(annotatedConstructor.getJavaMember(), annotatedConstructor.getJavaMember().getDeclaringClass(), annotatedConstructor.getBaseType(), annotatedConstructor, annotatedConstructor.getTypeClosure(), buildAnnotationMap(annotatedConstructor.getAnnotations()), buildAnnotationMap(annotatedConstructor.getAnnotations()), declaringClass, classTransformer);
}
/**
@@ -90,10 +84,9 @@
* @param constructor The constructor method
* @param declaringClass The declaring class
*/
- private WeldConstructorImpl(Constructor<T> constructor, final Class<T> rawType, final Type type, AnnotatedConstructor<T> annotatedConstructor, Set<Type> typeClosure, AnnotationStore annotationStore, WeldClass<T> declaringClass, ClassTransformer classTransformer)
+ private WeldConstructorImpl(Constructor<T> constructor, final Class<T> rawType, final Type type, AnnotatedConstructor<T> annotatedConstructor, Set<Type> typeClosure, Map<Class<? extends Annotation>, Annotation> annotationMap, Map<Class<? extends Annotation>, Annotation> declaredAnnotationMap, WeldClass<T> declaringClass, ClassTransformer classTransformer)
{
- super(annotationStore, constructor, rawType, type, typeClosure, declaringClass);
- this.toString = new StringBuilder().append("constructor ").append(constructor.toString()).toString();
+ super(annotationMap, declaredAnnotationMap, classTransformer, constructor, rawType, type, typeClosure, declaringClass);
this.constructor = constructor;
this.parameters = new ArrayList<WeldParameter<?, T>>();
@@ -170,7 +163,10 @@
for (Annotation annotation : parameter.getAnnotations())
{
- annotatedParameters.put(annotation.annotationType(), parameter);
+ if (MAPPED_PARAMETER_ANNOTATIONS.contains(annotation.annotationType()))
+ {
+ annotatedParameters.put(annotation.annotationType(), parameter);
+ }
}
}
}
@@ -221,9 +217,9 @@
* @return A list of matching parameter abstractions. An empty list is
* returned if there are no matches.
*
- * @see org.jboss.weld.introspector.WeldConstructor#getAnnotatedWBParameters(Class)
+ * @see org.jboss.weld.introspector.WeldConstructor#getWeldParameters(Class)
*/
- public List<WeldParameter<?, T>> getAnnotatedWBParameters(Class<? extends Annotation> annotationType)
+ public List<WeldParameter<?, T>> getWeldParameters(Class<? extends Annotation> annotationType)
{
return Collections.unmodifiableList(annotatedParameters.get(annotationType));
}
@@ -284,7 +280,7 @@
@Override
public String toString()
{
- return toString;
+ return new StringBuilder().append("constructor ").append(constructor.toString()).toString();
}
public ConstructorSignature getSignature()
Modified: core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldFieldImpl.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldFieldImpl.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldFieldImpl.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -16,14 +16,17 @@
*/
package org.jboss.weld.introspector.jlr;
+import static org.jboss.weld.logging.messages.UtilMessage.ACCESS_ERROR_ON_FIELD;
+
+import java.lang.annotation.Annotation;
import java.lang.reflect.Field;
import java.lang.reflect.Type;
+import java.util.Map;
import java.util.Set;
-import static org.jboss.weld.logging.messages.UtilMessage.ACCESS_ERROR_ON_FIELD;
+
import javax.enterprise.inject.spi.AnnotatedField;
import org.jboss.weld.exceptions.WeldException;
-import org.jboss.weld.introspector.AnnotationStore;
import org.jboss.weld.introspector.WeldClass;
import org.jboss.weld.introspector.WeldField;
import org.jboss.weld.resources.ClassTransformer;
@@ -45,19 +48,14 @@
// The underlying field
private final Field field;
- // Cached string representation
- private final String toString;
-
public static <T, X> WeldFieldImpl<T, X> of(Field field, WeldClass<X> declaringClass, ClassTransformer classTransformer)
{
- AnnotationStore annotationStore = AnnotationStore.of(field, classTransformer.getTypeStore());
- return new WeldFieldImpl<T, X>(field, (Class<T>) field.getType(), field.getGenericType(), new HierarchyDiscovery(field.getGenericType()).getTypeClosure(), annotationStore, declaringClass, classTransformer);
+ return new WeldFieldImpl<T, X>(field, (Class<T>) field.getType(), field.getGenericType(), new HierarchyDiscovery(field.getGenericType()).getTypeClosure(), buildAnnotationMap(field.getAnnotations()), buildAnnotationMap(field.getDeclaredAnnotations()), declaringClass, classTransformer);
}
public static <T, X> WeldFieldImpl<T, X> of(AnnotatedField<? super X> annotatedField, WeldClass<X> declaringClass, ClassTransformer classTransformer)
{
- AnnotationStore annotationStore = AnnotationStore.of(annotatedField.getAnnotations(), annotatedField.getAnnotations(), classTransformer.getTypeStore());
- return new WeldFieldImpl<T, X>(annotatedField.getJavaMember(), (Class<T>) annotatedField.getJavaMember().getType(), annotatedField.getBaseType(), annotatedField.getTypeClosure(), annotationStore, declaringClass, classTransformer);
+ return new WeldFieldImpl<T, X>(annotatedField.getJavaMember(), (Class<T>) annotatedField.getJavaMember().getType(), annotatedField.getBaseType(), annotatedField.getTypeClosure(), buildAnnotationMap(annotatedField.getAnnotations()), buildAnnotationMap(annotatedField.getAnnotations()), declaringClass, classTransformer);
}
/**
@@ -69,11 +67,10 @@
* @param field The actual field
* @param declaringClass The abstraction of the declaring class
*/
- private WeldFieldImpl(Field field, final Class<T> rawType, final Type type, Set<Type> typeClosure, AnnotationStore annotationStore, WeldClass<X> declaringClass, ClassTransformer classTransformer)
+ private WeldFieldImpl(Field field, final Class<T> rawType, final Type type, Set<Type> typeClosure, Map<Class<? extends Annotation>, Annotation> annotationMap, Map<Class<? extends Annotation>, Annotation> declaredAnnotationMap, WeldClass<X> declaringClass, ClassTransformer classTransformer)
{
- super(annotationStore, field, rawType, type, typeClosure, declaringClass);
+ super(annotationMap, declaredAnnotationMap, classTransformer, field, rawType, type, typeClosure, declaringClass);
this.field = field;
- this.toString = new StringBuilder().append("field ").append(declaringClass.getName()).append(".").append(field.getName()).toString();
}
/**
@@ -135,7 +132,7 @@
@Override
public String toString()
{
- return this.toString;
+ return new StringBuilder().append("field ").append(getDeclaringType().getName()).append(".").append(field.getName()).toString();
}
@Override
Modified: core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldMethodImpl.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldMethodImpl.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldMethodImpl.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -32,17 +32,16 @@
import javax.enterprise.inject.spi.AnnotatedMethod;
import javax.enterprise.inject.spi.AnnotatedParameter;
-import org.jboss.weld.introspector.AnnotationStore;
import org.jboss.weld.introspector.MethodSignature;
import org.jboss.weld.introspector.WeldClass;
import org.jboss.weld.introspector.WeldMethod;
import org.jboss.weld.introspector.WeldParameter;
import org.jboss.weld.resources.ClassTransformer;
+import org.jboss.weld.util.collections.ArrayListSupplier;
import org.jboss.weld.util.reflection.HierarchyDiscovery;
import org.jboss.weld.util.reflection.Reflections;
import org.jboss.weld.util.reflection.SecureReflections;
-import com.google.common.base.Supplier;
import com.google.common.collect.ListMultimap;
import com.google.common.collect.Multimaps;
@@ -70,21 +69,16 @@
// The property name
private final String propertyName;
- // Cached string representation
- private final String toString;
-
private final MethodSignature signature;
public static <T, X> WeldMethodImpl<T, X> of(Method method, WeldClass<X> declaringClass, ClassTransformer classTransformer)
{
- AnnotationStore annotationStore = AnnotationStore.of(method, classTransformer.getTypeStore());
- return new WeldMethodImpl<T, X>(method, (Class<T>) method.getReturnType(), method.getGenericReturnType(), new HierarchyDiscovery(method.getGenericReturnType()).getTypeClosure(), null, annotationStore, declaringClass, classTransformer);
+ return new WeldMethodImpl<T, X>(method, (Class<T>) method.getReturnType(), method.getGenericReturnType(), new HierarchyDiscovery(method.getGenericReturnType()).getTypeClosure(), null, buildAnnotationMap(method.getAnnotations()), buildAnnotationMap(method.getDeclaredAnnotations()), declaringClass, classTransformer);
}
public static <T, X> WeldMethodImpl<T, X> of(AnnotatedMethod<T> method, WeldClass<X> declaringClass, ClassTransformer classTransformer)
{
- AnnotationStore annotationStore = AnnotationStore.of(method.getAnnotations(), method.getAnnotations(), classTransformer.getTypeStore());
- return new WeldMethodImpl<T, X>(method.getJavaMember(), (Class<T>) method.getJavaMember().getReturnType(), method.getBaseType(), method.getTypeClosure(), method, annotationStore, declaringClass, classTransformer);
+ return new WeldMethodImpl<T, X>(method.getJavaMember(), (Class<T>) method.getJavaMember().getReturnType(), method.getBaseType(), method.getTypeClosure(), method, buildAnnotationMap(method.getAnnotations()), buildAnnotationMap(method.getAnnotations()), declaringClass, classTransformer);
}
/**
@@ -97,22 +91,13 @@
* @param declaringClass The declaring class abstraction
*/
@SuppressWarnings("unchecked")
- private WeldMethodImpl(Method method, final Class<T> rawType, final Type type, Set<Type> typeClosure, AnnotatedMethod<T> annotatedMethod, AnnotationStore annotationStore, WeldClass<X> declaringClass, ClassTransformer classTransformer)
+ private WeldMethodImpl(Method method, final Class<T> rawType, final Type type, Set<Type> typeClosure, AnnotatedMethod<T> annotatedMethod, Map<Class<? extends Annotation>, Annotation> annotationMap, Map<Class<? extends Annotation>, Annotation> declaredAnnotationMap, WeldClass<X> declaringClass, ClassTransformer classTransformer)
{
- super(annotationStore, method, rawType, type, typeClosure, declaringClass);
+ super(annotationMap, declaredAnnotationMap, classTransformer, method, rawType, type, typeClosure, declaringClass);
this.method = method;
- this.toString = new StringBuilder().append("method ").append(method.toString()).toString();
this.parameters = new ArrayList<WeldParameter<?, X>>();
- this.annotatedParameters = Multimaps.newListMultimap(new HashMap<Class<? extends Annotation>, Collection<WeldParameter<?, X>>>(), new Supplier<List<WeldParameter<?, X>>>()
- {
+ this.annotatedParameters = Multimaps.newListMultimap(new HashMap<Class<? extends Annotation>, Collection<WeldParameter<?, X>>>(), ArrayListSupplier.<WeldParameter<?, X>>instance());
- public List<WeldParameter<?, X>> get()
- {
- return new ArrayList<WeldParameter<?, X>>();
- }
-
- });
-
Map<Integer, AnnotatedParameter<?>> annotatedTypeParameters = new HashMap<Integer, AnnotatedParameter<?>>();
if (annotatedMethod != null)
@@ -170,11 +155,6 @@
}
- public Method getAnnotatedMethod()
- {
- return method;
- }
-
@Override
public Method getDelegate()
{
@@ -191,7 +171,7 @@
return method.getParameterTypes();
}
- public List<WeldParameter<?, X>> getAnnotatedWBParameters(Class<? extends Annotation> annotationType)
+ public List<WeldParameter<?, X>> getWeldParameters(Class<? extends Annotation> annotationType)
{
return Collections.unmodifiableList(annotatedParameters.get(annotationType));
}
@@ -244,7 +224,7 @@
@Override
public String toString()
{
- return this.toString;
+ return new StringBuilder().append(method.toString()).toString();
}
public MethodSignature getSignature()
Modified: core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldParameterImpl.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldParameterImpl.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldParameterImpl.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -17,6 +17,7 @@
package org.jboss.weld.introspector.jlr;
import static org.jboss.weld.logging.messages.ReflectionMessage.UNABLE_TO_GET_PARAMETER_NAME;
+import static org.jboss.weld.util.reflection.Reflections.EMPTY_ANNOTATIONS;
import java.lang.annotation.Annotation;
import java.lang.reflect.Type;
@@ -25,7 +26,6 @@
import javax.enterprise.inject.spi.AnnotatedCallable;
import org.jboss.weld.exceptions.ForbiddenArgumentException;
-import org.jboss.weld.introspector.AnnotationStore;
import org.jboss.weld.introspector.WeldCallable;
import org.jboss.weld.introspector.WeldParameter;
import org.jboss.weld.resources.ClassTransformer;
@@ -43,21 +43,6 @@
public class WeldParameterImpl<T, X> extends AbstractWeldAnnotated<T, Object> implements WeldParameter<T, X>
{
- private static final Annotation[] EMPTY_ANNOTATION_ARRAY = new Annotation[0];
-
- // The final state
- private final boolean _final = false;
- // The static state
- private final boolean _static = false;
- private final boolean _public = false;
- private final boolean _private = false;
- private final boolean _packagePrivate = false;
- private final Package _package;
- private final int position;
- private final WeldCallable<?, X, ?> declaringMember;
-
- private final String toString;
-
public static <T, X> WeldParameter<T, X> of(Annotation[] annotations, Class<T> rawType, Type type, WeldCallable<?, X, ?> declaringMember, int position, ClassTransformer classTransformer)
{
return new WeldParameterImpl<T, X>(annotations, rawType, type, new HierarchyDiscovery(type).getTypeClosure(), declaringMember, position, classTransformer);
@@ -65,8 +50,11 @@
public static <T, X> WeldParameter<T, X> of(Set<Annotation> annotations, Class<T> rawType, Type type, WeldCallable<?, X, ?> declaringMember, int position, ClassTransformer classTransformer)
{
- return new WeldParameterImpl<T, X>(annotations.toArray(EMPTY_ANNOTATION_ARRAY), rawType, type, new HierarchyDiscovery(type).getTypeClosure(), declaringMember, position, classTransformer);
+ return new WeldParameterImpl<T, X>(annotations.toArray(EMPTY_ANNOTATIONS), rawType, type, new HierarchyDiscovery(type).getTypeClosure(), declaringMember, position, classTransformer);
}
+
+ private final int position;
+ private final WeldCallable<?, X, ?> declaringMember;
/**
* Constructor
@@ -76,11 +64,9 @@
*/
protected WeldParameterImpl(Annotation[] annotations, Class<T> rawType, Type type, Set<Type> typeClosure, WeldCallable<?, X, ?> declaringMember, int position, ClassTransformer classTransformer)
{
- super(AnnotationStore.of(annotations, annotations, classTransformer.getTypeStore()), rawType, type, typeClosure);
+ super(buildAnnotationMap(annotations), buildAnnotationMap(annotations), classTransformer, rawType, type, typeClosure);
this.declaringMember = declaringMember;
- this._package = declaringMember.getPackage();
this.position = position;
- this.toString = new StringBuilder().append("parameter ").append(position).append(" of ").append(declaringMember.toString()).toString();
}
/**
@@ -92,7 +78,7 @@
*/
public boolean isFinal()
{
- return _final;
+ return false;
}
/**
@@ -104,27 +90,27 @@
*/
public boolean isStatic()
{
- return _static;
+ return false;
}
public boolean isPublic()
{
- return _public;
+ return false;
}
public boolean isPrivate()
{
- return _private;
+ return false;
}
public boolean isPackagePrivate()
{
- return _packagePrivate;
+ return false;
}
public Package getPackage()
{
- return _package;
+ return declaringMember.getPackage();
}
/**
@@ -147,7 +133,7 @@
@Override
public String toString()
{
- return toString;
+ return new StringBuilder().append("parameter ").append(position).append(" of ").append(declaringMember.toString()).toString();
}
public AnnotatedCallable<X> getDeclaringCallable()
Modified: core/trunk/impl/src/main/java/org/jboss/weld/literal/AnyLiteral.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/literal/AnyLiteral.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/literal/AnyLiteral.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -22,4 +22,8 @@
public class AnyLiteral extends AnnotationLiteral<Any> implements Any
{
+ public static final Any INSTANCE = new AnyLiteral();
+
+ private AnyLiteral() {}
+
}
Deleted: core/trunk/impl/src/main/java/org/jboss/weld/literal/BindingTypeLiteral.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/literal/BindingTypeLiteral.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/literal/BindingTypeLiteral.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -1,25 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, 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 org.jboss.weld.literal;
-
-import javax.enterprise.util.AnnotationLiteral;
-import javax.inject.Qualifier;
-
-public class BindingTypeLiteral extends AnnotationLiteral<Qualifier> implements Qualifier
-{
-
-}
\ No newline at end of file
Modified: core/trunk/impl/src/main/java/org/jboss/weld/literal/DefaultLiteral.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/literal/DefaultLiteral.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/literal/DefaultLiteral.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -24,4 +24,11 @@
*
* @author Pete Muir
*/
-public class DefaultLiteral extends AnnotationLiteral<Default> implements Default {}
+public class DefaultLiteral extends AnnotationLiteral<Default> implements Default
+{
+
+ public static final Default INSTANCE = new DefaultLiteral();
+
+ private DefaultLiteral() {}
+
+}
Deleted: core/trunk/impl/src/main/java/org/jboss/weld/literal/InjectLiteral.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/literal/InjectLiteral.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/literal/InjectLiteral.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -1,27 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, 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 org.jboss.weld.literal;
-
-import javax.enterprise.util.AnnotationLiteral;
-import javax.inject.Inject;
-
-/**
- * Annotation literal for @Inject
- *
- * @author Pete Muir
- */
-public class InjectLiteral extends AnnotationLiteral<Inject> implements Inject {}
Modified: core/trunk/impl/src/main/java/org/jboss/weld/literal/InterceptorBindingTypeLiteral.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/literal/InterceptorBindingTypeLiteral.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/literal/InterceptorBindingTypeLiteral.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -22,4 +22,8 @@
public class InterceptorBindingTypeLiteral extends AnnotationLiteral<InterceptorBinding> implements InterceptorBinding
{
+ public static final InterceptorBinding INSTANCE = new InterceptorBindingTypeLiteral();
+
+ private InterceptorBindingTypeLiteral() {}
+
}
\ No newline at end of file
Modified: core/trunk/impl/src/main/java/org/jboss/weld/literal/NewLiteral.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/literal/NewLiteral.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/literal/NewLiteral.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -31,5 +31,7 @@
{
return New.class;
}
+
+ public NewLiteral() {}
}
Copied: core/trunk/impl/src/main/java/org/jboss/weld/literal/QualifierLiteral.java (from rev 5411, core/trunk/impl/src/main/java/org/jboss/weld/literal/BindingTypeLiteral.java)
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/literal/QualifierLiteral.java (rev 0)
+++ core/trunk/impl/src/main/java/org/jboss/weld/literal/QualifierLiteral.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -0,0 +1,29 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, 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 org.jboss.weld.literal;
+
+import javax.enterprise.util.AnnotationLiteral;
+import javax.inject.Qualifier;
+
+public class QualifierLiteral extends AnnotationLiteral<Qualifier> implements Qualifier
+{
+
+ public static final Qualifier INSTANCE = new QualifierLiteral();
+
+ private QualifierLiteral() {}
+
+}
\ No newline at end of file
Property changes on: core/trunk/impl/src/main/java/org/jboss/weld/literal/QualifierLiteral.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:eol-style
+ native
Modified: core/trunk/impl/src/main/java/org/jboss/weld/literal/ScopeLiteral.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/literal/ScopeLiteral.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/literal/ScopeLiteral.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -19,4 +19,11 @@
import javax.enterprise.util.AnnotationLiteral;
import javax.inject.Scope;
-public class ScopeLiteral extends AnnotationLiteral<Scope> implements Scope {}
\ No newline at end of file
+public class ScopeLiteral extends AnnotationLiteral<Scope> implements Scope
+{
+
+ public static final Scope INSTANCE = new ScopeLiteral();
+
+ private ScopeLiteral() {}
+
+}
\ No newline at end of file
Modified: core/trunk/impl/src/main/java/org/jboss/weld/literal/StereotypeLiteral.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/literal/StereotypeLiteral.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/literal/StereotypeLiteral.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -22,6 +22,8 @@
public class StereotypeLiteral extends AnnotationLiteral<Stereotype> implements Stereotype
{
+ public static final Stereotype INSTANCE = new StereotypeLiteral();
+ private StereotypeLiteral() {}
}
\ No newline at end of file
Modified: core/trunk/impl/src/main/java/org/jboss/weld/manager/BeanManagerImpl.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/manager/BeanManagerImpl.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/manager/BeanManagerImpl.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -116,11 +116,11 @@
import org.jboss.weld.util.Beans;
import org.jboss.weld.util.Observers;
import org.jboss.weld.util.Proxies;
+import org.jboss.weld.util.collections.CopyOnWriteArrayListSupplier;
+import org.jboss.weld.util.collections.IterableToIteratorFunction;
import org.jboss.weld.util.reflection.HierarchyDiscovery;
import org.jboss.weld.util.reflection.Reflections;
-import com.google.common.base.Function;
-import com.google.common.base.Supplier;
import com.google.common.collect.Iterables;
import com.google.common.collect.Iterators;
import com.google.common.collect.ListMultimap;
@@ -246,15 +246,7 @@
*/
public static BeanManagerImpl newRootManager(String id, ServiceRegistry serviceRegistry)
{
- ListMultimap<Class<? extends Annotation>, Context> contexts = Multimaps.newListMultimap(new ConcurrentHashMap<Class<? extends Annotation>, Collection<Context>>(), new Supplier<List<Context>>()
- {
-
- public List<Context> get()
- {
- return new CopyOnWriteArrayList<Context>();
- }
-
- });
+ ListMultimap<Class<? extends Annotation>, Context> contexts = Multimaps.newListMultimap(new ConcurrentHashMap<Class<? extends Annotation>, Collection<Context>>(), CopyOnWriteArrayListSupplier.<Context>instance());
return new BeanManagerImpl(
serviceRegistry,
@@ -435,21 +427,11 @@
{
return new Iterable<T>()
{
-
- private Function<Iterable<T>, Iterator<T>> function = new Function<Iterable<T>, Iterator<T>>()
- {
- public Iterator<T> apply(Iterable<T> iterable)
- {
- return iterable.iterator();
- }
-
- };
-
public Iterator<T> iterator()
{
Set<Iterable<T>> iterable = buildAccessibleClosure(new ArrayList<BeanManagerImpl>(), transform);
- return Iterators.concat(Iterators.transform(iterable.iterator(), function));
+ return Iterators.concat(Iterators.transform(iterable.iterator(), IterableToIteratorFunction.<T>instance()));
}
};
@@ -522,7 +504,7 @@
{
checkBindingTypes(Arrays.asList(bindings));
HashSet<Annotation> bindingAnnotations = new HashSet<Annotation>(Arrays.asList(bindings));
- bindingAnnotations.add(new AnyLiteral());
+ bindingAnnotations.add(AnyLiteral.INSTANCE);
Set<ObserverMethod<? super T>> observers = new HashSet<ObserverMethod<? super T>>();
Set<ObserverMethod<?>> eventObservers = observerResolver.resolve(ResolvableFactory.of(new HierarchyDiscovery(eventType).getTypeClosure(), bindingAnnotations, null));
for (ObserverMethod<?> observer : eventObservers)
Modified: core/trunk/impl/src/main/java/org/jboss/weld/metadata/cache/BindingTypeModel.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/metadata/cache/BindingTypeModel.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/metadata/cache/BindingTypeModel.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -125,7 +125,7 @@
*/
protected void initNonBindingTypes()
{
- nonBindingTypes = getAnnotatedAnnotation().getAnnotatedMembers(Nonbinding.class);
+ nonBindingTypes = getAnnotatedAnnotation().getMembers(Nonbinding.class);
}
/**
Modified: core/trunk/impl/src/main/java/org/jboss/weld/metadata/cache/InterceptorBindingModel.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/metadata/cache/InterceptorBindingModel.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/metadata/cache/InterceptorBindingModel.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -78,7 +78,7 @@
protected void initNonBindingTypes()
{
- nonBindingTypes = getAnnotatedAnnotation().getAnnotatedMembers(Nonbinding.class);
+ nonBindingTypes = getAnnotatedAnnotation().getMembers(Nonbinding.class);
}
protected void initInterceptionBindingTypes()
Modified: core/trunk/impl/src/main/java/org/jboss/weld/resolution/ResolvableFactory.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/resolution/ResolvableFactory.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/resolution/ResolvableFactory.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -79,7 +79,7 @@
this.bindings = bindings;
if (bindings.size() == 0)
{
- this.bindings.add(new DefaultLiteral());
+ this.bindings.add(DefaultLiteral.INSTANCE);
}
this.annotations = new HashMap<Class<? extends Annotation>, Annotation>();
this.typeClosure = typeClosure;
Modified: core/trunk/impl/src/main/java/org/jboss/weld/resolution/ResolvableWeldClass.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/resolution/ResolvableWeldClass.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/resolution/ResolvableWeldClass.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -19,6 +19,7 @@
import static org.jboss.weld.logging.messages.ResolutionMessage.CANNOT_EXTRACT_RAW_TYPE;
import static org.jboss.weld.logging.messages.ResolutionMessage.CANNOT_EXTRACT_TYPE_INFORMATION;
import static org.jboss.weld.logging.messages.ResolutionMessage.INVALID_MEMBER_TYPE;
+import static org.jboss.weld.util.reflection.Reflections.EMPTY_ANNOTATIONS;
import java.lang.annotation.Annotation;
import java.lang.reflect.Field;
@@ -27,8 +28,8 @@
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.util.Arrays;
-import java.util.Collections;
import java.util.HashSet;
+import java.util.Map;
import java.util.Set;
import javax.enterprise.inject.spi.InjectionPoint;
@@ -38,7 +39,6 @@
import org.jboss.weld.exceptions.ForbiddenArgumentException;
import org.jboss.weld.exceptions.InvalidOperationException;
import org.jboss.weld.injection.WeldInjectionPoint;
-import org.jboss.weld.introspector.AnnotationStore;
import org.jboss.weld.introspector.WeldAnnotated;
import org.jboss.weld.introspector.jlr.AbstractWeldAnnotated;
import org.jboss.weld.manager.BeanManagerImpl;
@@ -48,18 +48,12 @@
public class ResolvableWeldClass<T> extends AbstractWeldAnnotated<T, Class<T>> implements Resolvable
{
-
- private static final Annotation[] EMPTY_ANNOTATION_ARRAY = new Annotation[0];
- private static final Set<Annotation> EMPTY_ANNOTATION_SET = Collections.emptySet();
-
private final Class<T> rawType;
private final Set<Type> typeClosure;
private final Type[] actualTypeArguments;
private final String _string;
- private final BeanManagerImpl manager;
-
public static <T> WeldAnnotated<T, Class<T>> of(TypeLiteral<T> typeLiteral, Annotation[] annotations, BeanManagerImpl manager)
{
return new ResolvableWeldClass<T>(typeLiteral.getType(), annotations, manager);
@@ -100,12 +94,10 @@
}
}
- private ResolvableWeldClass(Type type, AnnotationStore annotationStore, BeanManagerImpl manager)
+ private ResolvableWeldClass(Type type, Map<Class<? extends Annotation>, Annotation> annotationMap, Map<Class<? extends Annotation>, Annotation> declaredAnnotationMap, BeanManagerImpl manager)
{
- super(annotationStore);
+ super(annotationMap, declaredAnnotationMap, manager.getServices().get(TypeStore.class));
- this.manager = manager;
-
if (type instanceof ParameterizedType)
{
ParameterizedType parameterizedType = (ParameterizedType) type;
@@ -118,13 +110,13 @@
throw new ForbiddenArgumentException(CANNOT_EXTRACT_RAW_TYPE, type);
}
this.actualTypeArguments = ((ParameterizedType) type).getActualTypeArguments();
- this._string = rawType.toString() + "<" + Arrays.asList(actualTypeArguments).toString() + ">; binding types = " + Names.annotationsToString(annotationStore.getBindings());
+ this._string = rawType.toString() + "<" + Arrays.asList(actualTypeArguments).toString() + ">; binding types = " + Names.annotationsToString(getQualifiers());
}
else if (type instanceof Class)
{
this.rawType = (Class<T>) type;
this.actualTypeArguments = new Type[0];
- this._string = rawType.toString() +"; binding types = " + Names.annotationsToString(annotationStore.getBindings());
+ this._string = rawType.toString() +"; binding types = " + Names.annotationsToString(getQualifiers());
}
else
{
@@ -136,12 +128,12 @@
private ResolvableWeldClass(Type type, Annotation[] annotations, BeanManagerImpl manager)
{
- this(type, AnnotationStore.of(annotations, EMPTY_ANNOTATION_ARRAY, manager.getServices().get(TypeStore.class)), manager);
+ this(type, buildAnnotationMap(annotations), buildAnnotationMap(EMPTY_ANNOTATIONS), manager);
}
private ResolvableWeldClass(Type type, Set<Annotation>annotations, BeanManagerImpl manager)
{
- this(type, AnnotationStore.of(annotations, EMPTY_ANNOTATION_SET, manager.getServices().get(TypeStore.class)), manager);
+ this(type, buildAnnotationMap(annotations), buildAnnotationMap(EMPTY_ANNOTATIONS), manager);
}
@Override
Modified: core/trunk/impl/src/main/java/org/jboss/weld/util/Beans.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/util/Beans.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/util/Beans.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -208,7 +208,7 @@
{
Set<FieldInjectionPoint<?, ?>> fields = new HashSet<FieldInjectionPoint<?,?>>();
injectableFieldsList.add(0, fields);
- for (WeldField<?, ?> annotatedField : t.getDeclaredAnnotatedWeldFields(Inject.class))
+ for (WeldField<?, ?> annotatedField : t.getDeclaredWeldFields(Inject.class))
{
if (!annotatedField.isStatic())
{
@@ -232,7 +232,7 @@
public static WeldMethod<?, ?> getPostConstruct(WeldClass<?> type)
{
- Set<WeldMethod<?, ?>> postConstructMethods = type.getAnnotatedWeldMethods(PostConstruct.class);
+ Set<WeldMethod<?, ?>> postConstructMethods = type.getWeldMethods(PostConstruct.class);
log.trace(FOUND_POST_CONSTRUCT_METHODS, postConstructMethods, type);
if (postConstructMethods.size() > 1)
{
@@ -252,7 +252,7 @@
public static WeldMethod<?, ?> getPreDestroy(WeldClass<?> type)
{
- Set<WeldMethod<?, ?>> preDestroyMethods = type.getAnnotatedWeldMethods(PreDestroy.class);
+ Set<WeldMethod<?, ?>> preDestroyMethods = type.getWeldMethods(PreDestroy.class);
log.trace(FOUND_PRE_DESTROY_METHODS, preDestroyMethods, type);
if (preDestroyMethods.size() > 1)
{
@@ -303,7 +303,7 @@
{
Class<? extends Annotation> ejbAnnotationType = manager.getServices().get(EJBApiAbstraction.class).EJB_ANNOTATION_CLASS;
Set<WeldInjectionPoint<?, ?>> ejbInjectionPoints = new HashSet<WeldInjectionPoint<?, ?>>();
- for (WeldField<?, ?> field : type.getAnnotatedWeldFields(ejbAnnotationType))
+ for (WeldField<?, ?> field : type.getWeldFields(ejbAnnotationType))
{
ejbInjectionPoints.add(FieldInjectionPoint.of(declaringBean, field));
}
@@ -321,7 +321,7 @@
{
Set<WeldInjectionPoint<?, ?>> jpaInjectionPoints = new HashSet<WeldInjectionPoint<?, ?>>();
Class<? extends Annotation> persistenceContextAnnotationType = manager.getServices().get(PersistenceApiAbstraction.class).PERSISTENCE_CONTEXT_ANNOTATION_CLASS;
- for (WeldField<?, ?> field : type.getAnnotatedWeldFields(persistenceContextAnnotationType))
+ for (WeldField<?, ?> field : type.getWeldFields(persistenceContextAnnotationType))
{
jpaInjectionPoints.add(FieldInjectionPoint.of(declaringBean, field));
}
@@ -339,7 +339,7 @@
{
Set<WeldInjectionPoint<?, ?>> jpaInjectionPoints = new HashSet<WeldInjectionPoint<?, ?>>();
Class<? extends Annotation> persistenceUnitAnnotationType = manager.getServices().get(PersistenceApiAbstraction.class).PERSISTENCE_UNIT_ANNOTATION_CLASS;
- for (WeldField<?, ?> field : type.getAnnotatedWeldFields(persistenceUnitAnnotationType))
+ for (WeldField<?, ?> field : type.getWeldFields(persistenceUnitAnnotationType))
{
jpaInjectionPoints.add(FieldInjectionPoint.of(declaringBean, field));
}
@@ -357,7 +357,7 @@
{
Class<? extends Annotation> resourceAnnotationType = manager.getServices().get(EJBApiAbstraction.class).RESOURCE_ANNOTATION_CLASS;
Set<WeldInjectionPoint<?, ?>> resourceInjectionPoints = new HashSet<WeldInjectionPoint<?, ?>>();
- for (WeldField<?, ?> field : type.getAnnotatedWeldFields(resourceAnnotationType))
+ for (WeldField<?, ?> field : type.getWeldFields(resourceAnnotationType))
{
resourceInjectionPoints.add(FieldInjectionPoint.of(declaringBean, field));
}
@@ -395,11 +395,11 @@
{
throw new DefinitionException(INITIALIZER_CANNOT_BE_PRODUCER, method, type);
}
- else if (method.getAnnotatedWBParameters(Disposes.class).size() > 0)
+ else if (method.getWeldParameters(Disposes.class).size() > 0)
{
throw new DefinitionException(INITIALIZER_CANNOT_BE_DISPOSAL_METHOD, method, type);
}
- else if (method.getAnnotatedWBParameters(Observes.class).size() > 0)
+ else if (method.getWeldParameters(Observes.class).size() > 0)
{
throw new DefinitionException(INITIALIZER_CANNOT_BE_OBSERVER, method, type);
}
@@ -666,7 +666,7 @@
public static <T> ConstructorInjectionPoint<T> getBeanConstructor(Bean<T> declaringBean, WeldClass<T> type)
{
ConstructorInjectionPoint<T> constructor = null;
- Set<WeldConstructor<T>> initializerAnnotatedConstructors = type.getAnnotatedWeldConstructors(Inject.class);
+ Set<WeldConstructor<T>> initializerAnnotatedConstructors = type.getWeldConstructors(Inject.class);
log.trace(FOUND_INJECTABLE_CONSTRUCTORS, initializerAnnotatedConstructors, type);
if (initializerAnnotatedConstructors.size() > 1)
{
Modified: core/trunk/impl/src/main/java/org/jboss/weld/util/Proxies.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/util/Proxies.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/util/Proxies.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -18,6 +18,7 @@
import static org.jboss.weld.logging.messages.UtilMessage.CANNOT_PROXY_NON_CLASS_TYPE;
import static org.jboss.weld.logging.messages.UtilMessage.INSTANCE_NOT_A_PROXY;
+import static org.jboss.weld.util.reflection.Reflections.EMPTY_CLASSES;
import java.lang.reflect.Constructor;
import java.lang.reflect.Modifier;
@@ -49,8 +50,6 @@
public static class TypeInfo
{
- private static final Class<?>[] EMPTY_INTERFACES_ARRAY = new Class<?>[0];
-
private final Set<Class<?>> interfaces;
private final Set<Class<?>> classes;
@@ -82,7 +81,7 @@
private Class<?>[] getInterfaces()
{
- return interfaces.toArray(EMPTY_INTERFACES_ARRAY);
+ return interfaces.toArray(EMPTY_CLASSES);
}
public ProxyFactory createProxyFactory()
Added: core/trunk/impl/src/main/java/org/jboss/weld/util/collections/ArrayListSupplier.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/util/collections/ArrayListSupplier.java (rev 0)
+++ core/trunk/impl/src/main/java/org/jboss/weld/util/collections/ArrayListSupplier.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -0,0 +1,26 @@
+package org.jboss.weld.util.collections;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.google.common.base.Supplier;
+
+public class ArrayListSupplier<T> implements Supplier<List<T>>
+{
+
+ private static final Supplier<?> INSTANCE = new ArrayListSupplier<Object>();
+
+ @SuppressWarnings("unchecked")
+ public static <T> Supplier<List<T>> instance()
+ {
+ return (Supplier<List<T>>) INSTANCE;
+ }
+
+ private ArrayListSupplier() {}
+
+ public List<T> get()
+ {
+ return new ArrayList<T>();
+ }
+
+}
Property changes on: core/trunk/impl/src/main/java/org/jboss/weld/util/collections/ArrayListSupplier.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:eol-style
+ native
Added: core/trunk/impl/src/main/java/org/jboss/weld/util/collections/CopyOnWriteArrayListSupplier.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/util/collections/CopyOnWriteArrayListSupplier.java (rev 0)
+++ core/trunk/impl/src/main/java/org/jboss/weld/util/collections/CopyOnWriteArrayListSupplier.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -0,0 +1,27 @@
+package org.jboss.weld.util.collections;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.CopyOnWriteArrayList;
+
+import com.google.common.base.Supplier;
+
+public class CopyOnWriteArrayListSupplier<T> implements Supplier<List<T>>
+{
+
+ private static final Supplier<?> INSTANCE = new CopyOnWriteArrayListSupplier<Object>();
+
+ @SuppressWarnings("unchecked")
+ public static <T> Supplier<List<T>> instance()
+ {
+ return (Supplier<List<T>>) INSTANCE;
+ }
+
+ private CopyOnWriteArrayListSupplier() {}
+
+ public List<T> get()
+ {
+ return new CopyOnWriteArrayList<T>();
+ }
+
+}
Property changes on: core/trunk/impl/src/main/java/org/jboss/weld/util/collections/CopyOnWriteArrayListSupplier.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:eol-style
+ native
Added: core/trunk/impl/src/main/java/org/jboss/weld/util/collections/HashSetSupplier.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/util/collections/HashSetSupplier.java (rev 0)
+++ core/trunk/impl/src/main/java/org/jboss/weld/util/collections/HashSetSupplier.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -0,0 +1,26 @@
+package org.jboss.weld.util.collections;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import com.google.common.base.Supplier;
+
+public class HashSetSupplier<T> implements Supplier<Set<T>>
+{
+
+ private static final Supplier<?> INSTANCE = new HashSetSupplier<Object>();
+
+ @SuppressWarnings("unchecked")
+ public static <T> Supplier<Set<T>> instance()
+ {
+ return (Supplier<Set<T>>) INSTANCE;
+ }
+
+ private HashSetSupplier() {}
+
+ public Set<T> get()
+ {
+ return new HashSet<T>();
+ }
+
+}
Property changes on: core/trunk/impl/src/main/java/org/jboss/weld/util/collections/HashSetSupplier.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:eol-style
+ native
Added: core/trunk/impl/src/main/java/org/jboss/weld/util/collections/IterableIterable.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/util/collections/IterableIterable.java (rev 0)
+++ core/trunk/impl/src/main/java/org/jboss/weld/util/collections/IterableIterable.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -0,0 +1,22 @@
+package org.jboss.weld.util.collections;
+
+import java.util.Iterator;
+
+import com.google.common.collect.Iterators;
+
+public class IterableIterable<T> implements Iterable<T>
+{
+
+ private final Iterable<Iterable<T>> iterables;
+
+ public IterableIterable(Iterable<Iterable<T>> iterables)
+ {
+ this.iterables = iterables;
+ }
+
+ public Iterator<T> iterator()
+ {
+ return Iterators.concat(Iterators.transform(iterables.iterator(), IterableToIteratorFunction.<T>instance()));
+ }
+
+}
Property changes on: core/trunk/impl/src/main/java/org/jboss/weld/util/collections/IterableIterable.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:eol-style
+ native
Added: core/trunk/impl/src/main/java/org/jboss/weld/util/collections/IterableToIteratorFunction.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/util/collections/IterableToIteratorFunction.java (rev 0)
+++ core/trunk/impl/src/main/java/org/jboss/weld/util/collections/IterableToIteratorFunction.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -0,0 +1,23 @@
+package org.jboss.weld.util.collections;
+
+import java.util.Iterator;
+
+import com.google.common.base.Function;
+
+public class IterableToIteratorFunction<T> implements Function<Iterable<T>, Iterator<T>>
+{
+
+ private static final Function<?, ?> INSTANCE = new IterableToIteratorFunction<Object>();
+
+ @SuppressWarnings("unchecked")
+ public static <T> Function<Iterable<T>, Iterator<T>> instance()
+ {
+ return (Function<Iterable<T>, Iterator<T>>) INSTANCE;
+ }
+
+ public Iterator<T> apply(Iterable<T> iterable)
+ {
+ return iterable.iterator();
+ }
+
+}
\ No newline at end of file
Property changes on: core/trunk/impl/src/main/java/org/jboss/weld/util/collections/IterableToIteratorFunction.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:eol-style
+ native
Modified: core/trunk/impl/src/main/java/org/jboss/weld/util/reflection/ParameterizedTypeImpl.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/util/reflection/ParameterizedTypeImpl.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/util/reflection/ParameterizedTypeImpl.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -30,7 +30,7 @@
public ParameterizedTypeImpl(Type rawType, Type[] actualTypeArguments, Type ownerType)
{
- this.actualTypeArguments = Arrays2.copyOf(actualTypeArguments, actualTypeArguments.length);
+ this.actualTypeArguments = actualTypeArguments;
this.rawType = rawType;
this.ownerType = ownerType;
}
Modified: core/trunk/impl/src/main/java/org/jboss/weld/util/reflection/Reflections.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/util/reflection/Reflections.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/util/reflection/Reflections.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -59,8 +59,8 @@
private static final IMessageConveyor messageConveyer = loggerFactory().getMessageConveyor();
public static final Type[] EMPTY_TYPES = {};
-
public static final Annotation[] EMPTY_ANNOTATIONS = {};
+ public static final Class<?>[] EMPTY_CLASSES = new Class<?>[0];
public static Map<Class<?>, Type> buildTypeMap(Set<Type> types)
{
@@ -78,6 +78,10 @@
map.put((Class<?>) ((ParameterizedType) type).getRawType(), type);
}
}
+ else if (type instanceof TypeVariable<?>)
+ {
+
+ }
}
return map;
}
@@ -209,17 +213,6 @@
}
/**
- * Checks if clazz is abstract
- *
- * @param clazz Class to check
- * @return True if abstract, false otherwise
- */
- public static boolean isAbstract(Class<?> clazz)
- {
- return Modifier.isAbstract(clazz.getModifiers());
- }
-
- /**
* Checks if a method is abstract
*
* @param method
Modified: core/trunk/impl/src/main/java/org/jboss/weld/util/reflection/SecureReflectionAccess.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/util/reflection/SecureReflectionAccess.java 2010-01-10 23:46:34 UTC (rev 5416)
+++ core/trunk/impl/src/main/java/org/jboss/weld/util/reflection/SecureReflectionAccess.java 2010-01-11 19:07:10 UTC (rev 5417)
@@ -37,26 +37,26 @@
@SuppressWarnings("unchecked")
public Object run() throws Exception
{
- SecurityManager securityManager = System.getSecurityManager();
- if (securityManager != null)
- {
- if (true)
- {
- throw new SecurityException("Privileged execution disabled for now to prevent possible leakage, uncomment to play around with it --Nik");
- }
- securityManager.checkPermission(new RuntimePermission("weld.reflection"));
- return AccessController.doPrivileged(new PrivilegedExceptionAction()
- {
- public Object run() throws Exception
- {
- return work();
- }
- });
- }
- else
- {
+// SecurityManager securityManager = System.getSecurityManager();
+// if (securityManager != null)
+// {
+// if (true)
+// {
+// throw new SecurityException("Privileged execution disabled for now to prevent possible leakage, uncomment to play around with it --Nik");
+// }
+// securityManager.checkPermission(new RuntimePermission("weld.reflection"));
+// return AccessController.doPrivileged(new PrivilegedExceptionAction()
+// {
+// public Object run() throws Exception
+// {
+// return work();
+// }
+// });
+// }
+// else
+// {
return work();
- }
+// }
}
/**
14 years, 3 months
Weld SVN: r5416 - doc/trunk/reference/en-US.
by weld-commits@lists.jboss.org
Author: dallen6
Date: 2010-01-10 18:46:34 -0500 (Sun, 10 Jan 2010)
New Revision: 5416
Modified:
doc/trunk/reference/en-US/environments.xml
doc/trunk/reference/en-US/gettingstarted.xml
Log:
WELD-330
Modified: doc/trunk/reference/en-US/environments.xml
===================================================================
--- doc/trunk/reference/en-US/environments.xml 2010-01-10 18:07:34 UTC (rev 5415)
+++ doc/trunk/reference/en-US/environments.xml 2010-01-10 23:46:34 UTC (rev 5416)
@@ -7,14 +7,14 @@
<title>Using Weld with JBoss AS</title>
<para>
- If you are using JBoss AS 5.2, no additional configuration is required to use Weld (or CDI for that matter).
+ If you are using JBoss AS 6.0, no additional configuration is required to use Weld (or CDI for that matter).
All you need to do is make your application a bean bean archive by adding <literal>META-INF/beans.xml</literal>
to the classpath or <literal>WEB-INF/beans.xml</literal> to the web root!
</para>
<para>
Unfortunately, you can't use Weld with earlier versions of JBoss AS since they are missing key libraries. If
- you want to learn how to upgrade the built-in support on JBoss AS 5.2, then read on.
+ you want to learn how to upgrade the built-in support on JBoss AS 6.0, then read on.
</para>
<para>
Modified: doc/trunk/reference/en-US/gettingstarted.xml
===================================================================
--- doc/trunk/reference/en-US/gettingstarted.xml 2010-01-10 18:07:34 UTC (rev 5415)
+++ doc/trunk/reference/en-US/gettingstarted.xml 2010-01-10 23:46:34 UTC (rev 5416)
@@ -9,7 +9,7 @@
<literal>weld-numberguess</literal>, is a web (war) example containing only non-transactional managed beans.
This example can be run on a wide range of servers, including JBoss AS, GlassFish, Apache Tomcat, Jetty, Google
App Engine, and any compliant Java EE 6 container. The second example, <literal>weld-translator</literal>, is
- an enterprise (ear) example that contains session beans. This example must be run on JBoss AS 5.2, Glassfish 3.0
+ an enterprise (ear) example that contains session beans. This example must be run on JBoss AS 6.0, Glassfish 3.0
or any compliant Java EE 6 container.
</para>
@@ -36,7 +36,7 @@
<para>a supported runtime environment (minimum versions shown)</para>
<itemizedlist>
<listitem>
- <para>JBoss AS 5.2.0 (currently only nightly builds of JBoss AS 5.2.0.Beta1 are available),</para>
+ <para>JBoss AS 6.0.0,</para>
</listitem>
<listitem>
<para>GlassFish 3.0,</para>
@@ -82,9 +82,9 @@
<para>
To deploy the examples to JBoss AS, you'll need <ulink url="http://jboss.org/jbossas/">JBoss AS
- 5.2.0.Beta1</ulink> or above. If a release of the JBoss AS 5.2 line isn't yet available, you can download a
- <ulink url="http://hudson.jboss.org/hudson/view/JBoss%20AS/job/JBoss-AS-5.x-sun16/">nightly snapshot</ulink>.
- The reason JBoss AS 5.2.0.Beta1 or above is required is because it's the first release that has both CDI and
+ 6.0.0</ulink> or above. If a release of the JBoss AS 6.0 line isn't yet available, you can download a
+ <ulink url="http://hudson.jboss.org/hudson/view/JBoss%20AS/job/JBoss-AS-6.0.x/">nightly snapshot</ulink>.
+ The reason JBoss AS 6.0.0 or above is required is because it's the first release that has both CDI and
Bean Validation support built-in, making it close enough to Java EE 6 to run the examples. The good news is
that there are no additional modifications you have to make to the server. It's ready to go!
</para>
@@ -96,8 +96,8 @@
directory, or <literal>JBOSS_HOME</literal>.
</para>
- <programlisting><![CDATA[$> unzip jboss-5.2.*.zip
-$> mv jboss-5.2.*/ jboss-as-5.2]]></programlisting>
+ <programlisting><![CDATA[$> unzip jboss-6.0.*.zip
+$> mv jboss-6.0.*/ jboss-as-6.0]]></programlisting>
<para>
In order for the build scripts to know where to deploy the example, you have to tell them where to find your
@@ -106,7 +106,7 @@
property key <literal>jboss.home</literal>, as follows:
</para>
- <programlisting><![CDATA[jboss.home=/path/to/jboss-as-5.2]]></programlisting>
+ <programlisting><![CDATA[jboss.home=/path/to/jboss-as-6.0]]></programlisting>
<para>
You're now ready to deploy your first example!
@@ -124,14 +124,14 @@
If you haven't already, start JBoss AS. You can either start JBoss AS from a Linux shell:
</para>
- <programlisting><![CDATA[$> cd /path/to/jboss-as-5.2
+ <programlisting><![CDATA[$> cd /path/to/jboss-as-6.0
$> ./bin/run.sh]]></programlisting>
<para>
a Windows command window:
</para>
- <programlisting><![CDATA[$> cd c:\path\to\jboss-as-5.2\bin
+ <programlisting><![CDATA[$> cd c:\path\to\jboss-as-6.0\bin
$> run]]></programlisting>
<para>
14 years, 3 months
Weld SVN: r5415 - core/trunk/jboss-as.
by weld-commits@lists.jboss.org
Author: dallen6
Date: 2010-01-10 13:07:34 -0500 (Sun, 10 Jan 2010)
New Revision: 5415
Modified:
core/trunk/jboss-as/build.properties
Log:
WELD-330
Modified: core/trunk/jboss-as/build.properties
===================================================================
--- core/trunk/jboss-as/build.properties 2010-01-10 17:34:57 UTC (rev 5414)
+++ core/trunk/jboss-as/build.properties 2010-01-10 18:07:34 UTC (rev 5415)
@@ -7,7 +7,7 @@
# maximum number of TCK tests to deploy before restarting JBoss AS
# max.deployments.restart = 25
-weld-deployer.version=5.2.0-SNAPSHOT
+weld-deployer.version=6.0.0-SNAPSHOT
weld.version=1.0.1-SNAPSHOT
jboss-ejb3.version=1.0.0
javassist.version=3.11.0.GA
14 years, 3 months
Weld SVN: r5414 - cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/enterprise/newBean.
by weld-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2010-01-10 12:34:57 -0500 (Sun, 10 Jan 2010)
New Revision: 5414
Modified:
cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/enterprise/newBean/NewEnterpriseBeanTest.java
Log:
remove weird field stuff
Modified: cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/enterprise/newBean/NewEnterpriseBeanTest.java
===================================================================
--- cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/enterprise/newBean/NewEnterpriseBeanTest.java 2010-01-10 16:56:40 UTC (rev 5413)
+++ cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/enterprise/newBean/NewEnterpriseBeanTest.java 2010-01-10 17:34:57 UTC (rev 5414)
@@ -25,7 +25,6 @@
@SpecVersion(spec="cdi", version="20091101")
public class NewEnterpriseBeanTest extends AbstractJSR299Test
{
- private Bean<WrappedEnterpriseBeanLocal> newEnterpriseBean;
private static final Annotation TAME_LITERAL = new AnnotationLiteral<Tame>() {};
@@ -35,7 +34,7 @@
{
Set<Bean<WrappedEnterpriseBeanLocal>> beans = getBeans(WrappedEnterpriseBeanLocal.class, WrappedEnterpriseBeanLocal.NEW);
assert beans.size() == 1;
- newEnterpriseBean = beans.iterator().next();
+ Bean<WrappedEnterpriseBeanLocal> newEnterpriseBean = beans.iterator().next();
assert Dependent.class.equals(newEnterpriseBean.getScope());
}
@@ -45,7 +44,7 @@
{
Set<Bean<WrappedEnterpriseBeanLocal>> beans = getBeans(WrappedEnterpriseBeanLocal.class, WrappedEnterpriseBeanLocal.NEW);
assert beans.size() == 1;
- newEnterpriseBean = beans.iterator().next();
+ Bean<WrappedEnterpriseBeanLocal> newEnterpriseBean = beans.iterator().next();
assert newEnterpriseBean.getQualifiers().size() == 1;
assert newEnterpriseBean.getQualifiers().iterator().next().annotationType().equals(New.class);
}
@@ -56,7 +55,7 @@
{
Set<Bean<WrappedEnterpriseBeanLocal>> beans = getBeans(WrappedEnterpriseBeanLocal.class, WrappedEnterpriseBeanLocal.NEW);
assert beans.size() == 1;
- newEnterpriseBean = beans.iterator().next();
+ Bean<WrappedEnterpriseBeanLocal> newEnterpriseBean = beans.iterator().next();
assert newEnterpriseBean.getName() == null;
}
14 years, 3 months
Weld SVN: r5413 - in cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions: observer and 2 other directories.
by weld-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2010-01-10 11:56:40 -0500 (Sun, 10 Jan 2010)
New Revision: 5413
Modified:
cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/container/event/ContainerEventTest.java
cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/container/event/ProcessAnnotatedTypeObserver.java
cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/container/event/ProcessBeanObserver.java
cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/container/event/ProcessInjectionTargetObserver.java
cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/observer/ProcessObserverMethodEventTest.java
cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/observer/ProcessObserverMethodObserver.java
cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/processBean/ProcessBeanObserver.java
cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/producer/ProducerProcessor.java
cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/producer/ProducerTest.java
Log:
Explicit cleanup
Modified: cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/container/event/ContainerEventTest.java
===================================================================
--- cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/container/event/ContainerEventTest.java 2010-01-10 16:55:26 UTC (rev 5412)
+++ cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/container/event/ContainerEventTest.java 2010-01-10 16:56:40 UTC (rev 5413)
@@ -181,4 +181,5 @@
assert type.getMethods().size() == 1;
assert type.getMethods().iterator().next().isAnnotationPresent(Produces.class);
}
+
}
Modified: cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/container/event/ProcessAnnotatedTypeObserver.java
===================================================================
--- cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/container/event/ProcessAnnotatedTypeObserver.java 2010-01-10 16:55:26 UTC (rev 5412)
+++ cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/container/event/ProcessAnnotatedTypeObserver.java 2010-01-10 16:56:40 UTC (rev 5413)
@@ -1,6 +1,7 @@
package org.jboss.jsr299.tck.tests.extensions.container.event;
import javax.enterprise.event.Observes;
+import javax.enterprise.inject.spi.BeforeShutdown;
import javax.enterprise.inject.spi.Extension;
import javax.enterprise.inject.spi.ProcessAnnotatedType;
@@ -11,6 +12,14 @@
private static ProcessAnnotatedType<SheepInterceptor> sessionBeanInterceptorEvent = null;
private static ProcessAnnotatedType<Farm> managedBeanEvent = null;
+ public void cleanup(@Observes BeforeShutdown shutdown)
+ {
+ statefulSessionBeanEvent = null;
+ statelessSessionBeanEvent = null;
+ sessionBeanInterceptorEvent = null;
+ managedBeanEvent = null;
+ }
+
public void observeStatelessSessionBean(@Observes ProcessAnnotatedType<Sheep> event) {
statelessSessionBeanEvent = event;
}
Modified: cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/container/event/ProcessBeanObserver.java
===================================================================
--- cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/container/event/ProcessBeanObserver.java 2010-01-10 16:55:26 UTC (rev 5412)
+++ cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/container/event/ProcessBeanObserver.java 2010-01-10 16:56:40 UTC (rev 5413)
@@ -1,6 +1,7 @@
package org.jboss.jsr299.tck.tests.extensions.container.event;
import javax.enterprise.event.Observes;
+import javax.enterprise.inject.spi.BeforeShutdown;
import javax.enterprise.inject.spi.Extension;
import javax.enterprise.inject.spi.ProcessManagedBean;
import javax.enterprise.inject.spi.ProcessProducerField;
@@ -15,6 +16,15 @@
private static ProcessProducerField<Milk, Farm> processProducerFieldEvent = null;
private static ProcessProducerMethod<Cheese, Farm> processProducerMethodEvent = null;
+ public void cleanup(@Observes BeforeShutdown shutdown)
+ {
+ processManagedBeanEvent = null;
+ processStatefulSessionBeanEvent = null;
+ processStatelessSessionBeanEvent = null;
+ processProducerFieldEvent = null;
+ processProducerMethodEvent = null;
+ }
+
public void observeProcessManagedBean(@Observes ProcessManagedBean<Farm> event) {
processManagedBeanEvent = event;
}
Modified: cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/container/event/ProcessInjectionTargetObserver.java
===================================================================
--- cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/container/event/ProcessInjectionTargetObserver.java 2010-01-10 16:55:26 UTC (rev 5412)
+++ cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/container/event/ProcessInjectionTargetObserver.java 2010-01-10 16:56:40 UTC (rev 5413)
@@ -1,6 +1,7 @@
package org.jboss.jsr299.tck.tests.extensions.container.event;
import javax.enterprise.event.Observes;
+import javax.enterprise.inject.spi.BeforeShutdown;
import javax.enterprise.inject.spi.Extension;
import javax.enterprise.inject.spi.ProcessInjectionTarget;
@@ -17,6 +18,15 @@
private static int event3Observed = 0;
private static int event4Observed = 0;
private static int event5Observed = 0;
+
+ public void cleanup(@Observes BeforeShutdown shutdown)
+ {
+ statefulSessionBeanEvent = null;
+ statelessSessionBeanEvent = null;
+ sessionBeanInterceptorEvent = null;
+ managedBeanEvent = null;
+ eventWithTypeVariable = null;
+ }
public void observeStatelessSessionBean(@Observes ProcessInjectionTarget<Sheep> event) {
Modified: cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/observer/ProcessObserverMethodEventTest.java
===================================================================
--- cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/observer/ProcessObserverMethodEventTest.java 2010-01-10 16:55:26 UTC (rev 5412)
+++ cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/observer/ProcessObserverMethodEventTest.java 2010-01-10 16:56:40 UTC (rev 5413)
@@ -60,4 +60,5 @@
{
assert ProcessObserverMethodObserver.getObserverMethod().getObservedType().equals(EventA.class);
}
+
}
Modified: cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/observer/ProcessObserverMethodObserver.java
===================================================================
--- cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/observer/ProcessObserverMethodObserver.java 2010-01-10 16:55:26 UTC (rev 5412)
+++ cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/observer/ProcessObserverMethodObserver.java 2010-01-10 16:56:40 UTC (rev 5413)
@@ -5,6 +5,7 @@
import javax.enterprise.event.Observes;
import javax.enterprise.inject.spi.AnnotatedMethod;
+import javax.enterprise.inject.spi.BeforeShutdown;
import javax.enterprise.inject.spi.Extension;
import javax.enterprise.inject.spi.ObserverMethod;
import javax.enterprise.inject.spi.ProcessObserverMethod;
@@ -15,6 +16,12 @@
private static AnnotatedMethod<?> annotatedMethod;
private static ObserverMethod<?> observerMethod;
+ public void cleanup(@Observes BeforeShutdown shutdown)
+ {
+ annotatedMethod = null;
+ observerMethod = null;
+ }
+
public void observeObserverMethodForEventA(@Observes ProcessObserverMethod<EventA, EventAObserver> event)
{
eventTypes.add(event.getObserverMethod().getObservedType());
Modified: cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/processBean/ProcessBeanObserver.java
===================================================================
--- cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/processBean/ProcessBeanObserver.java 2010-01-10 16:55:26 UTC (rev 5412)
+++ cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/processBean/ProcessBeanObserver.java 2010-01-10 16:56:40 UTC (rev 5413)
@@ -1,6 +1,7 @@
package org.jboss.jsr299.tck.tests.extensions.processBean;
import javax.enterprise.event.Observes;
+import javax.enterprise.inject.spi.BeforeShutdown;
import javax.enterprise.inject.spi.Extension;
import javax.enterprise.inject.spi.ProcessBean;
import javax.enterprise.inject.spi.ProcessManagedBean;
@@ -20,6 +21,14 @@
private static int elephantProcessBeanCount;
private static ProcessProducerField<ChickenHutch, Chicken> chickenProcessProducerField;
private static int chickenHutchProcessBeanCount;
+
+ public void cleanup(@Observes BeforeShutdown shutdown)
+ {
+ catProcessManagedBean = null;
+ cowProcessProducerMethod = null;
+ elephantProcessSessionBean = null;
+ chickenProcessProducerField = null;
+ }
public void observeCatManagedBean(@Observes ProcessManagedBean<Cat> event)
{
Modified: cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/producer/ProducerProcessor.java
===================================================================
--- cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/producer/ProducerProcessor.java 2010-01-10 16:55:26 UTC (rev 5412)
+++ cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/producer/ProducerProcessor.java 2010-01-10 16:56:40 UTC (rev 5413)
@@ -7,6 +7,7 @@
import javax.enterprise.inject.spi.AnnotatedField;
import javax.enterprise.inject.spi.AnnotatedMethod;
import javax.enterprise.inject.spi.AnnotatedType;
+import javax.enterprise.inject.spi.BeforeShutdown;
import javax.enterprise.inject.spi.Extension;
import javax.enterprise.inject.spi.InjectionPoint;
import javax.enterprise.inject.spi.InjectionTarget;
@@ -22,6 +23,15 @@
private static InjectionTarget<Dog> dogInjectionTarget;
private static AnnotatedType<Dog> dogAnnotatedType;
private static boolean overriddenCowProducerCalled;
+
+ public void cleanup(@Observes BeforeShutdown shutdown)
+ {
+ catInjectionTarget = null;
+ noisyDogProducer = null;
+ quietDogProducer = null;
+ dogInjectionTarget = null;
+ dogAnnotatedType = null;
+ }
public void processDogProducerProducer(@Observes ProcessProducer<DogProducer, Dog> producerEvent)
{
Modified: cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/producer/ProducerTest.java
===================================================================
--- cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/producer/ProducerTest.java 2010-01-10 16:55:26 UTC (rev 5412)
+++ cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/producer/ProducerTest.java 2010-01-10 16:56:40 UTC (rev 5413)
@@ -250,4 +250,5 @@
assert ProducerProcessor.getDogAnnotatedType() != null;
assert ProducerProcessor.getDogAnnotatedType().getBaseType().equals(Dog.class);
}
+
}
14 years, 3 months
Weld SVN: r5412 - in core/trunk/impl/src/main/java/org/jboss/weld/bootstrap: events and 1 other directory.
by weld-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2010-01-10 11:55:26 -0500 (Sun, 10 Jan 2010)
New Revision: 5412
Modified:
core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/WeldBootstrap.java
core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/events/BeforeShutdownImpl.java
Log:
call beforeshutdown for all bean archives in the deployment
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/WeldBootstrap.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/WeldBootstrap.java 2010-01-10 14:09:51 UTC (rev 5411)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/WeldBootstrap.java 2010-01-10 16:55:26 UTC (rev 5412)
@@ -39,8 +39,8 @@
import javax.enterprise.inject.spi.Extension;
import org.jboss.weld.Container;
+import org.jboss.weld.ContainerState;
import org.jboss.weld.ContextualStoreImpl;
-import org.jboss.weld.ContainerState;
import org.jboss.weld.bean.builtin.BeanManagerBean;
import org.jboss.weld.bootstrap.api.Bootstrap;
import org.jboss.weld.bootstrap.api.Environment;
@@ -438,7 +438,7 @@
{
try
{
- BeforeShutdownImpl.fire(deploymentManager);
+ BeforeShutdownImpl.fire(deploymentManager, beanDeployments);
}
finally
{
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/events/BeforeShutdownImpl.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/events/BeforeShutdownImpl.java 2010-01-10 14:09:51 UTC (rev 5411)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/events/BeforeShutdownImpl.java 2010-01-10 16:55:26 UTC (rev 5412)
@@ -16,8 +16,12 @@
*/
package org.jboss.weld.bootstrap.events;
+import java.util.Map;
+
import javax.enterprise.inject.spi.BeforeShutdown;
+import org.jboss.weld.bootstrap.BeanDeployment;
+import org.jboss.weld.bootstrap.spi.BeanDeploymentArchive;
import org.jboss.weld.manager.BeanManagerImpl;
/**
@@ -27,9 +31,17 @@
public class BeforeShutdownImpl extends AbstractContainerEvent implements BeforeShutdown
{
- public static void fire(BeanManagerImpl beanManager)
+ public static void fire(BeanManagerImpl beanManager, Map<BeanDeploymentArchive, BeanDeployment> beanDeployments)
{
- new BeforeShutdownImpl(beanManager).fire();
+ if (beanDeployments == null)
+ {
+ // Shutdown may have been called with an early-failure, before beanDeployments is built
+ new BeforeShutdownImpl(beanManager).fire();
+ }
+ else
+ {
+ new BeforeShutdownImpl(beanManager).fire(beanDeployments);
+ }
}
public BeforeShutdownImpl(BeanManagerImpl beanManager)
14 years, 3 months
Weld SVN: r5411 - cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/invocation.
by weld-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2010-01-10 09:09:51 -0500 (Sun, 10 Jan 2010)
New Revision: 5411
Modified:
cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/invocation/DecoratorInvocationTest.java
Log:
Explicit cleanup
Modified: cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/invocation/DecoratorInvocationTest.java
===================================================================
--- cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/invocation/DecoratorInvocationTest.java 2010-01-09 20:15:33 UTC (rev 5410)
+++ cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/decorators/invocation/DecoratorInvocationTest.java 2010-01-10 14:09:51 UTC (rev 5411)
@@ -79,6 +79,9 @@
assert FooImpl.getMessage().equals(CowShed.MESSAGE + FooDecorator1.SUFFIX + FooDecorator2.SUFFIX);
assert FooImpl.getInjectionPoint().getBean().getBeanClass().equals(FooDecorator2.class);
assert FooImpl.getInjectionPoint().isDelegate();
+ FooDecorator1.reset();
+ FooDecorator2.reset();
+ FooImpl.reset();
}
}
14 years, 3 months
Weld SVN: r5410 - in core/trunk: jboss-as and 1 other directory.
by weld-commits@lists.jboss.org
Author: dallen6
Date: 2010-01-09 15:15:33 -0500 (Sat, 09 Jan 2010)
New Revision: 5410
Modified:
core/trunk/embedded-tck-runner/pom.xml
core/trunk/jboss-as/pom.xml
Log:
WELD-330
Modified: core/trunk/embedded-tck-runner/pom.xml
===================================================================
--- core/trunk/embedded-tck-runner/pom.xml 2010-01-09 18:55:00 UTC (rev 5409)
+++ core/trunk/embedded-tck-runner/pom.xml 2010-01-09 20:15:33 UTC (rev 5410)
@@ -51,7 +51,7 @@
<dependency>
<groupId>org.jboss.jbossas</groupId>
<artifactId>jboss-as-component-matrix</artifactId>
- <version>5.2.0-SNAPSHOT</version>
+ <version>6.0.0-SNAPSHOT</version>
<scope>import</scope>
<type>pom</type>
</dependency>
Modified: core/trunk/jboss-as/pom.xml
===================================================================
--- core/trunk/jboss-as/pom.xml 2010-01-09 18:55:00 UTC (rev 5409)
+++ core/trunk/jboss-as/pom.xml 2010-01-09 20:15:33 UTC (rev 5410)
@@ -26,7 +26,7 @@
</scm>
<properties>
- <weld-deployer.version>5.2.0-SNAPSHOT</weld-deployer.version>
+ <weld-deployer.version>6.0.0-SNAPSHOT</weld-deployer.version>
</properties>
<dependencies>
14 years, 4 months