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