Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #38923

Re: Java variable access

Newsgroups comp.lang.java.programmer
Date 2019-04-17 06:42 -0700
References (2 earlier) <q8rfas$iti$1@gioia.aioe.org> <13ak6boysjgrh$.1h4x7tkjgs00q$.dlg@40tude.net> <q8tod9$kb9$1@gioia.aioe.org> <7ivllvz2ukra$.qlcrlm81adao.dlg@40tude.net> <q95ev0$3s8$1@dont-email.me>
Message-ID <28f31a7a-5bdf-4eaa-ad70-df6c0751b5ff@googlegroups.com> (permalink)
Subject Re: Java variable access
From Eric Douglas <e.d.programmer@gmail.com>

Show all headers | View raw


On Tuesday, April 16, 2019 at 4:46:33 PM UTC-4, Eric Sosman wrote:
>      What is wrong (tm) with
> 
> 	public void setUnitPrice(double unitPrice) {
> 	    if (unitPrice <= 0 || !Double.isFinite(unitPrice)) {
> 	        throw new IllegalArgumentException(
> 	            "bad price: " + unitPrice);
> 	    }
> 	    if (unitPrice != this.unitPrice) {
> 	        this.unitPrice = unitPrice;
> 	        fireChangeEvent(this, PRICE_CHANGED);
> 	    }
> 	}
> 

If you leave off the validation and just declare class variable public double unitPrice, you either validate it where it gets used or never validate assuming it's ok to just throw an error where it would be used if it somehow gets an invalid value.

If you would have a number of variables that you want the same exact validation you could build in a private method:
public void setUnitPrice(double unitPrice) {
  setPositiveValue(values.UNITPRICE,unitPrice);
}
(where UNITPRICE is an enum) ?

or you could just use generated code, with a UI (IDE) or Eclipse plugin type thing.
We do use several languages at my company and one of them we did write our own custom IDE (in C#) which inserts certain common code blocks which have to be in every program but would be tedious to write.

Back to comp.lang.java.programmer | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Java variable access Eric Douglas <e.d.programmer@gmail.com> - 2019-04-12 06:57 -0700
  Re: Java variable access Arne Vajhøj <arne@vajhoej.dk> - 2019-04-12 10:06 -0400
    Re: Java variable access Eric Douglas <e.d.programmer@gmail.com> - 2019-04-12 07:23 -0700
      Re: Java variable access Arne Vajhøj <arne@vajhoej.dk> - 2019-04-12 10:35 -0400
      Re: Java variable access Eric Sosman <esosman@comcast-dot-net.invalid> - 2019-04-12 10:58 -0400
        Re: Java variable access Eric Douglas <e.d.programmer@gmail.com> - 2019-04-12 08:31 -0700
          Re: Java variable access Eric Sosman <esosman@comcast-dot-net.invalid> - 2019-04-12 14:40 -0400
        Re: Java variable access Arne Vajhøj <arne@vajhoej.dk> - 2019-04-12 12:31 -0400
  Re: Java variable access Eric Sosman <esosman@comcast-dot-net.invalid> - 2019-04-12 10:56 -0400
  Re: Java variable access Joerg Meier <joergmmeier@arcor.de> - 2019-04-12 23:11 +0200
    Re: Java variable access Arne Vajhøj <arne@vajhoej.dk> - 2019-04-12 21:51 -0400
      Re: Java variable access Joerg Meier <joergmmeier@arcor.de> - 2019-04-13 21:59 +0200
        Re: Java variable access Arne Vajhøj <arne@vajhoej.dk> - 2019-04-13 18:38 -0400
          Re: Java variable access Joerg Meier <joergmmeier@arcor.de> - 2019-04-16 22:08 +0200
            Re: Java variable access Eric Sosman <esosman@comcast-dot-net.invalid> - 2019-04-16 16:46 -0400
              Re: Java variable access Joerg Meier <joergmmeier@arcor.de> - 2019-04-16 23:01 +0200
              Re: Java variable access Eric Douglas <e.d.programmer@gmail.com> - 2019-04-17 06:42 -0700
                Re: Java variable access Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> - 2019-04-17 21:35 +0200
                Re: Java variable access Eric Douglas <e.d.programmer@gmail.com> - 2019-04-17 14:05 -0700
                Re: Java variable access Joerg Meier <joergmmeier@arcor.de> - 2019-04-19 10:40 +0200
                Re: Java variable access Eric Sosman <esosman@comcast-dot-net.invalid> - 2019-04-19 17:20 -0400

csiph-web