001    // BSD License (http://www.galagosearch.org/license)
002    
003    package org.galagosearch.tupleflow.typebuilder;
004    
005    import java.util.ArrayList;
006    
007    /**
008     *
009     * @author trevor
010     */
011    public class TypeSpecification {
012        public TypeSpecification() {
013            this.packageName = "";
014            this.typeName = "";
015            this.fields = new ArrayList<FieldSpecification>();
016            this.orders = new ArrayList<OrderSpecification>();
017        }
018    
019        public void addFieldSpecification(FieldSpecification.DataType type, String name) {
020            FieldSpecification field = new FieldSpecification(type, name);
021            fields.add(field);
022        }
023        
024        public void addOrderSpecification(OrderSpecification order) {
025            orders.add(order);
026        }
027        
028        public void setPackageName(String packageName) {
029            this.packageName = packageName;
030        }
031        
032        public String getPackageName() {
033            return this.packageName;
034        }
035        
036        public void setFields(ArrayList<FieldSpecification> fields) {
037            this.fields = fields;
038        }
039    
040        public void setOrders(ArrayList<OrderSpecification> orders) {
041            this.orders = orders;
042        }
043    
044        public ArrayList<FieldSpecification> getFields() {
045            return fields;
046        }
047    
048        public ArrayList<OrderSpecification> getOrders() {
049            return orders;
050        }
051    
052        public String getTypeName() {
053            return typeName;
054        }
055    
056        public void setTypeName(String typeName) {
057            this.typeName = typeName;
058        }
059        
060        String packageName;
061        String typeName;
062        ArrayList<FieldSpecification> fields;
063        ArrayList<OrderSpecification> orders;            
064    }