001    /*
002     * Created on Mar 18, 2005
003     *
004     * Copyright 2004 Chris Nelson
005     * 
006     * Licensed under the Apache License, Version 2.0 (the "License"); 
007     * you may not use this file except in compliance with the License. 
008     * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 
009     * Unless required by applicable law or agreed to in writing, 
010     * software distributed under the License is distributed on an "AS IS" BASIS, 
011     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
012     * See the License for the specific language governing permissions and limitations under the License.
013     */
014    package org.tynamo.descriptor;
015    
016    import java.util.List;
017    
018    public interface TynamoClassDescriptor extends Descriptor
019    {
020            /**
021             * Returns the type of bean to which this property belongs.
022             */
023            Class getBeanType();
024    
025            /**
026             * @return Returns the methodDescriptors.
027             */
028            public List<IMethodDescriptor> getMethodDescriptors();
029    
030            /**
031             * @param methodDescriptors The methodDescriptors to set.
032             */
033            public void setMethodDescriptors(List<IMethodDescriptor> methodDescriptors);
034    
035            /**
036             * @return Returns the propertyDescriptors.
037             */
038            public List<TynamoPropertyDescriptor> getPropertyDescriptors();
039    
040            /**
041             * @param propertyDescriptors The propertyDescriptors to set.
042             */
043            public void setPropertyDescriptors(List<TynamoPropertyDescriptor> propertyDescriptors);
044    
045            public TynamoPropertyDescriptor getIdentifierDescriptor();
046    
047            /**
048             * @param string
049             * @return
050             */
051            public TynamoPropertyDescriptor getPropertyDescriptor(String name);
052    
053            /**
054             * @return
055             */
056            public boolean isChild();
057    
058            /**
059             * @param
060             */
061            public void setChild(boolean child);
062    
063            public List<TynamoPropertyDescriptor> getPropertyDescriptors(List<String> propertyNames);
064    
065            public boolean isAllowSave();
066    
067            public void setAllowSave(boolean allowSave);
068    
069            public boolean isAllowRemove();
070    
071            public void setAllowRemove(boolean allowRemove);
072    
073            public boolean getHasCyclicRelationships();
074    
075            public void setHasCyclicRelationships(boolean hasBidirectionalRelationship);
076    
077    }