View Javadoc
1   package net.sf.mbus4j.dataframes.datablocks.vif;
2   
3   /*
4    * #%L
5    * mbus4j-core
6    * %%
7    * Copyright (C) 2009 - 2014 MBus4J
8    * %%
9    * mbus4j - Drivers for the M-Bus protocol - http://mbus4j.sourceforge.net/
10   * Copyright (C) 2009-2014, mbus4j.sf.net, and individual contributors as indicated
11   * by the @authors tag. See the copyright.txt in the distribution for a
12   * full listing of individual contributors.
13   * 
14   * This is free software; you can redistribute it and/or modify it
15   * under the terms of the GNU General Public License as
16   * published by the Free Software Foundation; either version 3 of
17   * the License, or (at your option) any later version.
18   * 
19   * This software is distributed in the hope that it will be useful,
20   * but WITHOUT ANY WARRANTY; without even the implied warranty of
21   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
22   * Lesser General Public License for more details.
23   * 
24   * You should have received a copy of the GNU Lesser General Public
25   * License along with this software; if not, write to the Free
26   * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
27   * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
28   * #L%
29   */
30  
31  /**
32   *
33   * @author arnep@users.sourceforge.net
34   * @version $Id: VifManufacturerSpecific.java 163 2016-10-07 18:53:55Z arnep $
35   */
36  public class VifManufacturerSpecific implements Vif {
37  
38      public static boolean isManufacturerSecific(String label) {
39          return label.startsWith("Manufacturer specific coding including VIFE's (VIF == 0x");
40      }
41  
42      public static VifManufacturerSpecific fromLabel(String label) {
43          if (!isManufacturerSecific(label)) {
44              throw new IllegalArgumentException("label is no man. spec. data !");
45          }
46  
47          VifManufacturerSpecific result = new VifManufacturerSpecific();
48          return result;
49      }
50  
51  
52      public VifManufacturerSpecific() {
53      }
54  
55      @Override
56      public Integer getExponent() {
57          return 0;
58      }
59  
60      @Override
61      public String getLabel() {
62          return "Manufacturer specific coding (including VIFE's)";
63      }
64  
65      /**
66       * @return the siPrefix
67       */
68      @Override
69      public SiPrefix getSiPrefix() {
70          return SiPrefix.ONE;
71      }
72  
73      @Override
74      public UnitOfMeasurement getUnitOfMeasurement() {
75          return null;
76      }
77  
78      @Override
79      public String toString() {
80          return getLabel();
81      }
82  
83      @Override
84      public boolean equals(Object other) {
85          return (other instanceof VifManufacturerSpecific);
86      }
87  
88      @Override
89      public VifTypes getVifType() {
90          return VifTypes.MANUFACTURER_SPECIFIC;
91      }
92  
93      @Override
94      public int hashCode() {
95          int hash = 5;
96          return hash;
97      }
98  }