<TABLE> <S> <C>

<PAGE>

<ARTICLE> 5
<LEGEND>
THIS SCHEDULE CONTAINS SUMMARY FINANCIAL INFORMATION EXTRACTED FROM FINANCIAL
STATEMENTS AND NOTES THERETO CONTAINED IN THE COMPANY'S ANNUAL REPORT OF FORM 
10-K FILED ON MARCH 31, 1999 AND IS QUALIFIED IN ITS ENTIRETY BY REFERENCE TO
SUCH FINANCIAL STATEMENTS.
</LEGEND>
<MULTIPLIER> 1,000
       
<S>                                        <C>                    <C>
<PERIOD-TYPE>                              YEAR                    YEAR
<FISCAL-YEAR-END>                          DEC-31-1998             DEC-31-1997
<PERIOD-START>                             JAN-01-1998             JAN-01-1997
<PERIOD-END>                               DEC-31-1998             DEC-31-1997
<CASH>                                           5,828                   3,840
<SECURITIES>                                         0                  11,651
<RECEIVABLES>                                   17,890                   9,191
<ALLOWANCES>                                         0                       0
<INVENTORY>                                     14,992                   7,269
<CURRENT-ASSETS>                                40,505                  33,252
<PP&E>                                          55,209                  24,925
<DEPRECIATION>                                 (13,128)                (10,167)
<TOTAL-ASSETS>                                  98,442                  50,625
<CURRENT-LIABILITIES>                           20,537                   4,013
<BONDS>                                              0                       0
<PREFERRED-MANDATORY>                                0                       0
<PREFERRED>                                          0                       0
<COMMON>                                            92                      92
<OTHER-SE>                                      52,488                  45,800
<TOTAL-LIABILITY-AND-EQUITY>                    98,442                  50,625
<SALES>                                         92,710                  59,943
<TOTAL-REVENUES>                                     0                       0
<CGS>                                           56,578                  35,032
<TOTAL-COSTS>                                        0                       0
<OTHER-EXPENSES>                                21,490                  12,337
<LOSS-PROVISION>                                     0                       0
<INTEREST-EXPENSE>                               1,342                    (879)
<INCOME-PRETAX>                                 13,858                  14,059
<INCOME-TAX>                                     5,749                   5,589
<INCOME-CONTINUING>                              8,109                   8,470
<DISCONTINUED>                                       0                       0
<EXTRAORDINARY>                                      0                       0
<CHANGES>                                            0                       0
<NET-INCOME>                                     8,109                   8,470
<EPS-PRIMARY>                                      .88                     .92
<EPS-DILUTED>                                      .88                     .91
        

</TABLE>