>> > Daniel, what dou you think about put constraints rules on some type of >> > propertie file? These constraints must have some type of identification (in >> > one ore more contexts). This is flexible and make the code more clean (and, >> > like ejb, can be changed without the need to recompile the code). >> I guess it would have been an alternative to use meta information tags >> using @ in Javadocs as well. However, I understand that Daniel did all >> this as a philosophical decision. > more one javadoc tag? I dono, are you suggesting to use the own source > code as a propertie file or generate another source like xdoclet does?
>> Specifying everything in Java does >> not require to learn any new language and makes debugging very easy. > I dont't agree with debugging facilitie you told. Debug more code is more > hard than debug less code. Don't have to learn another language to use > the library is a facilitie, I agree, but I´m not talking about another language, > I´m talking about another way, more easy and flexible, to do the same > thing. By example: <?xml version="1.0"?> <contract> <extend>../another/contract.xml</extend> <name>Contract Sample</name> <id>sampleContract</id> <currentVersion>0.1</currentVersion> <constexts> <context> <name>SpeedCalculator</name> <id>SpeedCalculator</id> </context> </contexts> <constraints> <constraint> <name>distance</caption> <id>distance</id> <type>java.lang.Number</type> <nullable>false</nullable> <default>0</default> <minvalue>0<minvalue> <maxvalue>999999<maxvalue> <inclusive>true</inclusive> </constraint> <constraint> <name>unit</caption> <id>unit</id> <type>java.lang.String</type> <nullable>false</nullable> <domain> <value id="h" caption="h" comment="hours"/> <value id="m" caption="min" comment="minutes"/> <value id="d" caption="s" comment="seconds"/> </domain> <default>h</default> </constraint> <constraint> <name>time</caption> <id>time</id> <type>java.lang.Long</type> <nullable>false</nullable> </constraint> </constraints> <parameters> <parameter> <caption>distance</caption> <id>distance</id> <type>java.lang.Number</type> <contraint>distance</constraint> </parameter> <parameter> <caption>unit</caption> <id>unit</id> <type>java.lang.String</type> <contraint>unit</constraint> </parameter> <parameter> <caption>time</caption> <id>time</id> <type>java.lang.Long</type> <contraint>time</constraint> </parameter> </parameters> <results> </results> </contract> with this contract defined I think in this code: public Number speedCalculator( final Number distance, final String unit, final Long time ) throws ContractException { final String context = "speedCalculator"; final Contract parameters = Contract.getInstance().getContext( context ).getParameters(); final Contract result = Contract.getInstance().getContext( context ).getResult(); float distance = ((Number) parameters.set(distance)); String timeUnit = ((String) parameters.set(unit); float time = ((Number) parameters.set(time)); parameters.verifyContract(); float speed; if (timeUnit.equals("s")) speed = distance / time; else if (timeUnit.equals("min")) speed = distance * 60 / time; else speed = distance * 3600 / time; // I dono if I really need to check result speed = ((float) result.set( speed )); result.verifyContract(); return speed; } > >> > Do you know OCL? >> >> I think it would be suitable for describing those contract >> information, but wouldn't this require some sort of OCL parser and >> then engine? Wouldn't this be out of scope for a simple tool like >> this? > > I agree, make a OCL parser is out of THIS scope. In fact we don't need all ideas in > OCL but I think is a good start point to study right? Is there any OCL parser > implementation? No? Cool!!! Woody --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]