Update of 
/cvsroot/xdoclet-plugins/xdoclet-plugins/plugin-ejb/src/main/java/org/xdoclet/plugin/ejb/qtags
In directory 
sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13231/plugin-ejb/src/main/java/org/xdoclet/plugin/ejb/qtags

Modified Files:
        EjbRelationTag.java EjbValueObjectTag.java EjbBeanTag.java 
        EjbPermissionTag.java EjbRemoteFacadeTag.java 
        EjbSecurityRolesTag.java EjbPersistenceTag.java 
        EjbTransactionTag.java EjbInterfaceMethodTag.java 
Added Files:
        EjbPersistenceFieldTag.java EjbValueObjectFieldTag.java 
Removed Files:
        EjbPersistentFieldTag.java 
Log Message:
* Various refactorings
* Completed ValueObjectPlugin

Index: EjbRemoteFacadeTag.java
===================================================================
RCS file: 
/cvsroot/xdoclet-plugins/xdoclet-plugins/plugin-ejb/src/main/java/org/xdoclet/plugin/ejb/qtags/EjbRemoteFacadeTag.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** EjbRemoteFacadeTag.java     7 Sep 2005 01:13:08 -0000       1.4
--- EjbRemoteFacadeTag.java     13 Dec 2005 03:38:27 -0000      1.5
***************
*** 9,15 ****
   * Generate remote facade class for entity beans.<br>
   * This class will provide convenient view on session bean and perform all 
the necesary lookups.<br>
!  * Session Bean methods marked with @ejb.facade-method will be included and 
transparently proxied.<br>
   * Generated class name will follow pattern: &#123;0&#125;Remote<br>
   */
  public interface EjbRemoteFacadeTag extends 
com.thoughtworks.qdox.model.DocletTag {
! }
\ No newline at end of file
--- 9,15 ----
   * Generate remote facade class for entity beans.<br>
   * This class will provide convenient view on session bean and perform all 
the necesary lookups.<br>
!  * Session Bean methods marked with &#064;ejb.facade-method will be included 
and transparently proxied.<br>
   * Generated class name will follow pattern: &#123;0&#125;Remote<br>
   */
  public interface EjbRemoteFacadeTag extends 
com.thoughtworks.qdox.model.DocletTag {
! }

Index: EjbPersistenceTag.java
===================================================================
RCS file: 
/cvsroot/xdoclet-plugins/xdoclet-plugins/plugin-ejb/src/main/java/org/xdoclet/plugin/ejb/qtags/EjbPersistenceTag.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** EjbPersistenceTag.java      7 Sep 2005 01:13:08 -0000       1.6
--- EjbPersistenceTag.java      13 Dec 2005 03:38:27 -0000      1.7
***************
*** 7,29 ****
  
  /**
!  * The @ejb.persistence tag provides information about the persistence of a 
CMP Entity bean's fields.<br>
!  * Use this for methods with the following patterns:
!  * <ul>
!  * <li>public abstract Foo getX();</li>
!  * <li>public abstract boolean isX();</li>
!  * <li>public abstract void setX(Foo newVal);</li>
!  * </ul>
!  * This will create the CMP field "X" in the generated CMP layer of type 
"Foo", and concrete implementations 
!  * of the getX/setX methods.<br>
!  * For BMP, it will generate getX/setX methods that keep track of a dirty 
flag (so that ejbStore is only 
!  * called if necessary).<br>
!  * If the type is boolean it is ok to have the get method prefixed "is" 
instead of "get".<br>
!  * If you don't define the setter method, no setter method is generated for 
the concrete BMP/CMP class
!  * (concrete CMP class is generated only if EJB 1.1 or EJB 2.0 but using CMP 
1.x).<br>
!  * This is useful for cases where for example nothing is set programmatically 
but via external sources such 
!  * as a stored procedure.<br>
!  * Applicable for entity beans.
   *
-  * @qtags.location method
   * @qtags.location class
   * @qtags.once
--- 7,13 ----
  
  /**
!  * The &#064;ejb.persistence tag provides information about the persistence 
of a CMP Entity bean.<br>
!  * Applies to: CMP entity bean
   *
   * @qtags.location class
   * @qtags.once
***************
*** 31,87 ****
  public interface EjbPersistenceTag extends 
com.thoughtworks.qdox.model.DocletTag {
      /**
!      * Declare the column-name to which the CMP field will be mapped.
       */
