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            public Class getType();
021    
022            /**
023             * @return Returns the methodDescriptors.
024             */
025            public List<IMethodDescriptor> getMethodDescriptors();
026    
027            /**
028             * @param methodDescriptors The methodDescriptors to set.
029             */
030            public void setMethodDescriptors(List<IMethodDescriptor> methodDescriptors);
031    
032            /**
033             * @return Returns the propertyDescriptors.
034             */
035            public List<TynamoPropertyDescriptor> getPropertyDescriptors();
036    
037            /**
038             * @param propertyDescriptors The propertyDescriptors to set.
039             */
040            public void setPropertyDescriptors(List<TynamoPropertyDescriptor> propertyDescriptors);
041    
042            public TynamoPropertyDescriptor getIdentifierDescriptor();
043    
044            /**
045             * @param string
046             * @return
047             */
048            public TynamoPropertyDescriptor getPropertyDescriptor(String name);
049    
050            /**
051             * @return
052             */
053            public boolean isChild();
054    
055            /**
056             * @param
057             */
058            public void setChild(boolean child);
059    
060            public List<TynamoPropertyDescriptor> getPropertyDescriptors(List<String> propertyNames);
061    
062            public boolean isAllowSave();
063    
064            public void setAllowSave(boolean allowSave);
065    
066            public boolean isAllowRemove();
067    
068            public void setAllowRemove(boolean allowRemove);
069    
070            public boolean getHasCyclicRelationships();
071    
072            public void setHasCyclicRelationships(boolean hasBidirectionalRelationship);
073    
074    }