/*******************************************************************************
* Copyright 2010 Simon Mieth
*
* 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.kabeja.common;
import org.kabeja.entities.Arc;
import org.kabeja.entities.Attrib;
import org.kabeja.entities.AttribDefinition;
import org.kabeja.entities.Body;
import org.kabeja.entities.Circle;
import org.kabeja.entities.Dimension;
import org.kabeja.entities.Ellipse;
import org.kabeja.entities.Entity;
import org.kabeja.entities.Face3D;
import org.kabeja.entities.Hatch;
import org.kabeja.entities.Image;
import org.kabeja.entities.Insert;
import org.kabeja.entities.LWPolyline;
import org.kabeja.entities.Leader;
import org.kabeja.entities.Line;
import org.kabeja.entities.MLine;
import org.kabeja.entities.MText;
import org.kabeja.entities.Point;
import org.kabeja.entities.Polyline;
import org.kabeja.entities.Ray;
import org.kabeja.entities.Region;
import org.kabeja.entities.Shape;
import org.kabeja.entities.Solid;
import org.kabeja.entities.Solid3D;
import org.kabeja.entities.Spline;
import org.kabeja.entities.Text;
import org.kabeja.entities.Tolerance;
import org.kabeja.entities.Trace;
import org.kabeja.entities.Vertex;
import org.kabeja.entities.Viewport;
import org.kabeja.entities.XLine;
public class Type<T extends DraftEntity> {
public static final Type<Face3D> TYPE_3DFACE = new Type<Face3D>("3DFace");
public static final Type<Solid3D> TYPE_3DSOLID = new Type<Solid3D>("3DSolid");
public static final Type<Arc> TYPE_ARC = new Type<Arc>("Arc");
public static final Type<AttribDefinition> TYPE_ATTDEF = new Type<AttribDefinition>("Attdef");
public static final Type<Attrib> TYPE_ATTRIB= new Type<Attrib>("Attrib");
public static final Type<Body> TYPE_BODY = new Type<Body>("Body");
public static final Type<Circle> TYPE_CIRCLE = new Type<Circle>("Circle");
public static final Type<Dimension> TYPE_DIMENSTION = new Type<Dimension>("Dimension");
public static final Type<Entity> TYPE_ENTITY=new Type<Entity>("Entity");
public static final Type<Ellipse> TYPE_ELLIPSE= new Type<Ellipse>("Ellipse");
public static final Type<Hatch> TYPE_HATCH= new Type<Hatch>("Hatch");
public static final Type<Image> TYPE_IMAGE= new Type<Image>("Image");
public static final Type<Insert> TYPE_INSERT= new Type<Insert>("Insert");
public static final Type<Leader> TYPE_LEADER= new Type<Leader>("Leader");
public static final Type<Line> TYPE_LINE = new Type<Line>("Line");
public static final Type<LWPolyline> TYPE_LWPOLYLINE= new Type<LWPolyline>("LWPolyline");
public static final Type<MLine> TYPE_MLINE= new Type<MLine>("MLine");
public static final Type<MText> TYPE_MTEXT= new Type<MText>("MText");
public static final Type<Point> TYPE_POINT= new Type<Point>("Point");
public static final Type<Polyline> TYPE_POLYLINE= new Type<Polyline>("Polyline");
public static final Type<Ray> TYPE_RAY= new Type<Ray>("Ray");
public static final Type<Region> TYPE_REGION= new Type<Region>("Region");
public static final Type<Shape> TYPE_SHAPE= new Type<Shape>("Shape");
public static final Type<Solid> TYPE_SOLID= new Type<Solid>("Solid");
public static final Type<Spline> TYPE_SPLINE= new Type<Spline>("Spline");
public static final Type<Text> TYPE_TEXT = new Type<Text>("Text");
public static final Type<Tolerance> TYPE_TOLERANCE= new Type<Tolerance>("Tolerance");
public static final Type<Trace> TYPE_TRACE= new Type<Trace>("Trace");
public static final Type<Vertex> TYPE_VERTEX= new Type<Vertex>("Vertex");
public static final Type<Viewport> TYPE_VIEWPORT= new Type<Viewport>("Viewport");
public static final Type<XLine> TYPE_XLINE= new Type<XLine>("XLine");
private String handle;
private String typeName;
public Type(String typeName){
this.typeName = typeName;
this.handle=typeName.toUpperCase();
}
public Type(String typeName,String handle){
this.typeName=typeName;
this.handle=handle;
}
public String getHandle(){
return handle;
}
public String getName(){
return this.typeName;
}
}