!     String getColumnName();
  
      /**
!      * Declare the JDBC Type.<br>
!      * Its value must be one of the fields of java.sql.Types (e.g. BIT,
!      * CHAR...).<br>
!      * This jdbc type will be used by the CMP provider to determine which 
method to call on PreparedStatement 
!      * and ResultSet for INSERT / UPDATE / SELECT queries.<br>
       *
!      * @qtags.allowed-value ARRAY
!      * @qtags.allowed-value BIGINT
!      * @qtags.allowed-value BINARY
!      * @qtags.allowed-value BIT
!      * @qtags.allowed-value BLOB
!      * @qtags.allowed-value BOOLEAN
!      * @qtags.allowed-value CHAR
!      * @qtags.allowed-value CLOB
!      * @qtags.allowed-value DATALINK
!      * @qtags.allowed-value DATE
!      * @qtags.allowed-value DECIMAL
!      * @qtags.allowed-value DISTINCT
!      * @qtags.allowed-value DOUBLE
!      * @qtags.allowed-value FLOAT
!      * @qtags.allowed-value INTEGER
!      * @qtags.allowed-value JAVA_OBJECT
!      * @qtags.allowed-value LONGVARBINARY
!      * @qtags.allowed-value LONGVARCHAR
!      * @qtags.allowed-value NULL
!      * @qtags.allowed-value NUMERIC
!      * @qtags.allowed-value OTHER
!      * @qtags.allowed-value REAL
!      * @qtags.allowed-value REF
!      * @qtags.allowed-value SMALLINT
!      * @qtags.allowed-value STRUCT
!      * @qtags.allowed-value TIME
!      * @qtags.allowed-value TIMESTAMP
!      * @qtags.allowed-value TINYINT
!      * @qtags.allowed-value VARBINARY
!      * @qtags.allowed-value VARCHAR
!      */
!     String getJdbcType();
! 
!     /**
!      * Indicates that a field is read-only.
       */
      boolean isReadOnly();
! 
!     /**
!      * Declare the actual type of the field in the database.<br>
!      * This value will only be used when the CMP container creates your table 
(if possible).
!      */
!     String getSqlType();
! }
\ No newline at end of file
--- 15,30 ----
  public interface EjbPersistenceTag extends 
com.thoughtworks.qdox.model.DocletTag {
      /**
!      * Declare the table to which the CMP will be mapped.<br>
!      * If table-name is not specified, the name of the class will be used, 
and it will be up to the
!      * container to create the tables.
       */
!     String getTableName();
  
      /**
!      * Indicates that a field is read-only.<br>
!      * Many app servers can optimise access to such beans (e.g. better 
caching, bypassing checks for changes, etc.)
       *
!      * @qtags.default false
       */
      boolean isReadOnly();
! }

