package org.geotools.data.dxf.parser; /** * An enumeration that represents all valid DXF Group Codes with * associated value types as listed in specs. * */ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; public enum DXFGroupCode { UNSUPPORTED(-1, DXFValueType.STRING), TYPE(0, DXFValueType.STRING), TEXT(1, DXFValueType.STRING), NAME(2, DXFValueType.STRING), TEXT_OR_NAME_2(3, DXFValueType.STRING), TEXT_OR_NAME_3(4, DXFValueType.STRING), HANDLE(5, DXFValueType.STRING), LINETYPE_NAME(6, DXFValueType.STRING), TEXT_STYLE_NAME(7, DXFValueType.STRING), LAYER_NAME(8, DXFValueType.STRING), VARIABLE_NAME(9, DXFValueType.STRING), X_1(10, DXFValueType.DOUBLE), X_2(11, DXFValueType.DOUBLE), X_3(12, DXFValueType.DOUBLE), X_4(13, DXFValueType.DOUBLE), X_5(14, DXFValueType.DOUBLE), X_6(15, DXFValueType.DOUBLE), X_7(16, DXFValueType.DOUBLE), X_8(17, DXFValueType.DOUBLE), X_9(18, DXFValueType.DOUBLE), Y_1(20, DXFValueType.DOUBLE), Y_2(21, DXFValueType.DOUBLE), Y_3(22, DXFValueType.DOUBLE), Y_4(23, DXFValueType.DOUBLE), Y_5(24, DXFValueType.DOUBLE), Y_6(25, DXFValueType.DOUBLE), Y_7(26, DXFValueType.DOUBLE), Y_8(27, DXFValueType.DOUBLE), Y_9(28, DXFValueType.DOUBLE), Z_1(30, DXFValueType.DOUBLE), Z_2(31, DXFValueType.DOUBLE), Z_3(32, DXFValueType.DOUBLE), Z_4(33, DXFValueType.DOUBLE), Z_5(34, DXFValueType.DOUBLE), Z_6(35, DXFValueType.DOUBLE), Z_7(36, DXFValueType.DOUBLE), Z_8(37, DXFValueType.DOUBLE), ELEVATION(38, DXFValueType.DOUBLE), THICKNESS(39, DXFValueType.DOUBLE), DOUBLE_1(40, DXFValueType.DOUBLE), DOUBLE_2(41, DXFValueType.DOUBLE), DOUBLE_3(42, DXFValueType.DOUBLE), DOUBLE_4(43, DXFValueType.DOUBLE), DOUBLE_5(44, DXFValueType.DOUBLE), DOUBLE_6(45, DXFValueType.DOUBLE), DOUBLE_7(46, DXFValueType.DOUBLE), DOUBLE_8(47, DXFValueType.DOUBLE), LINETYPE_SCALE(48, DXFValueType.DOUBLE), REPEATED_DOUBLE_VALUE(49, DXFValueType.DOUBLE), ANGLE_1(50, DXFValueType.DOUBLE), ANGLE_2(51, DXFValueType.DOUBLE), ANGLE_3(52, DXFValueType.DOUBLE), ANGLE_4(53, DXFValueType.DOUBLE), ANGLE_5(54, DXFValueType.DOUBLE), ANGLE_6(55, DXFValueType.DOUBLE), ANGLE_7(56, DXFValueType.DOUBLE), ANGLE_8(57, DXFValueType.DOUBLE), ANGLE_9(58, DXFValueType.DOUBLE), VISIBILITY(60, DXFValueType.SHORT), MAJOR_GRID_LINES(61, DXFValueType.SHORT), COLOR(62, DXFValueType.SHORT), BGCOLOR(63, DXFValueType.SHORT), CELLFILLCOLOR(64, DXFValueType.SHORT), UCSVP(65, DXFValueType.SHORT), ENTITIES_FOLLOW_FLAG(66, DXFValueType.SHORT), MODEL_OR_PAPER_SPACE(67, DXFValueType.SHORT), VIEWPORT_DATA_1(68, DXFValueType.SHORT), VIEWPORT_DATA_2(69, DXFValueType.SHORT), INT_1(70, DXFValueType.SHORT), INT_2(71, DXFValueType.SHORT), INT_3(72, DXFValueType.SHORT), INT_4(73, DXFValueType.SHORT), INT_5(74, DXFValueType.SHORT), INT_6(75, DXFValueType.SHORT), INT_7(76, DXFValueType.SHORT), INT_8(77, DXFValueType.SHORT), INT_9(78, DXFValueType.SHORT), INT_10(79, DXFValueType.SHORT), INT32_1(90, DXFValueType.INTEGER), INT32_2(91, DXFValueType.INTEGER), INT32_3(92, DXFValueType.INTEGER), INT32_4(93, DXFValueType.INTEGER), INT32_5(94, DXFValueType.INTEGER), INT32_6(95, DXFValueType.INTEGER), INT32_7(96, DXFValueType.INTEGER), INT32_8(97, DXFValueType.INTEGER), INT32_9(98, DXFValueType.INTEGER), INT32_10(99, DXFValueType.INTEGER), SUBCLASS_DATA_MARKER(100, DXFValueType.STRING), GROUP_CONTROL_STRING(102, DXFValueType.STRING), DIMVAR_OBJECT_HANDLE(105, DXFValueType.STRING), UCS_ORIGIN_X(110, DXFValueType.DOUBLE), UCS_X_AXIS_X(111, DXFValueType.DOUBLE), UCS_Y_AXIS_X(112, DXFValueType.DOUBLE), UCS_ORIGIN_Y(120, DXFValueType.DOUBLE), UCS_X_AXIS_Y(121, DXFValueType.DOUBLE), UCS_Y_AXIS_Y(122, DXFValueType.DOUBLE), UCS_ORIGIN_Z(130, DXFValueType.DOUBLE), UCS_X_AXIS_Z(131, DXFValueType.DOUBLE), UCS_Y_AXIS_Z(132, DXFValueType.DOUBLE), DOUBLE_10(140, DXFValueType.DOUBLE), DOUBLE_11(141, DXFValueType.DOUBLE), DOUBLE_12(142, DXFValueType.DOUBLE), DOUBLE_13(143, DXFValueType.DOUBLE), DOUBLE_14(144, DXFValueType.DOUBLE), DOUBLE_15(145, DXFValueType.DOUBLE), DOUBLE_16(146, DXFValueType.DOUBLE), DOUBLE_17(147, DXFValueType.DOUBLE), DOUBLE_18(148, DXFValueType.DOUBLE), DOUBLE_19(149, DXFValueType.DOUBLE), INT16_1(170, DXFValueType.SHORT), INT16_2(171, DXFValueType.SHORT), INT16_3(172, DXFValueType.SHORT), INT16_4(173, DXFValueType.SHORT), INT16_5(174, DXFValueType.SHORT), INT16_6(175, DXFValueType.SHORT), INT16_7(176, DXFValueType.SHORT), INT16_8(177, DXFValueType.SHORT), INT16_9(178, DXFValueType.SHORT), INT16_10(179, DXFValueType.SHORT), EXTRUSION_X(210, DXFValueType.DOUBLE), LEADER_HORIZONTAL_X(211, DXFValueType.DOUBLE), LEADER_OFFSET_INSERTION_POINT_X(212, DXFValueType.DOUBLE), LEADER_OFFSET_ANNOTATION_POINT_X(213, DXFValueType.DOUBLE), EXTRUSION_Y(220, DXFValueType.DOUBLE), LEADER_HORIZONTAL_Y(221, DXFValueType.DOUBLE), LEADER_OFFSET_INSERTION_POINT_Y(222, DXFValueType.DOUBLE), LEADER_OFFSET_ANNOTATION_POINT_Y(223, DXFValueType.DOUBLE), EXTRUSION_Z(230, DXFValueType.DOUBLE), LEADER_HORIZONTAL_Z(231, DXFValueType.DOUBLE), LEADER_OFFSET_INSERTION_POINT_Z(232, DXFValueType.DOUBLE), LEADER_OFFSET_ANNOTATION_POINT_Z(233, DXFValueType.DOUBLE), INT16_11(270, DXFValueType.SHORT), INT16_12(271, DXFValueType.SHORT), INT16_13(272, DXFValueType.SHORT), INT16_14(273, DXFValueType.SHORT), INT16_15(274, DXFValueType.SHORT), INT16_16(275, DXFValueType.SHORT), INT16_17(276, DXFValueType.SHORT), INT16_18(277, DXFValueType.SHORT), INT16_19(278, DXFValueType.SHORT), INT16_20(279, DXFValueType.SHORT), INT16_21(280, DXFValueType.SHORT), INT16_22(281, DXFValueType.SHORT), INT16_23(282, DXFValueType.SHORT), INT16_24(283, DXFValueType.SHORT), INT16_25(284, DXFValueType.SHORT), INT16_26(285, DXFValueType.SHORT), INT16_27(286, DXFValueType.SHORT), INT16_28(287, DXFValueType.SHORT), INT16_29(288, DXFValueType.SHORT), INT16_30(289, DXFValueType.SHORT), BOOLEAN_1(290, DXFValueType.BOOLEAN), BOOLEAN_2(291, DXFValueType.BOOLEAN), BOOLEAN_3(292, DXFValueType.BOOLEAN), BOOLEAN_4(293, DXFValueType.BOOLEAN), BOOLEAN_5(294, DXFValueType.BOOLEAN), BOOLEAN_6(295, DXFValueType.BOOLEAN), BOOLEAN_7(296, DXFValueType.BOOLEAN), BOOLEAN_8(297, DXFValueType.BOOLEAN), BOOLEAN_9(298, DXFValueType.BOOLEAN), BOOLEAN_10(299, DXFValueType.BOOLEAN), ARBITRARY_TEXT_1(300, DXFValueType.STRING), ARBITRARY_TEXT_2(301, DXFValueType.STRING), ARBITRARY_TEXT_3(302, DXFValueType.STRING), ARBITRARY_TEXT_4(303, DXFValueType.STRING), ARBITRARY_TEXT_5(304, DXFValueType.STRING), ARBITRARY_TEXT_6(305, DXFValueType.STRING), ARBITRARY_TEXT_7(306, DXFValueType.STRING), ARBITRARY_TEXT_8(307, DXFValueType.STRING), ARBITRARY_TEXT_9(308, DXFValueType.STRING), ARBITRARY_TEXT_10(309, DXFValueType.STRING), ARBITRARY_BINARY_CHUNK_1(310, DXFValueType.BINHEX), ARBITRARY_BINARY_CHUNK_2(311, DXFValueType.BINHEX), ARBITRARY_BINARY_CHUNK_3(312, DXFValueType.BINHEX), ARBITRARY_BINARY_CHUNK_4(313, DXFValueType.BINHEX), ARBITRARY_BINARY_CHUNK_5(314, DXFValueType.BINHEX), ARBITRARY_BINARY_CHUNK_6(315, DXFValueType.BINHEX), ARBITRARY_BINARY_CHUNK_7(316, DXFValueType.BINHEX), ARBITRARY_BINARY_CHUNK_8(317, DXFValueType.BINHEX), ARBITRARY_BINARY_CHUNK_9(318, DXFValueType.BINHEX), ARBITRARY_BINARY_CHUNK_10(319, DXFValueType.BINHEX), ARBITRARY_OBJECT_HANDLE_1(320, DXFValueType.HANDLEHEX), ARBITRARY_OBJECT_HANDLE_2(321, DXFValueType.HANDLEHEX), ARBITRARY_OBJECT_HANDLE_3(322, DXFValueType.HANDLEHEX), ARBITRARY_OBJECT_HANDLE_4(323, DXFValueType.HANDLEHEX), ARBITRARY_OBJECT_HANDLE_5(324, DXFValueType.HANDLEHEX), ARBITRARY_OBJECT_HANDLE_6(325, DXFValueType.HANDLEHEX), ARBITRARY_OBJECT_HANDLE_7(326, DXFValueType.HANDLEHEX), ARBITRARY_OBJECT_HANDLE_8(327, DXFValueType.HANDLEHEX), ARBITRARY_OBJECT_HANDLE_9(328, DXFValueType.HANDLEHEX), ARBITRARY_OBJECT_HANDLE_10(329, DXFValueType.HANDLEHEX), SOFT_POINTER_HANDLE_1(330, DXFValueType.IDHEX), SOFT_POINTER_HANDLE_2(331, DXFValueType.IDHEX), SOFT_POINTER_HANDLE_3(332, DXFValueType.IDHEX), SOFT_POINTER_HANDLE_4(333, DXFValueType.IDHEX), SOFT_POINTER_HANDLE_5(334, DXFValueType.IDHEX), SOFT_POINTER_HANDLE_6(335, DXFValueType.IDHEX), SOFT_POINTER_HANDLE_7(336, DXFValueType.IDHEX), SOFT_POINTER_HANDLE_8(337, DXFValueType.IDHEX), SOFT_POINTER_HANDLE_9(338, DXFValueType.IDHEX), SOFT_POINTER_HANDLE_10(339, DXFValueType.IDHEX), HARD_POINTER_HANDLE_1(340, DXFValueType.IDHEX), HARD_POINTER_HANDLE_2(341, DXFValueType.IDHEX), HARD_POINTER_HANDLE_3(342, DXFValueType.IDHEX), HARD_POINTER_HANDLE_4(343, DXFValueType.IDHEX), HARD_POINTER_HANDLE_5(344, DXFValueType.IDHEX), HARD_POINTER_HANDLE_6(345, DXFValueType.IDHEX), HARD_POINTER_HANDLE_7(346, DXFValueType.IDHEX), HARD_POINTER_HANDLE_8(347, DXFValueType.IDHEX), HARD_POINTER_HANDLE_9(348, DXFValueType.IDHEX), HARD_POINTER_HANDLE_10(349, DXFValueType.IDHEX), SOFT_OWNER_HANDLE_1(350, DXFValueType.IDHEX), SOFT_OWNER_HANDLE_2(351, DXFValueType.IDHEX), SOFT_OWNER_HANDLE_3(352, DXFValueType.IDHEX), SOFT_OWNER_HANDLE_4(353, DXFValueType.IDHEX), SOFT_OWNER_HANDLE_5(354, DXFValueType.IDHEX), SOFT_OWNER_HANDLE_6(355, DXFValueType.IDHEX), SOFT_OWNER_HANDLE_7(356, DXFValueType.IDHEX), SOFT_OWNER_HANDLE_8(357, DXFValueType.IDHEX), SOFT_OWNER_HANDLE_9(358, DXFValueType.IDHEX), SOFT_OWNER_HANDLE_10(359, DXFValueType.IDHEX), HARD_OWNER_HANDLE_1(360, DXFValueType.IDHEX), HARD_OWNER_HANDLE_2(361, DXFValueType.IDHEX), HARD_OWNER_HANDLE_3(362, DXFValueType.IDHEX), HARD_OWNER_HANDLE_4(363, DXFValueType.IDHEX), HARD_OWNER_HANDLE_5(364, DXFValueType.IDHEX), HARD_OWNER_HANDLE_6(365, DXFValueType.IDHEX), HARD_OWNER_HANDLE_7(366, DXFValueType.IDHEX), HARD_OWNER_HANDLE_8(367, DXFValueType.IDHEX), HARD_OWNER_HANDLE_9(368, DXFValueType.IDHEX), HARD_OWNER_HANDLE_10(369, DXFValueType.IDHEX), LINEWEIGHT_1(370, DXFValueType.SHORT), LINEWEIGHT_2(371, DXFValueType.SHORT), LINEWEIGHT_3(372, DXFValueType.SHORT), LINEWEIGHT_4(373, DXFValueType.SHORT), LINEWEIGHT_5(374, DXFValueType.SHORT), LINEWEIGHT_6(375, DXFValueType.SHORT), LINEWEIGHT_7(376, DXFValueType.SHORT), LINEWEIGHT_8(377, DXFValueType.SHORT), LINEWEIGHT_9(378, DXFValueType.SHORT), LINEWEIGHT_10(379, DXFValueType.SHORT), PLOTSTYLE_NAME_TYPE_1(380, DXFValueType.SHORT), PLOTSTYLE_NAME_TYPE_2(381, DXFValueType.SHORT), PLOTSTYLE_NAME_TYPE_3(382, DXFValueType.SHORT), PLOTSTYLE_NAME_TYPE_4(383, DXFValueType.SHORT), PLOTSTYLE_NAME_TYPE_5(384, DXFValueType.SHORT), PLOTSTYLE_NAME_TYPE_6(385, DXFValueType.SHORT), PLOTSTYLE_NAME_TYPE_7(386, DXFValueType.SHORT), PLOTSTYLE_NAME_TYPE_8(387, DXFValueType.SHORT), PLOTSTYLE_NAME_TYPE_9(388, DXFValueType.SHORT), PLOTSTYLE_NAME_TYPE_10(389, DXFValueType.SHORT), PLOTSTYLE_NAME_HANDLE_1(390, DXFValueType.IDHEX), PLOTSTYLE_NAME_HANDLE_2(391, DXFValueType.IDHEX), PLOTSTYLE_NAME_HANDLE_3(392, DXFValueType.IDHEX), PLOTSTYLE_NAME_HANDLE_4(393, DXFValueType.IDHEX), PLOTSTYLE_NAME_HANDLE_5(394, DXFValueType.IDHEX), PLOTSTYLE_NAME_HANDLE_6(395, DXFValueType.IDHEX), PLOTSTYLE_NAME_HANDLE_7(396, DXFValueType.IDHEX), PLOTSTYLE_NAME_HANDLE_8(397, DXFValueType.IDHEX), PLOTSTYLE_NAME_HANDLE_9(398, DXFValueType.IDHEX), PLOTSTYLE_NAME_HANDLE_10(399, DXFValueType.IDHEX), INT16_31(400, DXFValueType.SHORT), INT16_32(401, DXFValueType.SHORT), INT16_33(402, DXFValueType.SHORT), INT16_34(403, DXFValueType.SHORT), INT16_35(404, DXFValueType.SHORT), INT16_36(405, DXFValueType.SHORT), INT16_37(406, DXFValueType.SHORT), INT16_38(407, DXFValueType.SHORT), INT16_39(408, DXFValueType.SHORT), INT16_40(409, DXFValueType.SHORT), STRING_1(410, DXFValueType.STRING), STRING_2(411, DXFValueType.STRING), STRING_3(412, DXFValueType.STRING), STRING_4(413, DXFValueType.STRING), STRING_5(414, DXFValueType.STRING), STRING_6(415, DXFValueType.STRING), STRING_7(416, DXFValueType.STRING), STRING_8(417, DXFValueType.STRING), STRING_9(418, DXFValueType.STRING), STRING_10(419, DXFValueType.STRING), INT32_11(420, DXFValueType.INTEGER), INT32_12(421, DXFValueType.INTEGER), INT32_13(422, DXFValueType.INTEGER), INT32_14(423, DXFValueType.INTEGER), INT32_15(424, DXFValueType.INTEGER), INT32_16(425, DXFValueType.INTEGER), INT32_17(426, DXFValueType.INTEGER), INT32_18(427, DXFValueType.INTEGER), STRING_11(430, DXFValueType.STRING), STRING_12(431, DXFValueType.STRING), STRING_13(432, DXFValueType.STRING), STRING_14(433, DXFValueType.STRING), STRING_15(434, DXFValueType.STRING), STRING_16(435, DXFValueType.STRING), STRING_17(436, DXFValueType.STRING), STRING_18(437, DXFValueType.STRING), INT32_19(440, DXFValueType.INTEGER), INT32_20(441, DXFValueType.INTEGER), INT32_21(442, DXFValueType.INTEGER), INT32_22(443, DXFValueType.INTEGER), INT32_23(444, DXFValueType.INTEGER), INT32_24(445, DXFValueType.INTEGER), INT32_25(446, DXFValueType.INTEGER), INT32_26(447, DXFValueType.INTEGER), LONG_1(450, DXFValueType.LONG), LONG_2(451, DXFValueType.LONG), LONG_3(452, DXFValueType.LONG), LONG_4(453, DXFValueType.LONG), LONG_5(454, DXFValueType.LONG), LONG_6(455, DXFValueType.LONG), LONG_7(456, DXFValueType.LONG), LONG_8(457, DXFValueType.LONG), LONG_9(458, DXFValueType.LONG), LONG_10(459, DXFValueType.LONG), DOUBLE_20(460, DXFValueType.DOUBLE), DOUBLE_21(461, DXFValueType.DOUBLE), DOUBLE_22(462, DXFValueType.DOUBLE), DOUBLE_23(463, DXFValueType.DOUBLE), DOUBLE_24(464, DXFValueType.DOUBLE), DOUBLE_25(465, DXFValueType.DOUBLE), DOUBLE_26(466, DXFValueType.DOUBLE), DOUBLE_27(467, DXFValueType.DOUBLE), DOUBLE_28(468, DXFValueType.DOUBLE), DOUBLE_29(469, DXFValueType.DOUBLE), STRING_19(470, DXFValueType.STRING), STRING_20(471, DXFValueType.STRING), STRING_21(472, DXFValueType.STRING), STRING_22(473, DXFValueType.STRING), STRING_23(474, DXFValueType.STRING), STRING_24(475, DXFValueType.STRING), STRING_25(476, DXFValueType.STRING), STRING_26(477, DXFValueType.STRING), STRING_27(478, DXFValueType.STRING), STRING_28(479, DXFValueType.STRING), COMMENT(999, DXFValueType.STRING), XDATA_ASCII_STRING(1000, DXFValueType.STRING), XDATA_APPLICATION_NAME(1001, DXFValueType.STRING), XDATA_CONTROL_STRING(1002, DXFValueType.STRING), XDATA_LAYER_NAME(1003, DXFValueType.STRING), XDATA_CHUNK_OF_BYTES(1004, DXFValueType.STRING), XDATA_ENTITY_HANDLE(1005, DXFValueType.STRING), XDATA_X_1(1010, DXFValueType.DOUBLE), XDATA_X_2(1011, DXFValueType.DOUBLE), XDATA_X_3(1012, DXFValueType.DOUBLE), XDATA_X_4(1013, DXFValueType.DOUBLE), XDATA_Y_1(1020, DXFValueType.DOUBLE), XDATA_Y_2(1021, DXFValueType.DOUBLE), XDATA_Y_3(1022, DXFValueType.DOUBLE), XDATA_Y_4(1023, DXFValueType.DOUBLE), XDATA_Z_1(1030, DXFValueType.DOUBLE), XDATA_Z_2(1031, DXFValueType.DOUBLE), XDATA_Z_3(1032, DXFValueType.DOUBLE), XDATA_Z_4(1033, DXFValueType.DOUBLE), XDATA_DOUBLE(1040, DXFValueType.DOUBLE), XDATA_DISTANCE(1041, DXFValueType.DOUBLE), XDATA_SCALE_FACTOR(1042, DXFValueType.DOUBLE), XDATA_INT16(1070, DXFValueType.SHORT), XDATA_INT32(1071, DXFValueType.INTEGER); private int m_code; private DXFValueType m_type; private static final Log log = LogFactory.getLog(DXFGroupCode.class); DXFGroupCode(int code, DXFValueType type) { m_code = code; m_type = type; } public int toInt() { return m_code; } public DXFValueType toType() { return m_type; } public static DXFGroupCode getGroupCode(int code) { for (DXFGroupCode agc : DXFGroupCode.values()) { if (agc.toInt() == code) { return agc; } } log.warn("Unknown Group Code: " + code + ", should not happen, parse error?"); return UNSUPPORTED; } }