org.nakedobjects.metamodel.value
Class ValueSemanticsProviderAbstract

java.lang.Object
  extended by org.nakedobjects.metamodel.facets.FacetAbstract
      extended by org.nakedobjects.metamodel.value.ValueSemanticsProviderAbstract
All Implemented Interfaces:
DefaultsProvider, EncoderDecoder, Parser, ValueSemanticsProvider, Facet
Direct Known Subclasses:
BigDecimalValueSemanticsProvider, BigIntegerValueSemanticsProvider, BooleanValueSemanticsProviderAbstract, ByteValueSemanticsProviderAbstract, CharValueSemanticsProviderAbstract, ColorValueSemanticsProvider, DoubleValueSemanticsProviderAbstract, FloatValueSemanticsProviderAbstract, ImageValueSemanticsProviderAbstract, IntValueSemanticsProviderAbstract, LongValueSemanticsProviderAbstract, MoneyValueSemanticsProvider, PasswordValueSemanticsProvider, PercentageValueSemanticsProvider, ShortValueSemanticsProviderAbstract, StringValueSemanticsProvider, ValueSemanticsProviderAbstractTemporal

public abstract class ValueSemanticsProviderAbstract
extends FacetAbstract
implements ValueSemanticsProvider, EncoderDecoder, Parser, DefaultsProvider


Constructor Summary
ValueSemanticsProviderAbstract(java.lang.Class<? extends Facet> adapterFacetType, FacetHolder holder, java.lang.Class<?> adaptedClass, int typicalLength, boolean immutable, boolean equalByContent, java.lang.Object defaultValue, NakedObjectConfiguration configuration, SpecificationLoader specificationLoader, RuntimeContext runtimeContext)
           
 
Method Summary
 boolean alwaysReplace()
          We don't replace any (none no-op) facets.
protected  NakedObject createAdapter(java.lang.Class<?> type, java.lang.Object object)
           
protected  java.text.NumberFormat determineNumberFormat(java.lang.String suffix)
           
 java.lang.String displayTitleOf(java.lang.Object object)
           
protected abstract  java.lang.String doEncode(java.lang.Object object)
          Hook method to perform the actual encoding.
protected abstract  java.lang.Object doParse(java.lang.Object original, java.lang.String entry)
           
protected abstract  java.lang.Object doRestore(java.lang.String data)
          Hook method to perform the actual restoring.
 java.lang.Object fromEncodedString(java.lang.String data)
           
 java.lang.Class<?> getAdaptedClass()
          The underlying class that has been adapted.
protected static Clock getClock()
           
protected  NakedObjectConfiguration getConfiguration()
           
 DefaultsProvider getDefaultsProvider()
           
 java.lang.Object getDefaultValue()
           
 EncoderDecoder getEncoderDecoder()
           
 Parser getParser()
           
protected  RuntimeContext getRuntimeContext()
           
 NakedObjectSpecification getSpecification()
           
protected  SpecificationLoader getSpecificationLoader()
           
 boolean isEqualByContent()
           
 boolean isImmutable()
           
 java.lang.String parseableTitleOf(java.lang.Object existing)
          Defaults to displayTitleOf(Object).
 java.lang.Object parseTextEntry(java.lang.Object context, java.lang.String entry)
           
protected  java.lang.String titleString(java.text.Format formatter, java.lang.Object object)
           
protected abstract  java.lang.String titleString(java.lang.Object object)
          Return a string representation of aforesaid object.
 java.lang.String toEncodedString(java.lang.Object object)
           
 int typicalLength()
           
 
Methods inherited from class org.nakedobjects.metamodel.facets.FacetAbstract
facetType, getFacetHolder, getIdentified, getUnderlyingFacet, isDerived, isNoop, setFacetHolder, setUnderlyingFacet, toString, toStringValues, unwrapObject, unwrapString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ValueSemanticsProviderAbstract