Index: EjbPermissionTag.java
===================================================================
RCS file: 
/cvsroot/xdoclet-plugins/xdoclet-plugins/plugin-ejb/src/main/java/org/xdoclet/plugin/ejb/qtags/EjbPermissionTag.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** EjbPermissionTag.java       6 Oct 2005 13:45:29 -0000       1.6
--- EjbPermissionTag.java       13 Dec 2005 03:38:27 -0000      1.7
***************
*** 1,37 ****
! /*
!  * Copyright (c) 2005
!  * XDoclet Team
!  * All rights reserved.
!  */
! package org.xdoclet.plugin.ejb.qtags;
! 
! import org.xdoclet.plugin.ejb.qtags.parameter.MethodPermissionRoles;
! import org.xdoclet.plugin.ejb.qtags.parameter.ViewType;
! 
! /**
!  * Defines the transactional behaviour for this method.<br>
!  * Applicable to methods with @ejb.create-method and @ejb.interface-method 
tags,
!  * finder methods<br>
!  * When used on class level applies to all interface methods cumulatively.
!  *
!  * @qtags.location method
!  * @qtags.location class
!  * @XXXqtags.once
!  */
! public interface EjbPermissionTag extends 
com.thoughtworks.qdox.model.DocletTag, MethodPermissionRoles, ViewType {
!     /**
!      * Session and Entity beans, EJB 2.0+<br>
!      * Indicates the method-interfaces for which this permission applies.<br>
!      * The type "ServiceEndpoint" is only applicable to EJB2.1 session 
beans.<br>
!      * This parameter is only applicable to class-level permission.<br>
!      * It must not be set if "view-type" is set.<br>
!      * Default value(s): all interfaces which are supported by the bean / 
method
!      *
!      * @qtags.allowed-value Remote
!      * @qtags.allowed-value Home
!      * @qtags.allowed-value Local
!      * @qtags.allowed-value LocalHome
!      * @qtags.allowed-value ServiceEndpoint
!      */
!     String getMethodIntf();
! }
\ No newline at end of file
--- 1,37 ----
! /*
!  * Copyright (c) 2005
!  * XDoclet Team
!  * All rights reserved.
!  */
! package org.xdoclet.plugin.ejb.qtags;
! 
! import org.xdoclet.plugin.ejb.qtags.parameter.MethodPermissionRoles;
! import org.xdoclet.plugin.ejb.qtags.parameter.ViewType;
! 
! /**
!  * Defines the transactional behaviour for this method.<br>
!  * Applicable to methods with &#064;ejb.create-method and 
&#064;ejb.interface-method tags,
!  * finder methods<br>
!  * When used on class level applies to all interface methods cumulatively.
!  *
!  * @qtags.location method
!  * @qtags.location class
!  * @XXXqtags.once
!  */
! public interface EjbPermissionTag extends 
com.thoughtworks.qdox.model.DocletTag, MethodPermissionRoles, ViewType {
!     /**
!      * Session and Entity beans, EJB 2.0+<br>
!      * Indicates the method-interfaces for which this permission applies.<br>
!      * The type "ServiceEndpoint" is only applicable to EJB2.1 session 
beans.<br>
!      * This parameter is only applicable to class-level permission.<br>
!      * It must not be set if "view-type" is set.<br>
!      * Default value(s): all interfaces which are supported by the bean / 
method
!      *
!      * @qtags.allowed-value Remote
!      * @qtags.allowed-value Home
!      * @qtags.allowed-value Local
!      * @qtags.allowed-value LocalHome
!      * @qtags.allowed-value ServiceEndpoint
!      */
!     String getMethodIntf();
! }

--- NEW FILE: EjbValueObjectFieldTag.java ---
/*
 * Copyright (c) 2003
 * XDoclet Team
 * All rights reserved.
 */
package org.xdoclet.plugin.ejb.qtags;

import org.xdoclet.plugin.ejb.qtags.parameter.ValueObjectMatch;

/**
 * For a description have a look at the class level &#064;ejb.value-object 
description.<br>
 * Applies to: Entity beans.
 *
 * @qtags.location method
 */
public interface EjbValueObjectFieldTag extends 
com.thoughtworks.qdox.model.DocletTag, ValueObjectMatch {
    /**
     * Tell XDoclet which should be the type of items contained in the multi 
valued property.<br>
     * This should be a fully qualified class name.
     */
    String getAggregate();

    /**
     * Tell XDoclet how the accessor methods to this property in the value 
object should be called.<br>
     * The value of this parameter should be the method name, sans get or set
     */
    String getAggregateName();

    /**
     * Tell XDoclet how the accessor to collections of this property in the 
value object should be called.<br>
     * The value of this parameter should be the method name, without get or 
set.<br>
     * Default is [aggregate-name]s.
     */
    String getAggregatesName();

    /**
     * Tell XDoclet which should be the type of items contained in the multi 
valued property.<br>
     * This should be a fully qualified class name.
     */
    String getCompose();

    /**
     * Tell XDoclet how the accessor methods to this property in the value 
object should be called.<br>
     * The value of this parameter should be the method name, sans get or set.
     */
    String getComposeName();

    /**
     * Tell XDoclet how the accessor to collections of this property in the 
value object should be called.<br>
     * The value of this parameter should be the method name, without get or 
set.<br>
     * Default is [aggregate-name]s.
     */
    String getComposesName();

    /**
     * The class of the local or remote interface of the associated or composed 
bean.
     */
    String getMembers();

    /**
     * The Bean Name of the associated or composed Bean.
     */
    String getMembersName();

    /**
     * This tells XDoclet that this property can be updated outside of the 
scope of this value object, so
     * the generated method should always retrieve the property value.<br>
     * For relations, this is a no brainer: always include the 
relation="external" parameter.
     */
    String getRelation();

    /**
     * This tells XDoclet which Collection implementation to use for storing 
the related objects from a
     * aggregation or composition.<br>
     * Default value(s): java.util.ArrayList for Collections and 
java.util.HashSet for Sets
     *
     * @XXXqtags.allowed-value java.util.ArrayList
     * @XXXqtags.allowed-value java.util.HashSet
     */
    String getConcreteType();
}

