ibatis-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Clinton Begin (JIRA)" <ibatis-...@incubator.apache.org>
Subject [jira] Commented: (IBATIS-205) Change access modifiers from private to protected in many classes to allow developers to create extensions and subclasses to the iBatis classes
Date Fri, 02 Jun 2006 03:38:31 GMT
    [ http://issues.apache.org/jira/browse/IBATIS-205?page=comments#action_12414346 ] 

Clinton Begin commented on IBATIS-205:
--------------------------------------

Even though Jeff was kind enough to do this, be warned:

WE WILL NOT SUPPORT ANY BREAKAGES IN FUTURE VERSIONS RESULTING FROM EXTENSION OF CLASSES OUTSIDE
OF THE "CLIENT" PACKAGE.

:-)  I hope that's clear.  :-)

Cheers,
Clinton

> Change access modifiers from private to protected in many classes to allow developers
to create extensions and subclasses to the iBatis classes
> -----------------------------------------------------------------------------------------------------------------------------------------------
>
>          Key: IBATIS-205
>          URL: http://issues.apache.org/jira/browse/IBATIS-205
>      Project: iBatis for Java
>         Type: Improvement

>   Components: SQL Maps
>     Versions: 2.1.5
>     Reporter: Jeff Roberts
>     Assignee: Jeff Butler
>     Priority: Minor
>      Fix For: 2.2.0
>  Attachments: SqlMapClientBuilder.java, SqlMapClientImpl.java, SqlMapConfigParser.java,
SqlMapExecutorDelegate.java, SqlMapParser.java
>
> I have recently added and extension to the iBatis
> framework.  In order for my extension to work
> effectively, I had to subclass several of the iBatis
> classes.  In doing so, I found that some of the
> methods and variables in the iBatis classes were
> declared as private, preventing me access to them from
> my subclasses.
> I changed the following access modifiers in the
> following iBatis classes:
> - com.ibatis.sqlmap.client.SqlMapClient
> I changed the default constructor from private to
> protected.  This still prevents public instantiation
> of the class, but allows me to instantiate my
> subclass.
> -
> com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser
> I changed the static variable "parser" from private to
> protected.  This allows me to access the parser from
> my subclass.
> I also changed the addSqlMapNodelets() method from
> private to protected, allowing me to override it in my
> subclass and extend its behavior.
> - com.ibatis.sqlmap.engine.builder.xml.SqlMapParser
> I changed the static variable "parser" from private to
> protected.  This allows me to access the parser from
> my subclass.
> I also changed the addStatementNodelets() method from
> private to protected, allowing me to override it in my
> subclass and extend its behavior.
> - com.ibatis.sqlmap.engine.impl.SqlMapClientImpl
> I changed the variable "localSqlMapSession" from
> private to protected, allowing my subclass to access
> it.
> I also changed the getLocalSqlMapSession() from
> private to protected, allowing me to override it in my
> subclass and extend its behavior.
> - com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate
> I changed the variable "sqlExecutor" from private to
> protected, allowing my subclass to access it.
> I also changed the autoEndTransaction(),
> autoCommitTransaction() and autoStartTransaction()
> methods from private to protected, allowing my
> subclass to invoke them.
> I would like to request that the iBatis development
> team make these same changes to the iBatis source
> code.  In my view, it doesn't change any behavior or
> introduce any changes to the source code other than to
> make key pieces of the code accessible to subclasses. 
> By making these changes, I can implement an extension
> to iBatis by subclassing the classes I've mentioned
> above and providing an additional feature.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


Mime
View raw message