I want to change it to public to use it in e.g. the AnnotationProcessor as parameter type - such stuff should be possible
to implement Natures I understand that the BaseNature must be used Joachim 2008/8/5 Werner Guttmann <[EMAIL PROTECTED]>: > > > Joachim Grüneis wrote: >> Thx for the explanation - that's exactly what I meant asking why it is >> protected? >> >> I would like to have the interface public - because a marker is rather >> useless if It cannot be referenced. I wanted to use it in an interface >> as argument but I had to use the class instead - which I think is not >> ok when I just want to specify the expected interface. >> >> I think it is ok to offer a class to extend for easy living... but >> 'hiding' the interface and forcing to extend a class is not ok. >> >> Is it ok if I change it to public? > Not 100% sure. As mentioned by Lukas briefly, there's a few things we > want to happen when somebody implements a nature. And that has been > achieved by making BaseNature availabe, which forces you to do a few > things (e.g. define a constructur that takes a PropertyHolder). > > If there's a feature to be added (that we have missed in the original > implementation), we could (and should?) alternatively add it to the > BaseNature class. > > Werner >> >> 2008/8/5 Lukas Lang <[EMAIL PROTECTED]>: >>> Hello folks, >>> >>> according to Sun's guide to classes and objects [1], >>> classes or interfaces, having no keyword as "public", >>> "private" or "protected" prefixed offer default visibility. >>> >>> As the guide propagates, an interface providing default visibility >>> is not visible from other packages, which would represent a problem for one, >>> who wants to derive from the Nature interface in various other packages. >>> >>> The main intention to do so, was that we offered a base class (BaseNature) >>> to do easy property handling (prefixing) and a "health check" in the >>> constructor, >>> which is visible to all packages. >>> >>> You can see the Nature interface itself as a kind of marker >>> to have a common superclass. >>> >>> I think, I got some documentation (UML) on the Nature architecture. >>> So if you want, I can provide this to you. >>> >>> Regards, >>> Lukas >>> >>> [1] http://java.sun.com/docs/books/tutorial/java/javaOO/accesscontrol.html >>> >>> Werner Guttmann schrieb: >>>> Joachim, >>>> >>>> sorry, but the keyword 'protected' is not used in the interface >>>> declaration anywhere. As such, it definitely is not protected. >>>> >>>> Let me ask you something else: what problem are you having (if at all) >>>> with the way the interface is declared ? >>>> >>>> Regards >>>> Werner >>>> >>>> Joachim Grüneis wrote: >>>>> When an interface is declared as: >>>>> >>>>> /* >>>>> * Copyright 2008 Lukas Lang >>>>> * >>>>> * Licensed 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.castor.core.nature; >>>>> >>>>> /** >>>>> * A Nature defines a perception of any arbitrary Class. >>>>> * >>>>> * @author Lukas Lang >>>>> * @since 1.2.1 >>>>> * >>>>> */ >>>>> interface Nature { >>>>> /** >>>>> * Returns the fully qualified name of the Nature. >>>>> * @return qualified name of the nature. >>>>> */ >>>>> String getId(); >>>>> } >>>>> >>>>> it is protected. >>>>> >>>>> 2008/7/31 Werner Guttmann <[EMAIL PROTECTED]>: >>>>>> Joachim, >>>>>> >>>>>> in what sense 'protected' ? >>>>>> >>>>>> Werner >>>>>> >>>>>> Joachim Grüneis wrote: >>>>>>> Why is interface org.castor.core.nature.Nature protected? >>>>>>> >>>>>>> Regards >>>>>>> Joachim >>>>>>> >>>>>>> --------------------------------------------------------------------- >>>>>>> To unsubscribe from this list, please visit: >>>>>>> >>>>>>> http://xircles.codehaus.org/manage_email >>>>>>> >>>>>>> >>>>>> --------------------------------------------------------------------- >>>>>> To unsubscribe from this list, please visit: >>>>>> >>>>>> http://xircles.codehaus.org/manage_email >>>>>> >>>>>> >>>>>> >>>>> --------------------------------------------------------------------- >>>>> To unsubscribe from this list, please visit: >>>>> >>>>> http://xircles.codehaus.org/manage_email >>>>> >>>>> >>>> --------------------------------------------------------------------- >>>> To unsubscribe from this list, please visit: >>>> >>>> http://xircles.codehaus.org/manage_email >>>> >>>> >>>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe from this list, please visit: >>> >>> http://xircles.codehaus.org/manage_email >>> >>> >>> >> >> --------------------------------------------------------------------- >> To unsubscribe from this list, please visit: >> >> http://xircles.codehaus.org/manage_email >> >> > > --------------------------------------------------------------------- > To unsubscribe from this list, please visit: > > http://xircles.codehaus.org/manage_email > > > --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email

