directory-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From akaras...@apache.org
Subject svn commit: r558568 - in /directory/sandbox/akarasulu/j2l/trunk: ./ runtime/ runtime/src/main/java/org/ runtime/src/main/java/org/apache/ runtime/src/main/java/org/apache/directory/ runtime/src/main/java/org/apache/directory/j2l/ runtime/src/main/java/...
Date Mon, 23 Jul 2007 00:29:24 GMT
Author: akarasulu
Date: Sun Jul 22 17:28:50 2007
New Revision: 558568

URL: http://svn.apache.org/viewvc?view=rev&rev=558568
Log:
moving on prototyping j2l mapping framework:

 o added annotations for attributeType mappings for simple types
 o added some code to infer default mapping without annotations
 o starting to use annotations now to alter default behavoirs
 o will begin adding maven plugin mojos to generate schema shortly


Added:
    directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/
    directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/
    directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/
    directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/
    directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/
    directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/LdapAttributeToPropertyMapping.java
    directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/LdapObjectClass.java
    directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/LdapRdnAttributes.java
    directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/
    directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/IgnoreBeanProperty.java
    directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeAliases.java
    directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeCollective.java
    directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeDescription.java
    directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeEqualityMatch.java
    directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeExists.java
    directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeNotUserModifiable.java
    directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeObsolete.java
    directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeOid.java
    directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeOrderingMatch.java
    directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeRequired.java
    directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeSchemaExtension.java
    directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeSchemaExtensions.java
    directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeSubstringMatch.java
    directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeSuperType.java
    directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeSyntax.java
    directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeUsage.java
    directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/descriptions/
    directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/descriptions/AttributeToPropertyMapping.java
    directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/descriptions/AttributeTypeExtractor.java
    directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/descriptions/ObjectClassDescriptionExtractor.java
    directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/maven/
    directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/maven/dao/
    directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/maven/jndi/
    directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/maven/schema/
    directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/
    directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/
    directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/
    directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/
    directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/annotations/
    directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/annotations/AnnotationTest.java
    directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/annotations/FooEnum.java
    directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/annotations/MutableTestBean.java
    directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/annotations/TestBean.java
Modified:
    directory/sandbox/akarasulu/j2l/trunk/pom.xml
    directory/sandbox/akarasulu/j2l/trunk/runtime/pom.xml

Modified: directory/sandbox/akarasulu/j2l/trunk/pom.xml
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/j2l/trunk/pom.xml?view=diff&rev=558568&r1=558567&r2=558568
==============================================================================
--- directory/sandbox/akarasulu/j2l/trunk/pom.xml (original)
+++ directory/sandbox/akarasulu/j2l/trunk/pom.xml Sun Jul 22 17:28:50 2007
@@ -114,7 +114,13 @@
       <dependency>
         <groupId>org.apache.directory.shared</groupId>
         <artifactId>shared-ldap</artifactId>
-        <version>1.5.1-SNAPSHOT</version>
+        <version>0.9.7-SNAPSHOT</version>
+      </dependency>
+
+      <dependency>
+        <groupId>org.apache.directory.shared</groupId>
+        <artifactId>shared-ldap-constants</artifactId>
+        <version>0.9.7-SNAPSHOT</version>
       </dependency>
 
       <dependency>

Modified: directory/sandbox/akarasulu/j2l/trunk/runtime/pom.xml
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/j2l/trunk/runtime/pom.xml?view=diff&rev=558568&r1=558567&r2=558568
==============================================================================
--- directory/sandbox/akarasulu/j2l/trunk/runtime/pom.xml (original)
+++ directory/sandbox/akarasulu/j2l/trunk/runtime/pom.xml Sun Jul 22 17:28:50 2007
@@ -37,6 +37,55 @@
 
 
   <dependencies>
+    <dependency>
+      <groupId>commons-beanutils</groupId>
+      <artifactId>commons-beanutils</artifactId>
+    </dependency>
+
+    <dependency>
+      <groupId>commons-collections</groupId>
+      <artifactId>commons-collections</artifactId>
+    </dependency>
+
+    <dependency>
+      <groupId>commons-lang</groupId>
+      <artifactId>commons-lang</artifactId>
+    </dependency>
+
+    <dependency>
+      <groupId>commons-logging</groupId>
+      <artifactId>commons-logging</artifactId>
+    </dependency>
+
+    <dependency>
+      <groupId>log4j</groupId>
+      <artifactId>log4j</artifactId>
+    </dependency>
+
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>nlog4j</artifactId>
+    </dependency>
+
+    <dependency>
+      <groupId>ant</groupId>
+      <artifactId>ant</artifactId>
+    </dependency>
+
+    <dependency>
+      <groupId>org.apache.directory.shared</groupId>
+      <artifactId>shared-ldap</artifactId>
+    </dependency>
+
+    <dependency>
+      <groupId>org.apache.directory.shared</groupId>
+      <artifactId>shared-ldap-constants</artifactId>
+    </dependency>
+
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+    </dependency>
   </dependencies>
 
 </project>

