[jira] Commented: (IBATIS-414) Allow extending the Example classes or allow hand written criteria

2007-06-05 Thread James Burton (JIRA)

[ 
https://issues.apache.org/jira/browse/IBATIS-414?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12501489
 ] 

James Burton commented on IBATIS-414:
-

Thanks for the reply. As long as I will be able to extend the Example classes 
to add a method something like this...

public Criteria andCodeLikeCaseInsensitive(String value) {
addCriterion(upper(value) like, value, upper(value)); 
return this;
}

...then that will work for me (I think...!).

 Allow extending the Example classes or allow hand written criteria
 --

 Key: IBATIS-414
 URL: https://issues.apache.org/jira/browse/IBATIS-414
 Project: iBatis for Java
  Issue Type: Improvement
  Components: Tools
Affects Versions: 2.3.0
 Environment: Java 1.5, Maven 2, ANT 1.6.5, Ibatis 2.3.0, abator 1.0.0
Reporter: James Burton

 I currently have database searches implemented very nicely with abator 
 generated code. I use the Example classes with the 'and..Like' criteria to do 
 this. It works great.
 However, I now have a requirement to make these searches case-insensitive. 
 After a bit of thinking I decided to try and extend the generated Example 
 classes and override the 'and..Like' methods to add in the required upper() 
 functions that Sybase requires to get true case insensitivity. I need to get 
 a criteria added something like this...
 addCriterion(upper(code) like, value, upper(code));
 The problem is, I cannot extend the Example classes because there is no 
 public constructor on the 'Criteria' inner class. Nor does the Example class 
 allow a 'hand written' criteria to be added. This too, would be very useful.
 Do you think you could add a public constructor or make the existing one 
 public? Either that or add methods to allow adding a hand-written criteria? 
 ..or is there a better way to do this that I have completely missed?
 If not, 
 Thanks,
 James

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (IBATIS-414) Allow extending the Example classes or allow hand written criteria

2007-06-05 Thread Jeff Butler (JIRA)

[ 
https://issues.apache.org/jira/browse/IBATIS-414?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12501694
 ] 

Jeff Butler commented on IBATIS-414:


The more I think about it, the more I dislike the configuration option.  How 
about if I just make the relevent methods and fields protected instead of 
private?  You'll have to write a class like this:

ExtendedExample extends SomeTableExample {
  public ExtendedCriteria createExtendedCriteria() {
ExtendedCriteria criteria = new ExtendedCriteria();
if (oredCriteria.size() == 0) {
  oredCriteria.add(criteria);
}
return criteria;
  }

  public static class ExtendedCriteria extends SomeTableExample.Criteria {
public ExtendedCriteria andCodeLikeCaseInsensitive(String value) {
  addCriterion(upper(code) like, value.toUpperCase(), code);
  return this;
}
  }
}

This will be a quick change for me and will also make it possible to extend 
these classes.


 Allow extending the Example classes or allow hand written criteria
 --

 Key: IBATIS-414
 URL: https://issues.apache.org/jira/browse/IBATIS-414
 Project: iBatis for Java
  Issue Type: Improvement
  Components: Tools
Affects Versions: 2.3.0
 Environment: Java 1.5, Maven 2, ANT 1.6.5, Ibatis 2.3.0, abator 1.0.0
Reporter: James Burton

 I currently have database searches implemented very nicely with abator 
 generated code. I use the Example classes with the 'and..Like' criteria to do 
 this. It works great.
 However, I now have a requirement to make these searches case-insensitive. 
 After a bit of thinking I decided to try and extend the generated Example 
 classes and override the 'and..Like' methods to add in the required upper() 
 functions that Sybase requires to get true case insensitivity. I need to get 
 a criteria added something like this...
 addCriterion(upper(code) like, value, upper(code));
 The problem is, I cannot extend the Example classes because there is no 
 public constructor on the 'Criteria' inner class. Nor does the Example class 
 allow a 'hand written' criteria to be added. This too, would be very useful.
 Do you think you could add a public constructor or make the existing one 
 public? Either that or add methods to allow adding a hand-written criteria? 
 ..or is there a better way to do this that I have completely missed?
 If not, 
 Thanks,
 James

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (IBATIS-414) Allow extending the Example classes or allow hand written criteria

2007-06-04 Thread Jeff Butler (JIRA)

[ 
https://issues.apache.org/jira/browse/IBATIS-414?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12501394
 ] 

Jeff Butler commented on IBATIS-414:


I understand the issue and you are correct - there's no way to do this right 
now in the code generated from Abator.

I made everything private because it is somewhat fragile code and I didn't want 
people getting into trouble by calling methods when they don't fully understand 
the consequences.

I'd be open to adding a configuration property that specifies that these 
methods should be made public - something like allowCriteriaClassAccess which 
would default to false.  Would that work for you?


 Allow extending the Example classes or allow hand written criteria
 --

 Key: IBATIS-414
 URL: https://issues.apache.org/jira/browse/IBATIS-414
 Project: iBatis for Java
  Issue Type: Improvement
  Components: Tools
Affects Versions: 2.3.0
 Environment: Java 1.5, Maven 2, ANT 1.6.5, Ibatis 2.3.0, abator 1.0.0
Reporter: James Burton

 I currently have database searches implemented very nicely with abator 
 generated code. I use the Example classes with the 'and..Like' criteria to do 
 this. It works great.
 However, I now have a requirement to make these searches case-insensitive. 
 After a bit of thinking I decided to try and extend the generated Example 
 classes and override the 'and..Like' methods to add in the required upper() 
 functions that Sybase requires to get true case insensitivity. I need to get 
 a criteria added something like this...
 addCriterion(upper(code) like, value, upper(code));
 The problem is, I cannot extend the Example classes because there is no 
 public constructor on the 'Criteria' inner class. Nor does the Example class 
 allow a 'hand written' criteria to be added. This too, would be very useful.
 Do you think you could add a public constructor or make the existing one 
 public? Either that or add methods to allow adding a hand-written criteria? 
 ..or is there a better way to do this that I have completely missed?
 If not, 
 Thanks,
 James

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.