public ValueSemanticsProviderAbstract(java.lang.Class<? extends Facet> adapterFacetType,
                                      FacetHolder holder,
                                      java.lang.Class<?> adaptedClass,
                                      int typicalLength,
                                      boolean immutable,
                                      boolean equalByContent,
                                      java.lang.Object defaultValue,
                                      NakedObjectConfiguration configuration,
                                      SpecificationLoader specificationLoader,
                                      RuntimeContext runtimeContext)
Method Detail

getSpecification

public NakedObjectSpecification getSpecification()

getAdaptedClass

public final java.lang.Class<?> getAdaptedClass()
The underlying class that has been adapted.

Used to determine whether an empty string can be parsed, (for primitive types a non-null entry is required, see mustHaveEntry()), and potentially useful for debugging.


alwaysReplace

public boolean alwaysReplace()
We don't replace any (none no-op) facets.

For example, if there is already a PropertyDefaultFacet then we shouldn't replace it.

Specified by:
alwaysReplace in interface Facet
Overrides:
alwaysReplace in class FacetAbstract

getEncoderDecoder

public EncoderDecoder getEncoderDecoder()
Specified by:
getEncoderDecoder in interface ValueSemanticsProvider

getParser

public Parser getParser()
Specified by:
getParser in interface ValueSemanticsProvider

getDefaultsProvider

public DefaultsProvider getDefaultsProvider()
Specified by:
getDefaultsProvider in interface ValueSemanticsProvider

isEqualByContent

public boolean isEqualByContent()
Specified by:
isEqualByContent in interface ValueSemanticsProvider

isImmutable

public boolean isImmutable()
Specified by:
isImmutable in interface ValueSemanticsProvider

parseTextEntry

public java.lang.Object parseTextEntry(java.lang.Object context,
                                       java.lang.String entry)
Specified by:
parseTextEntry in interface Parser

doParse

protected abstract java.lang.Object doParse(java.lang.Object original,
                                            java.lang.String entry)
Parameters:
original - - the underlying object, or null.
entry - - the proposed new object, as a string representation to be parsed

displayTitleOf

public java.lang.String displayTitleOf(java.lang.Object object)
Specified by:
displayTitleOf in interface Parser

parseableTitleOf

public java.lang.String parseableTitleOf(java.lang.Object existing)
Defaults to displayTitleOf(Object).

Specified by:
parseableTitleOf in interface Parser

titleString

protected java.lang.String titleString(java.text.Format formatter,
                                       java.lang.Object object)

titleString

protected abstract java.lang.String titleString(java.lang.Object object)
Return a string representation of aforesaid object.


typicalLength

public final int typicalLength()
Specified by:
typicalLength in interface Parser

getDefaultValue

public java.lang.Object getDefaultValue()
Specified by:
getDefaultValue in interface DefaultsProvider

toEncodedString

public java.lang.String toEncodedString(java.lang.Object object)
Specified by:
toEncodedString in interface EncoderDecoder

fromEncodedString

public java.lang.Object fromEncodedString(java.lang.String data)
Specified by:
fromEncodedString in interface EncoderDecoder

doEncode

protected abstract java.lang.String doEncode(java.lang.Object object)
Hook method to perform the actual encoding.


doRestore

protected abstract java.lang.Object doRestore(java.lang.String data)
Hook method to perform the actual restoring.


determineNumberFormat

protected java.text.NumberFormat determineNumberFormat(java.lang.String suffix)

createAdapter

protected NakedObject createAdapter(java.lang.Class<?> type,
                                    java.lang.Object object)

getConfiguration

protected NakedObjectConfiguration getConfiguration()

getSpecificationLoader

protected SpecificationLoader getSpecificationLoader()

getRuntimeContext

protected RuntimeContext getRuntimeContext()

getClock

protected static Clock getClock()


Copyright © 2001-2009 Naked Objects Group Ltd.. All Rights Reserved.