org.apache.isis.core.progmodel.facets.object.value
Class ValueSemanticsProviderAndFacetAbstract<T>

java.lang.Object
  extended by org.apache.isis.core.metamodel.facetapi.FacetAbstract
      extended by org.apache.isis.core.progmodel.facets.object.value.ValueSemanticsProviderAndFacetAbstract<T>
All Implemented Interfaces:
org.apache.isis.applib.adapters.DefaultsProvider<T>, org.apache.isis.applib.adapters.EncoderDecoder<T>, org.apache.isis.applib.adapters.Parser<T>, org.apache.isis.applib.adapters.ValueSemanticsProvider<T>, org.apache.isis.core.metamodel.facetapi.Facet
Direct Known Subclasses:
BigDecimalValueSemanticsProvider, BigIntegerValueSemanticsProvider, BooleanValueSemanticsProviderAbstract, ByteValueSemanticsProviderAbstract, CharValueSemanticsProviderAbstract, ColorValueSemanticsProvider, DoubleValueSemanticsProviderAbstract, EnumValueSemanticsProvider, FloatValueSemanticsProviderAbstract, ImageValueSemanticsProviderAbstract, IntValueSemanticsProviderAbstract, LongValueSemanticsProviderAbstract, MoneyValueSemanticsProvider, PasswordValueSemanticsProvider, PercentageValueSemanticsProvider, ShortValueSemanticsProviderAbstract, StringValueSemanticsProvider, ValueSemanticsProviderAbstractTemporal

public abstract class ValueSemanticsProviderAndFacetAbstract<T>
extends org.apache.isis.core.metamodel.facetapi.FacetAbstract
implements org.apache.isis.applib.adapters.ValueSemanticsProvider<T>, org.apache.isis.applib.adapters.EncoderDecoder<T>, org.apache.isis.applib.adapters.Parser<T>, org.apache.isis.applib.adapters.DefaultsProvider<T>


Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.isis.core.metamodel.facetapi.FacetAbstract
org.apache.isis.core.metamodel.facetapi.FacetAbstract.Disabling, org.apache.isis.core.metamodel.facetapi.FacetAbstract.Hiding, org.apache.isis.core.metamodel.facetapi.FacetAbstract.Validating
 
Constructor Summary
ValueSemanticsProviderAndFacetAbstract(Class<? extends org.apache.isis.core.metamodel.facetapi.Facet> adapterFacetType, org.apache.isis.core.metamodel.facetapi.FacetHolder holder, Class<T> adaptedClass, int typicalLength, boolean immutable, boolean equalByContent, T defaultValue, org.apache.isis.core.commons.config.IsisConfiguration configuration, ValueSemanticsProviderContext context)
           
 
Method Summary
 boolean alwaysReplace()
          We don't replace any (none no-op) facets.
protected  org.apache.isis.core.metamodel.adapter.ObjectAdapter createAdapter(Class<?> type, Object object)
           
protected  NumberFormat determineNumberFormat(String suffix)
           
 String displayTitleOf(Object object, org.apache.isis.applib.profiles.Localization localization)
           
 String displayTitleOf(Object object, String usingMask)
           
protected abstract  String doEncode(Object object)
          Hook method to perform the actual encoding.
protected abstract  T doParse(Object context, String entry)
           
protected abstract  T doRestore(String data)
          Hook method to perform the actual restoring.
 T fromEncodedString(String data)
           
 Class<T> getAdaptedClass()
          The underlying class that has been adapted.
protected  org.apache.isis.core.metamodel.adapter.map.AdapterMap getAdapterMap()
          From context.
protected  org.apache.isis.core.commons.authentication.AuthenticationSessionProvider getAuthenticationSessionProvider()
          From context.
protected static org.apache.isis.applib.clock.Clock getClock()
           
protected  org.apache.isis.core.commons.config.IsisConfiguration getConfiguration()
           
protected  ValueSemanticsProviderContext getContext()
           
 org.apache.isis.applib.adapters.DefaultsProvider<T> getDefaultsProvider()
           
 T getDefaultValue()
           
protected  org.apache.isis.core.metamodel.runtimecontext.DependencyInjector getDependencyInjector()
          From context.
 org.apache.isis.applib.adapters.EncoderDecoder<T> getEncoderDecoder()
           
 org.apache.isis.applib.adapters.Parser<T> getParser()
           
 org.apache.isis.core.metamodel.spec.ObjectSpecification getSpecification()
           
protected  org.apache.isis.core.metamodel.spec.SpecificationLookup getSpecificationLookup()
          From context.
 boolean isEqualByContent()
           
 boolean isImmutable()
           
 String parseableTitleOf(Object existing)
          Defaults to displayTitleOf(Object, Localization).
 T parseTextEntry(Object context, String entry)
           
protected  String titleString(Format formatter, Object object)
           
protected abstract  String titleString(Object object, org.apache.isis.applib.profiles.Localization localization)
          Return a string representation of aforesaid object.
abstract  String titleStringWithMask(Object value, String usingMask)
           
 String toEncodedString(Object object)
           
 int typicalLength()
           
 