Index: EjbRelationTag.java
===================================================================
RCS file: 
/cvsroot/xdoclet-plugins/xdoclet-plugins/plugin-ejb/src/main/java/org/xdoclet/plugin/ejb/qtags/EjbRelationTag.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** EjbRelationTag.java 7 Sep 2005 01:13:08 -0000       1.4
--- EjbRelationTag.java 13 Dec 2005 03:38:27 -0000      1.5
***************
*** 15,19 ****
      /**
       * Indicates whether or not the app server should perform cascade 
deletes.<br>
!      * If yes, specify cascade-delete="yes".
       *
       * @qtags.default false
--- 15,19 ----
      /**
       * Indicates whether or not the app server should perform cascade 
deletes.<br>
!      * If yes, specify cascade-delete="true".
       *
       * @qtags.default false
***************
*** 65,67 ****
       */
      String getTargetRoleName();
! }
\ No newline at end of file
--- 65,67 ----
       */
      String getTargetRoleName();
! }

Index: EjbInterfaceMethodTag.java
===================================================================
RCS file: 
/cvsroot/xdoclet-plugins/xdoclet-plugins/plugin-ejb/src/main/java/org/xdoclet/plugin/ejb/qtags/EjbInterfaceMethodTag.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** EjbInterfaceMethodTag.java  7 Sep 2005 01:13:08 -0000       1.5
--- EjbInterfaceMethodTag.java  13 Dec 2005 03:38:27 -0000      1.6
***************
*** 10,15 ****
  /**
   * Declare in which interface (local/remote) this method must appear.<br>
!  * If the view-type parameter is absent then the method will be added to 
whatever component interfaces 
!  * are defined in @ejb.bean.
   *
   * @qtags.location method
--- 10,15 ----
  /**
   * Declare in which interface (local/remote) this method must appear.<br>
!  * If the view-type parameter is absent then the method will be added to 
whatever component interfaces
!  * are defined in &#064;ejb.bean.
   *
   * @qtags.location method
***************
*** 17,19 ****
   */
  public interface EjbInterfaceMethodTag extends 
com.thoughtworks.qdox.model.DocletTag, ViewType {
! }
\ No newline at end of file
--- 17,19 ----
   */
  public interface EjbInterfaceMethodTag extends 
com.thoughtworks.qdox.model.DocletTag, ViewType {
! }

Index: EjbValueObjectTag.java
===================================================================
RCS file: 
/cvsroot/xdoclet-plugins/xdoclet-plugins/plugin-ejb/src/main/java/org/xdoclet/plugin/ejb/qtags/EjbValueObjectTag.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** EjbValueObjectTag.java      7 Sep 2005 01:13:08 -0000       1.4
--- EjbValueObjectTag.java      13 Dec 2005 03:38:27 -0000      1.5
***************
*** 1,4 ****
  /*
!  * Copyright (c) 2003
   * XDoclet Team
   * All rights reserved.
--- 1,4 ----
  /*
!  * Copyright (c) 2005
   * XDoclet Team
   * All rights reserved.
***************
*** 6,68 ****
  package org.xdoclet.plugin.ejb.qtags;
  
  /**
!  * For a description have a look at the class level @ejb.value-object 
description.<br> 
!  * Applies to: Entity beans.
   */
