org.apache.olingo.ext.proxy.commons

## Class AbstractStructuredInvocationHandler

- java.lang.Object
- - org.apache.olingo.ext.proxy.commons.AbstractStructuredInvocationHandler

- All Implemented Interfaces:
    InvocationHandler
  Direct Known Subclasses:
    ComplexInvocationHandler, EntityInvocationHandler

      public abstract class AbstractStructuredInvocationHandler
      extends Object

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected URI` | `baseURI`
    `protected EntityInvocationHandler` | `entityHandler`
    `protected Object` | `internal`
    `protected Map<NavigationProperty,Object>` | `linkCache`
    `protected Map<NavigationProperty,Object>` | `linkChanges`
    `protected static org.slf4j.Logger` | `LOG` Logger.
    `protected Map<String,Object>` | `propertyCache`
    `protected Map<String,Object>` | `propertyChanges`
    `protected AbstractService<?>` | `service`
    `protected Map<String,EdmStreamValue>` | `streamedPropertyCache`
    `protected Map<String,EdmStreamValue>` | `streamedPropertyChanges`
    `protected Class<?>` | `typeRef`
    `protected URIBuilder` | `uri`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `AbstractStructuredInvocationHandler(Class<?> typeRef, AbstractService<?> service)`
    `protected` | `AbstractStructuredInvocationHandler(Class<?> typeRef, Object internal, AbstractService<?> service)`
    `protected` | `AbstractStructuredInvocationHandler(Class<?> typeRef, Object internal, EntityInvocationHandler entityHandler)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addAdditionalProperty(String name, Object value)`
    `protected void` | `addLinkChanges(NavigationProperty navProp, Object value)`
    `protected void` | `addPropertyChanges(String name, Object value)`
    `void` | `applyChanges()`
    `protected void` | `applyChanges(Object cachedValue)`
    `protected void` | `applyChangesOnChildren()`
    `protected void` | `attach()`
    `protected void` | `attach(AttachedEntityStatus status)`
    `protected void` | `attach(AttachedEntityStatus status, boolean override)`
    `protected static URIBuilder` | `buildEntitySetURI(Class<?> ref, AbstractService<?> service)`
    `protected static URIBuilder` | `buildEntitySetURI(String entitySetName, AbstractService<?> service)`
    `void` | `clearQueryOptions()`
    `void` | `delete()`
    `void` | `delete(String name)`
    `protected <S extends EntityType<?>> void` | `deleteEntity(EntityInvocationHandler handler, URI entitySetURI)`
    `boolean` | `equals(Object obj)`
    `void` | `expand(String... expand)`
    `protected EdmEnabledODataClient` | `getClient()`
    `protected ComplexType<?>` | `getComplex(String name, ClientValue value, Class<?> ref, EntityInvocationHandler handler, URI baseURI, boolean collectionItem)`
    `protected Context` | `getContext()`
    `EntityInvocationHandler` | `getEntityHandler()`
    `Object` | `getInternal()`
    `protected abstract <T extends ClientProperty> List<T>` | `getInternalProperties()`
    `protected abstract ClientProperty` | `getInternalProperty(String name)`
    `Map<NavigationProperty,Object>` | `getLinkChanges()`
    `protected abstract Object` | `getNavigationPropertyValue(NavigationProperty property, Method getter)`
    `Map<String,AnnotatableInvocationHandler>` | `getNavPropAnnotatableHandlers()`
    `Map<String,AnnotatableInvocationHandler>` | `getPropAnnotatableHandlers()`
    `Map<String,Object>` | `getPropertyChanges()`
    `protected Object` | `getPropertyValue(String name, Type type)`
    `Map<String,EdmStreamValue>` | `getStreamedPropertyChanges()`
    `protected AbstractStructuredInvocationHandler` | `getStructuredInvocationHandler(Object value)`
    `Class<?>` | `getTypeRef()`
    `protected boolean` | `hasCachedPropertyChanged(Object cachedValue)`
    `protected boolean` | `hasDeepPropertyChanges()`
    `int` | `hashCode()`
    `protected boolean` | `hasPropertyChanges()`
    `Object` | `invoke(Object proxy, Method method, Object[] args)`
    `protected Object` | `invokeSelfMethod(Method method, Object[] args)`
    `boolean` | `isChanged()`
    `protected boolean` | `isDeleted(EntityInvocationHandler handler)`
    `protected boolean` | `isSelfMethod(Method method)`
    `protected abstract void` | `load()`
    `void` | `putNavPropAnnotatableHandler(String navPropName, AnnotatableInvocationHandler handler)`
    `void` | `putPropAnnotatableHandler(String propName, AnnotatableInvocationHandler handler)`
    `Object` | `readAdditionalProperty(String name)`
    `Collection<String>` | `readAdditionalPropertyNames()`
    `void` | `refs()`
    `void` | `removeAdditionalProperty(String name)`
    `protected Object` | `retrieveNavigationProperty(NavigationProperty property, Method getter)`
    `void` | `select(String... select)`
    `void` | `setEntityHandler(EntityInvocationHandler entityHandler)`
    `protected void` | `setPropertyValue(Property property, Object value)`
    `String` | `toString()`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### uri

          protected URIBuilder uri

    - #### baseURI

          protected URI baseURI

    - #### typeRef

          protected final Class<?> typeRef

    - #### entityHandler

          protected EntityInvocationHandler entityHandler

    - #### internal

          protected Object internal

    - #### propertyChanges

          protected final Map<String,Object> propertyChanges

    - #### propertyCache

          protected final Map<String,Object> propertyCache

    - #### linkChanges

          protected final Map<NavigationProperty,Object> linkChanges

    - #### linkCache

          protected final Map<NavigationProperty,Object> linkCache

    - #### streamedPropertyChanges

          protected final Map<String,EdmStreamValue> streamedPropertyChanges

    - #### streamedPropertyCache

          protected final Map<String,EdmStreamValue> streamedPropertyCache

    - #### LOG

          protected static final org.slf4j.Logger LOG

      Logger.

    - #### service

          protected AbstractService<?> service

  - ### Constructor Detail

    - #### AbstractStructuredInvocationHandler

          protected AbstractStructuredInvocationHandler(Class<?> typeRef,
                                                        AbstractService<?> service)

    - #### AbstractStructuredInvocationHandler

          protected AbstractStructuredInvocationHandler(Class<?> typeRef,
                                                        Object internal,
                                                        AbstractService<?> service)

    - #### AbstractStructuredInvocationHandler

          protected AbstractStructuredInvocationHandler(Class<?> typeRef,
                                                        Object internal,
                                                        EntityInvocationHandler entityHandler)

  - ### Method Detail

    - #### getInternal

          public Object getInternal()

    - #### getEntityHandler

          public EntityInvocationHandler getEntityHandler()

    - #### setEntityHandler

          public void setEntityHandler(EntityInvocationHandler entityHandler)

    - #### getTypeRef

          public Class<?> getTypeRef()

    - #### invoke

          public Object invoke(Object proxy,
                               Method method,
                               Object[] args)
                        throws Throwable

      Throws:
        `Throwable`

    - #### delete

          public void delete(String name)

    - #### delete

          public void delete()

    - #### attach

          protected void attach()

    - #### attach

          protected void attach(AttachedEntityStatus status)

    - #### attach

          protected void attach(AttachedEntityStatus status,
                                boolean override)

    - #### getPropertyValue

          protected Object getPropertyValue(String name,
                                            Type type)

    - #### setPropertyValue

          protected void setPropertyValue(Property property,
                                          Object value)

    - #### getNavigationPropertyValue

          protected abstract Object getNavigationPropertyValue(NavigationProperty property,
                                                               Method getter)

    - #### retrieveNavigationProperty

          protected Object retrieveNavigationProperty(NavigationProperty property,
                                                      Method getter)

    - #### readAdditionalProperty

          public Object readAdditionalProperty(String name)

    - #### getPropertyChanges

          public Map<String,Object> getPropertyChanges()

    - #### hasCachedPropertyChanged

          protected boolean hasCachedPropertyChanged(Object cachedValue)

    - #### isChanged

          public boolean isChanged()

    - #### hasPropertyChanges

          protected boolean hasPropertyChanges()

    - #### hasDeepPropertyChanges

          protected boolean hasDeepPropertyChanges()

    - #### applyChanges

          public void applyChanges()

    - #### applyChangesOnChildren

          protected void applyChangesOnChildren()

    - #### applyChanges

          protected void applyChanges(Object cachedValue)

    - #### getStructuredInvocationHandler

          protected AbstractStructuredInvocationHandler getStructuredInvocationHandler(Object value)

    - #### readAdditionalPropertyNames

          public Collection<String> readAdditionalPropertyNames()

    - #### addAdditionalProperty

          public void addAdditionalProperty(String name,
                                            Object value)

    - #### getLinkChanges

          public Map<NavigationProperty,Object> getLinkChanges()

    - #### removeAdditionalProperty

          public void removeAdditionalProperty(String name)

    - #### addPropertyChanges

          protected void addPropertyChanges(String name,
                                            Object value)

    - #### addLinkChanges

          protected void addLinkChanges(NavigationProperty navProp,
                                        Object value)

    - #### getStreamedPropertyChanges

          public Map<String,EdmStreamValue> getStreamedPropertyChanges()

    - #### getPropAnnotatableHandlers

          public Map<String,AnnotatableInvocationHandler> getPropAnnotatableHandlers()

    - #### putPropAnnotatableHandler

          public void putPropAnnotatableHandler(String propName,
                                                AnnotatableInvocationHandler handler)

    - #### getNavPropAnnotatableHandlers

          public Map<String,AnnotatableInvocationHandler> getNavPropAnnotatableHandlers()

    - #### putNavPropAnnotatableHandler

          public void putNavPropAnnotatableHandler(String navPropName,
                                                   AnnotatableInvocationHandler handler)

    - #### expand

          public void expand(String... expand)

    - #### select

          public void select(String... select)

    - #### refs

          public void refs()

    - #### clearQueryOptions

          public void clearQueryOptions()

    - #### load

          protected abstract void load()

    - #### getInternalProperties

          protected abstract <T extends ClientProperty> List<T> getInternalProperties()

    - #### getInternalProperty

          protected abstract ClientProperty getInternalProperty(String name)

    - #### getClient

          protected EdmEnabledODataClient getClient()

    - #### getContext

          protected Context getContext()

    - #### isSelfMethod

          protected boolean isSelfMethod(Method method)

    - #### invokeSelfMethod

          protected Object invokeSelfMethod(Method method,
                                            Object[] args)
                                     throws Throwable

      Throws:
        `Throwable`

    - #### getComplex

          protected ComplexType<?> getComplex(String name,
                                              ClientValue value,
                                              Class<?> ref,
                                              EntityInvocationHandler handler,
                                              URI baseURI,
                                              boolean collectionItem)

    - #### isDeleted

          protected boolean isDeleted(EntityInvocationHandler handler)

    - #### deleteEntity

          protected <S extends EntityType<?>> void deleteEntity(EntityInvocationHandler handler,
                                                                URI entitySetURI)

    - #### buildEntitySetURI

          protected static URIBuilder buildEntitySetURI(Class<?> ref,
                                                        AbstractService<?> service)

    - #### buildEntitySetURI

          protected static URIBuilder buildEntitySetURI(String entitySetName,
                                                        AbstractService<?> service)

    - #### equals

          public boolean equals(Object obj)

      Overrides:
        `equals` in class `Object`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `Object`

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

Copyright © 2013–2022 The Apache Software Foundation. All rights reserved.