Methods inherited from class org.apache.isis.core.metamodel.facetapi.FacetAbstract
facetType, getFacetHolder, getIdentified, getUnderlyingFacet, isDerived, isNoop, setFacetHolder, setUnderlyingFacet, toString, toStringValues
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ValueSemanticsProviderAndFacetAbstract

public ValueSemanticsProviderAndFacetAbstract(Class<? extends org.apache.isis.core.metamodel.facetapi.Facet> adapterFacetType,
                                              org.apache.isis.core.metamodel.facetapi.FacetHolder holder,
                                              Class<T> adaptedClass,
                                              int typicalLength,
                                              boolean immutable,
                                              boolean equalByContent,
                                              T defaultValue,
                                              org.apache.isis.core.commons.config.IsisConfiguration configuration,
                                              ValueSemanticsProviderContext context)
Method Detail

getSpecification

public org.apache.isis.core.metamodel.spec.ObjectSpecification getSpecification()

getAdaptedClass

public final Class<T> 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 org.apache.isis.core.metamodel.facetapi.Facet
Overrides:
alwaysReplace in class org.apache.isis.core.metamodel.facetapi.FacetAbstract

getEncoderDecoder

public org.apache.isis.applib.adapters.EncoderDecoder<T> getEncoderDecoder()
Specified by:
getEncoderDecoder in interface org.apache.isis.applib.adapters.ValueSemanticsProvider<T>

getParser

public org.apache.isis.applib.adapters.Parser<T> getParser()
Specified by:
getParser in interface org.apache.isis.applib.adapters.ValueSemanticsProvider<T>

getDefaultsProvider

public org.apache.isis.applib.adapters.DefaultsProvider<T> getDefaultsProvider()
Specified by:
getDefaultsProvider in interface org.apache.isis.applib.adapters.ValueSemanticsProvider<T>

isEqualByContent

public boolean isEqualByContent()
Specified by:
isEqualByContent in interface org.apache.isis.applib.adapters.ValueSemanticsProvider<T>

isImmutable

public boolean isImmutable()
Specified by:
isImmutable in interface org.apache.isis.applib.adapters.ValueSemanticsProvider<T>

parseTextEntry

public T parseTextEntry(Object context,
                        String entry)
Specified by:
parseTextEntry in interface org.apache.isis.applib.adapters.Parser<T>

doParse

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

displayTitleOf

public String displayTitleOf(Object object,
                             org.apache.isis.applib.profiles.Localization localization)
Specified by:
displayTitleOf in interface org.apache.isis.applib.adapters.Parser<T>

displayTitleOf

public String displayTitleOf(Object object,
                             String usingMask)
Specified by:
displayTitleOf in interface org.apache.isis.applib.adapters.Parser<T>

parseableTitleOf

public String parseableTitleOf(Object existing)
Defaults to displayTitleOf(Object, Localization).

Specified by:
parseableTitleOf in interface org.apache.isis.applib.adapters.Parser<T>

titleString

protected String titleString(Format formatter,
                             Object object)

titleString

protected abstract String titleString(Object object,
                                      org.apache.isis.applib.profiles.Localization localization)
Return a string representation of aforesaid object.


titleStringWithMask

public abstract String titleStringWithMask(Object value,
                                           String usingMask)

typicalLength

public final int typicalLength()
Specified by:
typicalLength in interface org.apache.isis.applib.adapters.Parser<T>

getDefaultValue

public T getDefaultValue()
Specified by:
getDefaultValue in interface org.apache.isis.applib.adapters.DefaultsProvider<T>

toEncodedString

public String toEncodedString(Object object)
Specified by:
toEncodedString in interface org.apache.isis.applib.adapters.EncoderDecoder<T>

fromEncodedString

public T fromEncodedString(String data)
Specified by:
fromEncodedString in interface org.apache.isis.applib.adapters.EncoderDecoder<T>

doEncode

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


doRestore

protected abstract T doRestore(String data)
Hook method to perform the actual restoring.


determineNumberFormat

protected NumberFormat determineNumberFormat(String suffix)

createAdapter

protected org.apache.isis.core.metamodel.adapter.ObjectAdapter createAdapter(Class<?> type,
                                                                             Object object)

getConfiguration

protected org.apache.isis.core.commons.config.IsisConfiguration getConfiguration()

getContext

protected ValueSemanticsProviderContext getContext()

getAdapterMap

protected org.apache.isis.core.metamodel.adapter.map.AdapterMap getAdapterMap()
From context.


getSpecificationLookup

protected org.apache.isis.core.metamodel.spec.SpecificationLookup getSpecificationLookup()
From context.


getDependencyInjector

protected org.apache.isis.core.metamodel.runtimecontext.DependencyInjector getDependencyInjector()
From context.


getAuthenticationSessionProvider

protected org.apache.isis.core.commons.authentication.AuthenticationSessionProvider getAuthenticationSessionProvider()
From context.


getClock

protected static org.apache.isis.applib.clock.Clock getClock()


Copyright © 2010-2011 The Apache Software Foundation. All Rights Reserved.