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 }