Added: directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/LdapAttributeToPropertyMapping.java
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/LdapAttributeToPropertyMapping.java?view=auto&rev=558568
==============================================================================
--- directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/LdapAttributeToPropertyMapping.java (added)
+++ directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/LdapAttributeToPropertyMapping.java Sun Jul 22 17:28:50 2007
@@ -0,0 +1,35 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you 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.apache.directory.j2l.annotations;
+
+import java.lang.annotation.*;
+
+/**
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+@Inherited
+@Retention( RetentionPolicy.RUNTIME )
+public @interface LdapAttributeToPropertyMapping
+{
+    String ldapAttribute();
+    String javaProperty();
+}

Added: directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/LdapObjectClass.java
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/LdapObjectClass.java?view=auto&rev=558568
==============================================================================
--- directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/LdapObjectClass.java (added)
+++ directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/LdapObjectClass.java Sun Jul 22 17:28:50 2007
@@ -0,0 +1,36 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you 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.apache.directory.j2l.annotations;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Inherited;
+
+/**
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+@Inherited
+@Retention(RetentionPolicy.RUNTIME)
+public @interface LdapObjectClass
+{
+    String value();
+}

Added: directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/LdapRdnAttributes.java
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/LdapRdnAttributes.java?view=auto&rev=558568
==============================================================================
--- directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/LdapRdnAttributes.java (added)
+++ directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/LdapRdnAttributes.java Sun Jul 22 17:28:50 2007
@@ -0,0 +1,38 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you 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.apache.directory.j2l.annotations;
+
+import org.apache.directory.j2l.annotations.LdapAttributeToPropertyMapping;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Inherited;
+
+/**
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+@Inherited
+@Retention( RetentionPolicy.RUNTIME )
+public @interface LdapRdnAttributes
+{
+    LdapAttributeToPropertyMapping[] value();
+}

Added: directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/IgnoreBeanProperty.java
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/IgnoreBeanProperty.java?view=auto&rev=558568
==============================================================================
--- directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/IgnoreBeanProperty.java (added)
+++ directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/IgnoreBeanProperty.java Sun Jul 22 17:28:50 2007
@@ -0,0 +1,40 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you 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.apache.directory.j2l.annotations.attribute;
+
+
+import java.lang.annotation.*;
+
+
+/**
+ * A marker annotation telling the J2L subsystem to ignore a bean property
+ * all together.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+@Documented
+@Inherited
+@Retention( RetentionPolicy.RUNTIME )
+@Target( ElementType.METHOD )
+public @interface IgnoreBeanProperty
+{
+    String value();
+}

Added: directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeAliases.java
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeAliases.java?view=auto&rev=558568
==============================================================================
--- directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeAliases.java (added)
+++ directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeAliases.java Sun Jul 22 17:28:50 2007
@@ -0,0 +1,37 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you 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.apache.directory.j2l.annotations.attribute;
+
+import java.lang.annotation.*;
+
+/**
+ * Overrides the default mechanism for assigning aliases to generated
+ * attributeType definition.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+@Inherited
+@Retention(RetentionPolicy.RUNTIME)
+@Target( ElementType.METHOD )
+public @interface LdapAttributeAliases
+{
+    String[] value();
+}

Added: directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeCollective.java
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeCollective.java?view=auto&rev=558568
==============================================================================
--- directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeCollective.java (added)
+++ directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeCollective.java Sun Jul 22 17:28:50 2007
@@ -0,0 +1,36 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you 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.apache.directory.j2l.annotations.attribute;
+
+import java.lang.annotation.*;
+
+/**
+ * Overrides default by setting an attributeType as collective.  By
+ * default all generated attributeTypes are not collective.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+@Inherited
+@Retention( RetentionPolicy.RUNTIME )
+@Target( ElementType.METHOD )
+public @interface LdapAttributeCollective
+{
+}

Added: directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeDescription.java
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeDescription.java?view=auto&rev=558568
==============================================================================
--- directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeDescription.java (added)
+++ directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeDescription.java Sun Jul 22 17:28:50 2007
@@ -0,0 +1,37 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you 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.apache.directory.j2l.annotations.attribute;
+
+import java.lang.annotation.*;
+
+/**
+ * Used for a custom LDAP description.  Would be nice to be able to use the
+ * JavaDoc for the property but I don't know if this is possible.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+@Inherited
+@Retention ( RetentionPolicy.RUNTIME )
+@Target ( ElementType.METHOD )
+public @interface LdapAttributeDescription
+{
+    String value();
+}

Added: directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeEqualityMatch.java
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeEqualityMatch.java?view=auto&rev=558568
==============================================================================
--- directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeEqualityMatch.java (added)
+++ directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeEqualityMatch.java Sun Jul 22 17:28:50 2007
@@ -0,0 +1,39 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you 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.apache.directory.j2l.annotations.attribute;
+
+import java.lang.annotation.*;
+
+/**
+ * An override equality MatchingRule to use for a specific attributeType if it
+ * is different from the default matchingRule associated with the property's
+ * data type.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+@Documented
+@Inherited
+@Retention ( RetentionPolicy.RUNTIME )
+@Target( ElementType.METHOD )
+public @interface LdapAttributeEqualityMatch
+{
+    String value();
+}

Added: directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeExists.java
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeExists.java?view=auto&rev=558568
==============================================================================
--- directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeExists.java (added)
+++ directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeExists.java Sun Jul 22 17:28:50 2007
@@ -0,0 +1,34 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you 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.apache.directory.j2l.annotations.attribute;
+
+import java.lang.annotation.*;
+
+/**
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+@Inherited
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.METHOD)
+public @interface LdapAttributeExists
+{
+}

Added: directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeNotUserModifiable.java
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeNotUserModifiable.java?view=auto&rev=558568
==============================================================================
--- directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeNotUserModifiable.java (added)
+++ directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeNotUserModifiable.java Sun Jul 22 17:28:50 2007
@@ -0,0 +1,37 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you 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.apache.directory.j2l.annotations.attribute;
+
+import java.lang.annotation.*;
+
+/**
+ * Overrides default by setting an attributeType as NOT modifiable
+ * by the user.  By default all generated attributeTypes are user
+ * modifiable.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+@Inherited
+@Retention( RetentionPolicy.RUNTIME )
+@Target( ElementType.METHOD )
+public @interface LdapAttributeNotUserModifiable
+{
+}

Added: directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeObsolete.java
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeObsolete.java?view=auto&rev=558568
==============================================================================
--- directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeObsolete.java (added)
+++ directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeObsolete.java Sun Jul 22 17:28:50 2007
@@ -0,0 +1,35 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you 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.apache.directory.j2l.annotations.attribute;
+
+import java.lang.annotation.*;
+
+/**
+ * Overrides default by setting an attributeType as collective.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+@Inherited
+@Retention( RetentionPolicy.RUNTIME )
+@Target( ElementType.METHOD )
+public @interface LdapAttributeObsolete
+{
+}

Added: directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeOid.java
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeOid.java?view=auto&rev=558568
==============================================================================
--- directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeOid.java (added)
+++ directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeOid.java Sun Jul 22 17:28:50 2007
@@ -0,0 +1,40 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you 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.apache.directory.j2l.annotations.attribute;
+
+import java.lang.annotation.*;
+
+/**
+ * Overrides the default OID assignment mechanism to set the numeric
+ * OID of the new attributeType explicitly.  By default the J2L system
+ * automatically and sequencially generates OIDs for new attributeTypes
+ * using a base OID along with a schema specific branch off that OID base.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+@Documented
+@Inherited
+@Retention( RetentionPolicy.RUNTIME )
+@Target( ElementType.METHOD )
+public @interface LdapAttributeOid
+{
+    String value();
+}

Added: directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeOrderingMatch.java
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeOrderingMatch.java?view=auto&rev=558568
==============================================================================
--- directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeOrderingMatch.java (added)
+++ directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeOrderingMatch.java Sun Jul 22 17:28:50 2007
@@ -0,0 +1,39 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you 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.apache.directory.j2l.annotations.attribute;
+
+import java.lang.annotation.*;
+
+/**
+ * An override ordering MatchingRule to use for a specific attributeType if it
+ * is different from the default matchingRule associated with the property's
+ * data type.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+@Documented
+@Inherited
+@Retention( RetentionPolicy.RUNTIME )
+@Target( ElementType.METHOD )
+public @interface LdapAttributeOrderingMatch
+{
+    String value();
+}

Added: directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeRequired.java
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeRequired.java?view=auto&rev=558568
==============================================================================
--- directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeRequired.java (added)
+++ directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeRequired.java Sun Jul 22 17:28:50 2007
@@ -0,0 +1,38 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you 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.apache.directory.j2l.annotations.attribute;
+
+import java.lang.annotation.*;
+
+/**
+ * Used to indicate that an attributeType corresponding to a java
+ * property is required and therefore should be in the MUST list
+ * of the objectClass for the bean class.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+@Documented
+@Inherited
+@Retention( RetentionPolicy.RUNTIME )
+@Target( ElementType.METHOD )
+public @interface LdapAttributeRequired
+{
+}

Added: directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeSchemaExtension.java
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeSchemaExtension.java?view=auto&rev=558568
==============================================================================
--- directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeSchemaExtension.java (added)
+++ directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeSchemaExtension.java Sun Jul 22 17:28:50 2007
@@ -0,0 +1,37 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you 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.apache.directory.j2l.annotations.attribute;
+
+import java.lang.annotation.*;
+
+/**
+ * Used to specify a schema extension and values for an attributeType.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+@Inherited
+@Retention( RetentionPolicy.RUNTIME)
+@Target( ElementType.METHOD )
+public @interface LdapAttributeSchemaExtension
+{
+    String name();
+    String[] values();
+}

Added: directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeSchemaExtensions.java
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeSchemaExtensions.java?view=auto&rev=558568
==============================================================================
--- directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeSchemaExtensions.java (added)
+++ directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeSchemaExtensions.java Sun Jul 22 17:28:50 2007
@@ -0,0 +1,38 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you 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.apache.directory.j2l.annotations.attribute;
+
+import java.lang.annotation.*;
+
+/**
+ * Used to override schema extensions for an attributeType.  An array of
+ * LdapAttributeSchemaExtension objects must be given as the value.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+@Documented
+@Inherited
+@Retention( RetentionPolicy.RUNTIME)
+@Target( ElementType.METHOD )
+public @interface LdapAttributeSchemaExtensions
+{
+    LdapAttributeSchemaExtension[] value();
+}

Added: directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeSubstringMatch.java
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeSubstringMatch.java?view=auto&rev=558568
==============================================================================
--- directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeSubstringMatch.java (added)
+++ directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeSubstringMatch.java Sun Jul 22 17:28:50 2007
@@ -0,0 +1,39 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you 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.apache.directory.j2l.annotations.attribute;
+
+import java.lang.annotation.*;
+
+/**
+ * An override substring MatchingRule to use for a specific attributeType if it
+ * is different from the default matchingRule associated with the property's
+ * data type.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+@Documented
+@Inherited
+@Retention( RetentionPolicy.RUNTIME )
+@Target( ElementType.METHOD )
+public @interface LdapAttributeSubstringMatch
+{
+    String value();
+}

Added: directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeSuperType.java
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeSuperType.java?view=auto&rev=558568
==============================================================================
--- directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeSuperType.java (added)
+++ directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeSuperType.java Sun Jul 22 17:28:50 2007
@@ -0,0 +1,37 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you 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.apache.directory.j2l.annotations.attribute;
+
+import java.lang.annotation.*;
+
+/**
+ * Used to specify a superType for an attributeType.  By default newly
+ * created attributeType descriptions do not have a superType associated.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+@Inherited
+@Retention( RetentionPolicy.RUNTIME )
+@Target( ElementType.METHOD )
+public @interface LdapAttributeSuperType
+{
+    String value();
+}

Added: directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeSyntax.java
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeSyntax.java?view=auto&rev=558568
==============================================================================
--- directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeSyntax.java (added)
+++ directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeSyntax.java Sun Jul 22 17:28:50 2007
@@ -0,0 +1,37 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you 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.apache.directory.j2l.annotations.attribute;
+
+import java.lang.annotation.*;
+
+/**
+ * Used to override the default algorithm used to assign a syntax to
+ * generated attributeType descriptions.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+@Inherited
+@Retention( RetentionPolicy.RUNTIME )
+@Target( ElementType.METHOD )
+public @interface LdapAttributeSyntax
+{
+    String value();
+}

Added: directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeUsage.java
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeUsage.java?view=auto&rev=558568
==============================================================================
--- directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeUsage.java (added)
+++ directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/annotations/attributeType/LdapAttributeUsage.java Sun Jul 22 17:28:50 2007
@@ -0,0 +1,40 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you 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.apache.directory.j2l.annotations.attribute;
+
+import org.apache.directory.shared.ldap.schema.UsageEnum;
+
+import java.lang.annotation.*;
+
+/**
+ * Overriding usage information about the attributeType which by default is
+ * considered a USER_APPLICATIONS attributeType.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+@Documented
+@Inherited
+@Retention( RetentionPolicy.RUNTIME )
+@Target( ElementType.METHOD )
+public @interface LdapAttributeUsage
+{
+    UsageEnum value();
+}

Added: directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/descriptions/AttributeToPropertyMapping.java
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/descriptions/AttributeToPropertyMapping.java?view=auto&rev=558568
==============================================================================
--- directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/descriptions/AttributeToPropertyMapping.java (added)
+++ directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/descriptions/AttributeToPropertyMapping.java Sun Jul 22 17:28:50 2007
@@ -0,0 +1,156 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you 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.apache.directory.j2l.descriptions;
+
+import org.apache.directory.shared.ldap.schema.syntax.AttributeTypeDescription;
+import org.apache.directory.j2l.configuration.PrimitiveMapping;
+import org.apache.directory.j2l.configuration.J2LConfiguration;
+import org.apache.commons.beanutils.DynaProperty;
+import org.apache.commons.beanutils.DynaClass;
+import org.apache.commons.collections.CollectionUtils;
+
+import java.lang.reflect.Method;
+import java.lang.annotation.Annotation;
+import java.util.List;
+import java.util.ArrayList;
+
+/**
+ * Useful data structure to track an attributeType to Java Bean Property along with
+ * various aspects useful during mapping.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+public class AttributeToPropertyMapping
+{
+    private final J2LConfiguration configuration;
+    private AttributeTypeDescription attributeTypeDescription = new AttributeTypeDescription();
+    private boolean isRequired = false;
+    private Method setter;
+    private Method getter;
+    private DynaClass dynaClass;
+    private DynaProperty dynaProperty;
+    private PrimitiveMapping primitiveMapping;
+
+
+    public AttributeToPropertyMapping( J2LConfiguration configuration )
+    {
+        this.configuration = configuration;
+    }
+    
+
+    public boolean hasAnnotations()
+    {
+        return ( getter != null && getter.getAnnotations() != null && getter.getAnnotations().length > 0 )
+            || ( setter != null && setter.getAnnotations() != null && setter.getAnnotations().length > 0 );
+    }
+
+
+    public List<Annotation> getAllPropertyAnnotations()
+    {
+        List<Annotation> annotations = new ArrayList<Annotation>();
+        if ( getter != null && getter.getAnnotations() != null && getter.getAnnotations().length > 0 )
+        {
+            CollectionUtils.addAll( annotations, getter.getAnnotations() );
+        }
+        if ( setter != null && setter.getAnnotations() != null && setter.getAnnotations().length > 0 )
+        {
+            CollectionUtils.addAll( annotations, setter.getAnnotations() );
+        }
+
+        return annotations;
+    }
+
+
+    public AttributeTypeDescription getAttributeTypeDescription()
+    {
+        return attributeTypeDescription;
+    }
+
+
+    public void setAttributeTypeDescription( AttributeTypeDescription attributeTypeDescription )
+    {
+        this.attributeTypeDescription = attributeTypeDescription;
+    }
+
+
+    public boolean isRequired()
+    {
+        return isRequired;
+    }
+
+
+    public void setRequired( boolean required )
+    {
+        isRequired = required;
+    }
+
+
+    public Method getSetter()
+    {
+        return setter;
+    }
+
+
+    public void setSetter( Method setter )
+    {
+        this.setter = setter;
+    }
+
+
+    public Method getGetter()
+    {
+        return getter;
+    }
+
+
+    public void setGetter( Method getter )
+    {
+        this.getter = getter;
+    }
+
+
+    public DynaProperty getDynaProperty()
+    {
+        return dynaProperty;
+    }
+
+
+    public void setDynaProperty( DynaProperty dynaProperty )
+    {
+        this.dynaProperty = dynaProperty;
+        this.primitiveMapping = configuration.getPrimitiveMappingRegistry().lookup( dynaProperty.getType() );
+    }
+
+    public PrimitiveMapping getPrimitiveMapping()
+    {
+        return primitiveMapping;
+    }
+
+    public DynaClass getDynaClass()
+    {
+        return dynaClass;
+    }
+
+    public void setDynaClass( DynaClass dynaClass )
+    {
+        this.dynaClass = dynaClass;
+    }
+}

Added: directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/descriptions/AttributeTypeExtractor.java
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/descriptions/AttributeTypeExtractor.java?view=auto&rev=558568
==============================================================================
--- directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/descriptions/AttributeTypeExtractor.java (added)
+++ directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/descriptions/AttributeTypeExtractor.java Sun Jul 22 17:28:50 2007
@@ -0,0 +1,218 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you 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.apache.directory.j2l.descriptions;
+
+import org.apache.directory.shared.ldap.schema.UsageEnum;
+import org.apache.directory.j2l.configuration.J2LConfiguration;
+import org.apache.directory.j2l.configuration.OidGenerator;
+import org.apache.commons.beanutils.DynaClass;
+import org.apache.commons.beanutils.BasicDynaClass;
+import org.apache.commons.beanutils.DynaProperty;
+import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang.NotImplementedException;
+
+import java.util.*;
+import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
+import java.lang.annotation.Annotation;
+
+
+/**
+ * Document me!
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+public class AttributeTypeExtractor
+{
+    private final J2LConfiguration configuration;
+    private final OidGenerator generator;
+
+
+    public AttributeTypeExtractor( J2LConfiguration configuration, OidGenerator generator )
+    {
+        this.configuration = configuration;
+        this.generator = generator;
+    }
+    
+
+    public Set<AttributeToPropertyMapping> extractAttributeToPropertyMappings( Class beanClass )
+    {
+        Set<AttributeToPropertyMapping> atds = new HashSet<AttributeToPropertyMapping>();
+        DynaClass dynaClass = new BasicDynaClass( beanClass.getName(), beanClass );
+        DynaProperty[] properties = dynaClass.getDynaProperties();
+
+        for ( DynaProperty dynaProperty : properties )
+        {
+            // @TODO if the dynaProperty is mapped or indexed we need to take alternative approaches
+            // This is to manage the cardinality aspect - what about dealing with sets?
+
+            atds.add( extractAttributeToPropertyMapping( dynaClass, dynaProperty ) );
+        }
+
+        return atds;
+    }
+
+
+    public AttributeToPropertyMapping extractAttributeToPropertyMapping( DynaClass dynaClass, DynaProperty dynaProperty )
+    {
+        AttributeToPropertyMapping mapping = new AttributeToPropertyMapping( configuration );
+        mapping.setSetter( getPropertySetter( dynaClass, dynaProperty ) );
+        mapping.setGetter( getPropertyGetter( dynaClass, dynaProperty ) );
+        mapping.setDynaClass( dynaClass );
+
+        if ( mapping.getGetter() == null && mapping.getSetter() == null )
+        {
+            throw new IllegalStateException( "dynaProperty " + dynaProperty.getName() + " in class "
+                    + dynaClass.getClass() + " should at least have a getter or setter." );   
+        }
+
+        checkForDuplicateAnnotations( mapping );
+        populateAttributeTypeDescription( mapping );
+
+        if ( mapping.hasAnnotations() )
+        {
+            applyAnnotationsToAttributeTypeDescription( mapping );
+        }
+
+        return mapping;
+    }
+
+
+    private void applyAnnotationsToAttributeTypeDescription( AttributeToPropertyMapping mapping )
+    {
+    }
+
+
+    private void populateAttributeTypeDescription( AttributeToPropertyMapping mapping )
+    {
+        if ( mapping.getDynaProperty().isIndexed() && mapping.getDynaProperty().isMapped() )
+        {
+            throw new NotImplementedException( "Only simple properties are handled." );
+        }
+
+        mapping.getAttributeTypeDescription().setUsage( UsageEnum.USER_APPLICATIONS );
+        mapping.getAttributeTypeDescription().setNumericOid( generator.nextAttributeTypeOid() );
+        mapping.getAttributeTypeDescription().setCollective( false );
+        mapping.getAttributeTypeDescription().setDescription( "undocumented" );
+        mapping.getAttributeTypeDescription().setObsolete( false );
+        mapping.getAttributeTypeDescription().setSingleValued( true );
+        mapping.getAttributeTypeDescription().setUserModifiable( true );
+        mapping.getAttributeTypeDescription().setSuperType( null );
+
+        // hook up the matching rules using default mappings setup in the configuration
+        mapping.getAttributeTypeDescription().setEqualityMatchingRule(
+                mapping.getPrimitiveMapping().getEqualityMatchingRule() );
+        mapping.getAttributeTypeDescription().setOrderingMatchingRule(
+                mapping.getPrimitiveMapping().getOrderingMatchingRule() );
+        mapping.getAttributeTypeDescription().setSubstringsMatchingRule(
+                mapping.getPrimitiveMapping().getSubstringMatchingRule() );
+
+        mapping.getAttributeTypeDescription().setSyntax( mapping.getPrimitiveMapping().getLdapSyntaxOid() );
+
+        // ----- setup extensions ----------------------------
+        String schemaName = configuration.getSchemaConfiguration().getName();
+        Map<String, List<String>> extensions = new HashMap<String, List<String>>();
+        extensions.put( "X-SCHEMA", Collections.singletonList( schemaName ) );
+        mapping.getAttributeTypeDescription().setExtensions( extensions );
+
+        // ----- setup the name ------------------------------
+        String name = null;
+        if ( configuration.getEntityPrefix() != null )
+        {
+            // use the prefix + property name if prefix is specified
+            name = configuration.getEntityPrefix() + StringUtils.capitalize( mapping.getDynaProperty().getName() );
+        }
+        else
+        {
+            // default to fully qualified class name of bean + [P]roperty
+            name = mapping.getDynaClass().getName() + "." +
+                    StringUtils.capitalize( mapping.getDynaProperty().getName() );
+        }
+        mapping.getAttributeTypeDescription().setNames( Collections.singletonList( name ) );
+    }
+
+
+    private static void checkForDuplicateAnnotations( AttributeToPropertyMapping mapping )
+    {
+        // @TODO this is bogus for now since it really does not check for duplicate
+        // annotations but only checks if setter and getter both have annotations
+        if ( mapping.getGetter() != null && mapping.getSetter() != null )
+        {
+            if ( mapping.getGetter().getAnnotations().length != 0 && mapping.getSetter().getAnnotations().length != 0 )
+            {
+                throw new IllegalArgumentException( "Both setter and getter contain annotations in class "
+                        + mapping.getGetter().getClass().getName() + ": " + mapping.getGetter().getName()
+                        + " and " + mapping.getSetter().getName() );
+            }
+        }
+    }
+
+    public static Method getPropertySetter( DynaClass dynaClass, DynaProperty property )
+    {
+        Method setter = null;
+
+        try
+        {
+            setter = dynaClass.getClass().getMethod( "set" + StringUtils.capitalize( property.getName() ),
+                    new Class[] { property.getClass() } );
+        }
+        catch ( NoSuchMethodException e ) {}
+
+        return setter;
+    }
+
+
+    public static Method getPropertyGetter( DynaClass dynaClass, DynaProperty property )
+    {
+        Method getter = null;
+
+        try
+        {
+            getter = dynaClass.getClass().getMethod( "get" + StringUtils.capitalize( property.getName() ),
+                    new Class[] { property.getClass() } );
+        }
+        catch ( NoSuchMethodException e ) {}
+
+        if ( getter == null )
+        {
+            try
+            {
+                getter = dynaClass.getClass().getMethod( "is" + StringUtils.capitalize( property.getName() ),
+                        new Class[] { property.getClass() } );
+            }
+            catch ( NoSuchMethodException e ) {}
+        }
+        return getter;
+    }
+
+
+    public static boolean isBeanPropertyMethod( Method method )
+    {
+        int mods = method.getModifiers();
+
+        return
+                Modifier.isPublic( mods )  &&
+                ! Modifier.isAbstract( mods ) &&
+                ! Modifier.isStatic( mods )   &&
+                ( method.getName().startsWith( "is" )  ||
+                  method.getName().startsWith( "get" ) || method.getName().startsWith( "set" ) );
+    }
+}

Added: directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/descriptions/ObjectClassDescriptionExtractor.java
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/descriptions/ObjectClassDescriptionExtractor.java?view=auto&rev=558568
==============================================================================
--- directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/descriptions/ObjectClassDescriptionExtractor.java (added)
+++ directory/sandbox/akarasulu/j2l/trunk/runtime/src/main/java/org/apache/directory/j2l/descriptions/ObjectClassDescriptionExtractor.java Sun Jul 22 17:28:50 2007
@@ -0,0 +1,51 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you 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.apache.directory.j2l.descriptions;
+
+import org.apache.directory.j2l.configuration.J2LConfiguration;
+import org.apache.directory.shared.ldap.schema.syntax.ObjectClassDescription;
+
+import java.util.Set;
+import java.util.HashSet;
+
+/**
+ * Document me!
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+public class ObjectClassDescriptionExtractor
+{
+    private final J2LConfiguration configuration;
+
+
+    public ObjectClassDescriptionExtractor( J2LConfiguration configuration )
+    {
+        this.configuration = configuration;
+    }
+
+
+    public ObjectClassDescription extractObjectClassDescription( Class beanClass )
+    {
+        ObjectClassDescription objectClassDescriptions = new ObjectClassDescription();
+
+        return objectClassDescriptions;
+    }
+}

Added: directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/annotations/AnnotationTest.java
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/annotations/AnnotationTest.java?view=auto&rev=558568
==============================================================================
--- directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/annotations/AnnotationTest.java (added)
+++ directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/annotations/AnnotationTest.java Sun Jul 22 17:28:50 2007
@@ -0,0 +1,32 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you 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.apache.directory.j2l.annotations;
+
+/**
+ * Test cases for the various annotations used in J2L. Two classes are used
+ * for testing these annotations.  They are included in this package as
+ * TestBean and MutableTestBean.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+public class AnnotationTest
+{
+}

Added: directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/annotations/FooEnum.java
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/annotations/FooEnum.java?view=auto&rev=558568
==============================================================================
--- directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/annotations/FooEnum.java (added)
+++ directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/annotations/FooEnum.java Sun Jul 22 17:28:50 2007
@@ -0,0 +1,32 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you 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.apache.directory.j2l.annotations;
+
+/**
+ * Document me!
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+public enum FooEnum
+{
+    FOO,
+    BAR;
+}

Added: directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/annotations/MutableTestBean.java
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/annotations/MutableTestBean.java?view=auto&rev=558568
==============================================================================
--- directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/annotations/MutableTestBean.java (added)
+++ directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/annotations/MutableTestBean.java Sun Jul 22 17:28:50 2007
@@ -0,0 +1,79 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you 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.apache.directory.j2l.annotations;
+
+/**
+ * Document me!
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+public class MutableTestBean
+{
+    protected void setStringProperty( String stringProperty )
+    {
+        setStringProperty( stringProperty );
+    }
+
+    protected void setBooleanProperty( boolean booleanProperty )
+    {
+        setBooleanProperty( booleanProperty );
+    }
+
+    protected void setCharProperty( char charProperty )
+    {
+        setCharProperty( charProperty );
+    }
+
+    protected void setIntProperty( int intProperty )
+    {
+        setIntProperty( intProperty );
+    }
+
+    protected void setFloatProperty( float floatProperty )
+    {
+        setFloatProperty( floatProperty );
+    }
+
+    protected void setDoubleProperty( double doubleProperty )
+    {
+        setDoubleProperty( doubleProperty );
+    }
+
+    protected void setEnumProperty( FooEnum enumProperty )
+    {
+        setEnumProperty( enumProperty );
+    }
+
+    protected void setShortProperty( short shortProperty )
+    {
+        setShortProperty( shortProperty );
+    }
+
+    protected void setLongProperty( long longProperty )
+    {
+        setLongProperty( longProperty );
+    }
+
+    protected void setByteProperty( byte byteProperty )
+    {
+        setByteProperty( byteProperty );
+    }
+}

Added: directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/annotations/TestBean.java
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/annotations/TestBean.java?view=auto&rev=558568
==============================================================================
--- directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/annotations/TestBean.java (added)
+++ directory/sandbox/akarasulu/j2l/trunk/runtime/src/test/java/org/apache/directory/j2l/annotations/TestBean.java Sun Jul 22 17:28:50 2007
@@ -0,0 +1,140 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you 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.apache.directory.j2l.annotations;
+
+/**
+ * A bean with J2L annotations used for testing these annotations.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+public class TestBean
+{
+    private String stringProperty;
+    private short shortProperty;
+    private long longProperty;
+    private byte byteProperty;
+    private boolean booleanProperty;
+    private char charProperty;
+    private int intProperty;
+    private float floatProperty;
+    private double doubleProperty;
+    private FooEnum enumProperty;
+
+    public String getStringProperty()
+    {
+        return stringProperty;
+    }
+
+    public short getShortProperty()
+    {
+        return shortProperty;
+    }
+
+    public long getLongProperty()
+    {
+        return longProperty;
+    }
+
+    public byte getByteProperty()
+    {
+        return byteProperty;
+    }
+
+    public boolean isBooleanProperty()
+    {
+        return booleanProperty;
+    }
+
+    public char getCharProperty()
+    {
+        return charProperty;
+    }
+
+    public int getIntProperty()
+    {
+        return intProperty;
+    }
+
+    public float getFloatProperty()
+    {
+        return floatProperty;
+    }
+
+    public double getDoubleProperty()
+    {
+        return doubleProperty;
+    }
+
+    public FooEnum getEnumProperty()
+    {
+        return enumProperty;
+    }
+
+    protected void setStringProperty( String stringProperty )
+    {
+        this.stringProperty = stringProperty;
+    }
+
+    protected void setBooleanProperty( boolean booleanProperty )
+    {
+        this.booleanProperty = booleanProperty;
+    }
+
+    protected void setCharProperty( char charProperty )
+    {
+        this.charProperty = charProperty;
+    }
+
+    protected void setIntProperty( int intProperty )
+    {
+        this.intProperty = intProperty;
+    }
+
+    protected void setFloatProperty( float floatProperty )
+    {
+        this.floatProperty = floatProperty;
+    }
+
+    protected void setDoubleProperty( double doubleProperty )
+    {
+        this.doubleProperty = doubleProperty;
+    }
+
+    protected void setEnumProperty( FooEnum enumProperty )
+    {
+        this.enumProperty = enumProperty;
+    }
+
+    protected void setShortProperty( short shortProperty )
+    {
+        this.shortProperty = shortProperty;
+    }
+
+    protected void setLongProperty( long longProperty )
+    {
+        this.longProperty = longProperty;
+    }
+
+    protected void setByteProperty( byte byteProperty )
+    {
+        this.byteProperty = byteProperty;
+    }
+}



Mime
View raw message