! public interface EjbValueObjectTag extends 
com.thoughtworks.qdox.model.DocletTag {
      /**
!      * Tell XDoclet which should be the type of items contained in the multi 
valued property.<br>
!      * This should be a fully qualified class name.
       */
!     String getAggregate();
  
      /**
!      * Tell XDoclet how the accessor methods to this property in the value 
object should be called.<br>
!      * The value of this parameter should be the method name, sans get or set 
       */
!     String getAggregateName();
  
      /**
!      * Tell XDoclet which should be the type of items contained in the multi 
valued property.<br>
!      * This should be a fully qualified class name.
       */
!     String getCompose();
  
      /**
!      * Tell XDoclet how the accessor methods to this property in the value 
object should be called.<br>
!      * The value of this parameter should be the method name, sans get or set.
       */
!     String getComposeName();
  
      /**
!      * Repeat here the 'match' attribute declared in a class-level 
@ejb.value-object tag to link this 
!      * property to the declared value object.
       */
!     String getMatch();
  
      /**
!      * The class of the local or remote interface of the associated or 
composed bean.
       */
!     String getMembers();
  
      /**
!      * The Bean Name of the associated or composed Bean.
       */
!     String getMembersName();
  
      /**
!      * This tells XDoclet that this property can be updated outside of the 
scope of this value object, so 
!      * the generated method should always retrieve the property value.<br>
!      * For relations, this is a no brainer: always include the 
relation="external" parameter.
       */
!     String getRelation();
  
      /**
!      * On a multi-valued property, indicates the type of the collection 
returned by the EJB property accessor.<br>
!      * This should be set to 'Collection' or 'Set' in all multi-valued 
properties.
       *
!      * @qtags.allowed-value Collection
!      * @qtags.allowed-value Set
       */
!     String getType();
! }
\ No newline at end of file
--- 6,121 ----
  package org.xdoclet.plugin.ejb.qtags;
  
+ import org.xdoclet.plugin.ejb.qtags.parameter.ValueObjectMatch;
+ 
  /**
!  * Definition for ValueObjects that follow the TransferObject pattern from
!  * 
http://java.sun.com/blueprints/corej2eepatterns/Patterns/TransferObject.html.<br>
!  * ValueObjects can 'link' to other objects (of a relation) in two ways: 
aggregation and composition.<br>
!  * Aggregation means that the other object is loosely coupled, while in 
Composition, the other object is
!  * 'embedded'.<br>
!  * Note that aggregation and composition are mutually exclusive.<br>
!  * Applies to: Entity beans
!  *
!  * @qtags.location class
!  *
!  * @see http://xdoclet.sourceforge.net/xdoclet/valueobjects.html
!  * @see 
http://java.sun.com/blueprints/corej2eepatterns/Patterns/TransferObject.html
   */
! public interface EjbValueObjectTag extends 
com.thoughtworks.qdox.model.DocletTag, ValueObjectMatch {
      /**
!      * The name for this value object.<br>
!      * The name will be used to form the generated class name.<br>
!      * Using the default pattern "{0}ValueObject" (using {0} for the EJB 
name), for example, if name is 'User',
!      * an 'UserValue' class will be generated.<br>
!      *
!      * @qtags.required
!      *
!      * @see #getPattern()
       */
!     String getName_();
  
      /**
!      * Define the pattern (using &#123;0&#125; for the ValueObject name) for 
generated unqualified java class name.<br>
!      * The default value is "{0}ValueObject" where "ValueObject" is defined 
as the default 'filereplace' for ValueObjectPlugin
       */
!     String getPattern();
  
      /**
!      * The name of the class the generated value object class should extend, 
if any.
       */
!     String getExtends();
  
      /**
!      * A comma-separated list of interfaces the generated value object should 
implements, if any.<br>
!      * Please note that XDoclet won't generate methods to implement these 
interfaces, so use this only if the
!      * interfaces doesn't contains any methods, or if the value object 
superclass (indicated in the 'extends'
!      * parameter) already implements all interface methods.
       */
!     String[] getImplements();
  
      /**
!      * Alters the relationships between value objects.<br>
!      * Strict ordering requires that all primary key field in the object are 
java.lang.Comparable.<br>
!      * In return, the value object itself becomes java.lang.Comparable, and 
has very well defined ordering and
!      * equality semantics.<br>
!      * Strictly ordered objects are only equal if they each have all their 
primary key fields set (even to null),
!      * and each of these corresponding keys is equal.<br>
!      * None indicates that these objects can only be loosly compared.<br>
!      * Equality is not as strictly defined, and the objects are not 
java.lang.Comparable.<br>
!      * When ordering is not strict, objects are considered equal if and only 
if all of their members are
!      * themselves equal.<br>
!      * In either case the hashCode() is consistent with equals.
!      *
!      * @qtags.allowed-value strict
!      * @qtags.allowed-value none
!      *
!      * @qtags.default none
       */
!     String getOrdering();
! 
! //    /**
! //     * The strategy for the value object<br>
! //     * If true, we use the updatable strategy, otherwise, this is a 
read-only object
! //     *
! //     * @qtags.default true
! //     */
! //    boolean isUpdatable();
  
      /**
!      * Indicates the level of synchronization of the value object.<br>
!      * Full synchronization is just what it sounds like, all methods are 
synchronized.<br>
!      * Partial synchronization indicates that only collections are 
synchronized.<br>
!      * None indicates that nothing is synchronized.
!      *
!      * @qtags.allowed-value full
!      * @qtags.allowed-value partial
!      * @qtags.allowed-value none
!      *
!      * @qtags.default partial
       */
!     String getSynchronization();
  
      /**
!      * Set if this value object is intended to be an abstract object which 
other value objects extend.
!      *
!      * @qtags.default false
       */
!     boolean isAbstract();
  
      /**
!      * Set if this value object should have a single argument constructor 
that sets the PK only.<br>
!      * It's useful when using aggregation and you want to create a 
relationship between a new object and an
!      * existing object with the form of obj.addSomeObjectRelation(new 
SomeObject(pk));
!      *
!      * @qtags.default false
       */
!     boolean isGeneratePKConstructor();
  
      /**
!      * Set if objects clone method should be a field by field, or otherwise, 
a simple copy of relations,
!      * maintaining the same references
       *
!      * @qtags.default false
       */
!     boolean isFullClone();
! }

Index: EjbBeanTag.java
===================================================================
RCS file: 
/cvsroot/xdoclet-plugins/xdoclet-plugins/plugin-ejb/src/main/java/org/xdoclet/plugin/ejb/qtags/EjbBeanTag.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** EjbBeanTag.java     11 Oct 2005 09:22:26 -0000      1.9
--- EjbBeanTag.java     13 Dec 2005 03:38:27 -0000      1.10
***************
*** 107,111 ****
       * Defines the primary key field for the bean.<br>
       * Use this if you have one field or use ejb.pk-field's.<br>
!      * The primary fields for a bean are found gathering this bean's primary 
fields and super's bean primary key field's.
       */
      String getPrimkeyField();
--- 107,112 ----
       * Defines the primary key field for the bean.<br>
       * Use this if you have one field or use ejb.pk-field's.<br>
!      * The primary fields for a bean are found gathering this bean's primary 
fields and super's bean primary
!      * key field's.
       */
      String getPrimkeyField();
***************
*** 176,179 ****
--- 177,182 ----
       * Note: It's applicable to both CMP and BMP, but many containers have 
optimistic locking capabilities
       * built-in, so you don't need to worry about it locking issues.
+      *
+      * @qtags.default false
       */
      boolean isUseSoftLocking();
***************
*** 216,218 ****
       */
      String getMessagingType();
! }
\ No newline at end of file
--- 219,221 ----
       */
      String getMessagingType();
! }

--- EjbPersistentFieldTag.java DELETED ---

--- NEW FILE: EjbPersistenceFieldTag.java ---
/*
 * Copyright (c) 2003
 * XDoclet Team
 * All rights reserved.
 */
package org.xdoclet.plugin.ejb.qtags;

/**
 * The &#064;ejb.persistence-field tag provides information about the 
persistence of a CMP Entity bean's fields.<br>
 * Use this for methods with the following patterns:
 * <ul>
 * <li>public abstract Foo getX();</li>
 * <li>public abstract boolean isX();</li>
 * <li>public abstract void setX(Foo newVal);</li>
 * </ul>
 * This will create the CMP field "X" in the generated CMP layer of type "Foo", 
and concrete implementations
 * of the getX/setX methods.<br>
 * For BMP, it will generate getX/setX methods that keep track of a dirty flag 
(so that ejbStore is only
 * called if necessary).<br>
 * If the type is boolean it is ok to have the get method prefixed "is" instead 
of "get".<br>
 * If you don't define the setter method, no setter method is generated for the 
concrete BMP/CMP class
 * (concrete CMP class is generated only if EJB 1.1 or EJB 2.0 but using CMP 
1.x).<br>
 * This is useful for cases where for example nothing is set programmatically 
but via external sources such
 * as a stored procedure.<br>
 * Applicable for entity beans.
 *
 * @qtags.location method
 * @qtags.once
 */
public interface EjbPersistenceFieldTag extends 
com.thoughtworks.qdox.model.DocletTag {
    /**
     * Declare the column-name to which the CMP field will be mapped.
     */
    String getColumnName();

    /**
     * Declare the JDBC Type.<br>
     * Its value must be one of the fields of java.sql.Types (e.g. BIT, 
CHAR...).<br>
     * This jdbc type will be used by the CMP provider to determine which 
method to call on PreparedStatement
     * and ResultSet for INSERT / UPDATE / SELECT queries.<br>
     *
     * @qtags.allowed-value ARRAY
     * @qtags.allowed-value BIGINT
     * @qtags.allowed-value BINARY
     * @qtags.allowed-value BIT
     * @qtags.allowed-value BLOB
     * @qtags.allowed-value BOOLEAN
     * @qtags.allowed-value CHAR
     * @qtags.allowed-value CLOB
     * @qtags.allowed-value DATALINK
     * @qtags.allowed-value DATE
     * @qtags.allowed-value DECIMAL
     * @qtags.allowed-value DISTINCT
     * @qtags.allowed-value DOUBLE
     * @qtags.allowed-value FLOAT
     * @qtags.allowed-value INTEGER
     * @qtags.allowed-value JAVA_OBJECT
     * @qtags.allowed-value LONGVARBINARY
     * @qtags.allowed-value LONGVARCHAR
     * @qtags.allowed-value NULL
     * @qtags.allowed-value NUMERIC
     * @qtags.allowed-value OTHER
     * @qtags.allowed-value REAL
     * @qtags.allowed-value REF
     * @qtags.allowed-value SMALLINT
     * @qtags.allowed-value STRUCT
     * @qtags.allowed-value TIME
     * @qtags.allowed-value TIMESTAMP
     * @qtags.allowed-value TINYINT
     * @qtags.allowed-value VARBINARY
     * @qtags.allowed-value VARCHAR
     */
    String getJdbcType();

    /**
     * Indicates that a field is read-only.
     *
     * @qtags.default false
     */
    boolean isReadOnly();

    /**
     * Declare the actual type of the field in the database.<br>
     * This value will only be used when the CMP container creates your table 
(if possible).
     */
    String getSqlType();
}

Index: EjbSecurityRolesTag.java
===================================================================
RCS file: 
/cvsroot/xdoclet-plugins/xdoclet-plugins/plugin-ejb/src/main/java/org/xdoclet/plugin/ejb/qtags/EjbSecurityRolesTag.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** EjbSecurityRolesTag.java    7 Sep 2005 01:13:08 -0000       1.2
--- EjbSecurityRolesTag.java    13 Dec 2005 03:38:27 -0000      1.3
***************
*** 9,14 ****
  
  /**
!  * List additional security roles that are not yet listes by method level 
@ejb.permission role-names tags.<br>
!  * This is useful in conjunction with the @ejb.security-role-ref tag.
   *
   * @qtags.location class
--- 9,14 ----
  
  /**
!  * List additional security roles that are not yet listes by method level 
&#064;ejb.permission role-names tags.<br>
!  * This is useful in conjunction with the &#064;ejb.security-role-ref tag.
   *
   * @qtags.location class
***************
*** 16,18 ****
   */
  public interface EjbSecurityRolesTag extends 
com.thoughtworks.qdox.model.DocletTag, RoleList {
! }
\ No newline at end of file
--- 16,18 ----
   */
  public interface EjbSecurityRolesTag extends 
com.thoughtworks.qdox.model.DocletTag, RoleList {
! }

Index: EjbTransactionTag.java
===================================================================
RCS file: 
/cvsroot/xdoclet-plugins/xdoclet-plugins/plugin-ejb/src/main/java/org/xdoclet/plugin/ejb/qtags/EjbTransactionTag.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** EjbTransactionTag.java      7 Sep 2005 01:13:08 -0000       1.5
--- EjbTransactionTag.java      13 Dec 2005 03:38:27 -0000      1.6
***************
*** 8,12 ****
  /**
   * Defines the transactional behaviour for this method.<br>
!  * Applicable to methods with @ejb.create-method and @ejb.interface-method 
tags.<br>
   * If used on class level applies to all interface methods unless overridden
   *
--- 8,12 ----
  /**
   * Defines the transactional behaviour for this method.<br>
!  * Applicable to methods with &#064;ejb.create-method and 
&#064;ejb.interface-method tags.<br>
   * If used on class level applies to all interface methods unless overridden
   *
***************
*** 29,31 ****
       */
      String getType();
! }
\ No newline at end of file
--- 29,31 ----
       */
      String getType();
! }



-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
xdoclet-plugins-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xdoclet-plugins-commits

Reply via email to