org.apache.jackrabbit.oak.jcr.session
Class PropertyImpl

java.lang.Object
  extended by org.apache.jackrabbit.oak.jcr.session.PropertyImpl
All Implemented Interfaces:
javax.jcr.Item, javax.jcr.Property

public class PropertyImpl
extends Object
implements javax.jcr.Property

TODO document


Field Summary
protected  T dlg
           
static String ITEM_SAVE_DOES_SESSION_SAVE
           
static int MV_PROPERTY_WARN_THRESHOLD
           
static boolean SAVE_SESSION
          The value of this flag determines the behaviour of save().
protected  SessionContext sessionContext
           
protected  SessionDelegate sessionDelegate
           
 
Fields inherited from interface javax.jcr.Property
JCR_ACTIVITY, JCR_AUTOCREATED, JCR_BASE_VERSION, JCR_CHILD_VERSION_HISTORY, JCR_CONFIGURATION, JCR_CONTENT, JCR_COPIED_FROM, JCR_CREATED, JCR_CREATED_BY, JCR_CURRENT_LIFECYCLE_STATE, JCR_DATA, JCR_DEFAULT_PRIMARY_TYPE, JCR_DEFAULT_VALUES, JCR_DESCRIPTION, JCR_ENCODING, JCR_FROZEN_MIXIN_TYPES, JCR_FROZEN_PRIMARY_TYPE, JCR_FROZEN_UUID, JCR_HAS_ORDERABLE_CHILD_NODES, JCR_HOST, JCR_ID, JCR_IS_ABSTRACT, JCR_IS_CHECKED_OUT, JCR_IS_MIXIN, JCR_LANGUAGE, JCR_LAST_MODIFIED, JCR_LAST_MODIFIED_BY, JCR_LIFECYCLE_POLICY, JCR_LOCK_IS_DEEP, JCR_LOCK_OWNER, JCR_MANDATORY, JCR_MERGE_FAILED, JCR_MIMETYPE, JCR_MIXIN_TYPES, JCR_MULTIPLE, JCR_NAME, JCR_NODE_TYPE_NAME, JCR_ON_PARENT_VERSION, JCR_PATH, JCR_PORT, JCR_PREDECESSORS, JCR_PRIMARY_ITEM_NAME, JCR_PRIMARY_TYPE, JCR_PROTECTED, JCR_PROTOCOL, JCR_REPOSITORY, JCR_REQUIRED_PRIMARY_TYPES, JCR_REQUIRED_TYPE, JCR_ROOT, JCR_SAME_NAME_SIBLINGS, JCR_STATEMENT, JCR_SUCCESSORS, JCR_SUPERTYPES, JCR_TITLE, JCR_UUID, JCR_VALUE_CONSTRAINTS, JCR_VERSION_HISTORY, JCR_VERSIONABLE_UUID, JCR_WORKSPACE
 
Method Summary
 void accept(javax.jcr.ItemVisitor visitor)
           
protected  org.apache.jackrabbit.oak.api.PropertyState createMultiState(String oakName, List<javax.jcr.Value> values, org.apache.jackrabbit.oak.api.Type<?> type)
           
protected  org.apache.jackrabbit.oak.api.PropertyState createSingleState(String oakName, javax.jcr.Value value, org.apache.jackrabbit.oak.api.Type<?> type)
           
 javax.jcr.Item getAncestor(int depth)
           
 javax.jcr.Binary getBinary()
           
 boolean getBoolean()
           
 Calendar getDate()
           
 BigDecimal getDecimal()
           
 javax.jcr.nodetype.PropertyDefinition getDefinition()
           
 int getDepth()
           
 double getDouble()
           
 long getLength()
           
 long[] getLengths()
           
 long getLong()
           
 String getName()
           
 javax.jcr.Node getNode()
           
 javax.jcr.Node getParent()
           
 String getPath()
           
 javax.jcr.Property getProperty()
           
 javax.jcr.Session getSession()
           
 InputStream getStream()
           
 String getString()
           
 int getType()
           
 javax.jcr.Value getValue()
           
 javax.jcr.Value[] getValues()
           
 boolean isModified()
           
 boolean isMultiple()
           
 boolean isNew()
           
 boolean isNode()
           
 boolean isSame(javax.jcr.Item otherItem)
           
protected
<U> U
perform(SessionOperation<U> op)
          Perform the passed SessionOperation.
 void refresh(boolean keepChanges)
           
 void remove()
           
protected
<U> U
safePerform(SessionOperation<U> op)
          Perform the passed SessionOperation assuming it does not throw an RepositoryException.
 void save()
          This implementation delegates to Session.save() if SAVE_SESSION is true.
 void setValue(BigDecimal value)
           
 void setValue(javax.jcr.Binary value)
           
 void setValue(boolean value)
           
 void setValue(Calendar value)
           
 void setValue(double value)
           
 void setValue(InputStream value)
           
 void setValue(long value)
           
 void setValue(javax.jcr.Node value)
           
 void setValue(String value)
           
 void setValue(String[] strings)
           
 void setValue(javax.jcr.Value value)
           
 void setValue(javax.jcr.Value[] values)
           
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface javax.jcr.Item
getAncestor, getDepth, getName, getPath, getSession, isSame, refresh, save
 

Field Detail

ITEM_SAVE_DOES_SESSION_SAVE

public static final String ITEM_SAVE_DOES_SESSION_SAVE
See Also:
Constant Field Values

MV_PROPERTY_WARN_THRESHOLD

public static final int MV_PROPERTY_WARN_THRESHOLD
See Also:
Constant Field Values

SAVE_SESSION

public static final boolean SAVE_SESSION
The value of this flag determines the behaviour of save(). If false, save will throw a UnsupportedRepositoryOperationException if the sub tree rooted at this item does not contain all transient changes. If true, save will delegate to Session.save().


sessionContext

protected final SessionContext sessionContext

dlg

protected final T extends ItemDelegate dlg

sessionDelegate

protected final SessionDelegate sessionDelegate
Method Detail

isNode

public boolean isNode()
Specified by:
isNode in interface javax.jcr.Item

getParent

@Nonnull
public javax.jcr.Node getParent()
                         throws javax.jcr.RepositoryException
Specified by:
getParent in interface javax.jcr.Item
Throws:
javax.jcr.RepositoryException

isNew

public boolean isNew()
Specified by:
isNew in interface javax.jcr.Item

isModified

public boolean isModified()
Specified by:
isModified in interface javax.jcr.Item

remove

public void remove()
            throws javax.jcr.RepositoryException
Specified by:
remove in interface javax.jcr.Item
Throws:
javax.jcr.RepositoryException

accept

public void accept(javax.jcr.ItemVisitor visitor)
            throws javax.jcr.RepositoryException
Specified by:
accept in interface javax.jcr.Item
Throws:
javax.jcr.RepositoryException

setValue

public void setValue(javax.jcr.Value value)
              throws javax.jcr.RepositoryException
Specified by:
setValue in interface javax.jcr.Property
Throws:
javax.jcr.RepositoryException

setValue

public void setValue(javax.jcr.Value[] values)
              throws javax.jcr.RepositoryException
Specified by:
setValue in interface javax.jcr.Property
Throws:
javax.jcr.RepositoryException

setValue

public void setValue(String value)
              throws javax.jcr.RepositoryException
Specified by:
setValue in interface javax.jcr.Property
Throws:
javax.jcr.RepositoryException

setValue

public void setValue(String[] strings)
              throws javax.jcr.RepositoryException
Specified by:
setValue in interface javax.jcr.Property
Throws:
javax.jcr.RepositoryException

setValue

public void setValue(InputStream value)
              throws javax.jcr.RepositoryException
Specified by:
setValue in interface javax.jcr.Property
Throws:
javax.jcr.RepositoryException

setValue

public void setValue(javax.jcr.Binary value)
              throws javax.jcr.RepositoryException
Specified by:
setValue in interface javax.jcr.Property
Throws:
javax.jcr.RepositoryException

setValue

public void setValue(long value)
              throws javax.jcr.RepositoryException
Specified by:
setValue in interface javax.jcr.Property
Throws:
javax.jcr.RepositoryException

setValue

public void setValue(double value)
              throws javax.jcr.RepositoryException
Specified by:
setValue in interface javax.jcr.Property
Throws:
javax.jcr.RepositoryException

setValue

public void setValue(BigDecimal value)
              throws javax.jcr.RepositoryException
Specified by:
setValue in interface javax.jcr.Property
Throws:
javax.jcr.RepositoryException

setValue

public void setValue(Calendar value)
              throws javax.jcr.RepositoryException
Specified by:
setValue in interface javax.jcr.Property
Throws:
javax.jcr.RepositoryException

setValue

public void setValue(boolean value)
              throws javax.jcr.RepositoryException
Specified by:
setValue in interface javax.jcr.Property
Throws:
javax.jcr.RepositoryException

setValue

public void setValue(javax.jcr.Node value)
              throws javax.jcr.RepositoryException
Specified by:
setValue in interface javax.jcr.Property
Throws:
javax.jcr.RepositoryException

getValue

@Nonnull
public javax.jcr.Value getValue()
                         throws javax.jcr.RepositoryException
Specified by:
getValue in interface javax.jcr.Property
Throws:
javax.jcr.RepositoryException

getValues

@Nonnull
public javax.jcr.Value[] getValues()
                            throws javax.jcr.RepositoryException
Specified by:
getValues in interface javax.jcr.Property
Throws:
javax.jcr.RepositoryException

getString

@Nonnull
public String getString()
                 throws javax.jcr.RepositoryException
Specified by:
getString in interface javax.jcr.Property
Throws:
javax.jcr.RepositoryException

getStream

@Nonnull
public InputStream getStream()
                      throws javax.jcr.RepositoryException
Specified by:
getStream in interface javax.jcr.Property
Throws:
javax.jcr.RepositoryException

getBinary

@Nonnull
public javax.jcr.Binary getBinary()
                           throws javax.jcr.RepositoryException
Specified by:
getBinary in interface javax.jcr.Property
Throws:
javax.jcr.RepositoryException

getLong

public long getLong()
             throws javax.jcr.RepositoryException
Specified by:
getLong in interface javax.jcr.Property
Throws:
javax.jcr.RepositoryException

getDouble

public double getDouble()
                 throws javax.jcr.RepositoryException
Specified by:
getDouble in interface javax.jcr.Property
Throws:
javax.jcr.RepositoryException

getDecimal

@Nonnull
public BigDecimal getDecimal()
                      throws javax.jcr.RepositoryException
Specified by:
getDecimal in interface javax.jcr.Property
Throws:
javax.jcr.RepositoryException

getDate

@Nonnull
public Calendar getDate()
                 throws javax.jcr.RepositoryException
Specified by:
getDate in interface javax.jcr.Property
Throws:
javax.jcr.RepositoryException

getBoolean

public boolean getBoolean()
                   throws javax.jcr.RepositoryException
Specified by:
getBoolean in interface javax.jcr.Property
Throws:
javax.jcr.RepositoryException

getNode

@Nonnull
public javax.jcr.Node getNode()
                       throws javax.jcr.RepositoryException
Specified by:
getNode in interface javax.jcr.Property
Throws:
javax.jcr.RepositoryException

getProperty

@Nonnull
public javax.jcr.Property getProperty()
                               throws javax.jcr.RepositoryException
Specified by:
getProperty in interface javax.jcr.Property
Throws:
javax.jcr.RepositoryException

getLength

public long getLength()
               throws javax.jcr.RepositoryException
Specified by:
getLength in interface javax.jcr.Property
Throws:
javax.jcr.RepositoryException

getLengths

@Nonnull
public long[] getLengths()
                  throws javax.jcr.RepositoryException
Specified by:
getLengths in interface javax.jcr.Property
Throws:
javax.jcr.RepositoryException

getDefinition

@Nonnull
public javax.jcr.nodetype.PropertyDefinition getDefinition()
                                                    throws javax.jcr.RepositoryException
Specified by:
getDefinition in interface javax.jcr.Property
Throws:
javax.jcr.RepositoryException

getType

public int getType()
            throws javax.jcr.RepositoryException
Specified by:
getType in interface javax.jcr.Property
Throws:
javax.jcr.RepositoryException

isMultiple

public boolean isMultiple()
                   throws javax.jcr.RepositoryException
Specified by:
isMultiple in interface javax.jcr.Property
Throws:
javax.jcr.RepositoryException

perform

@CheckForNull
protected final <U> U perform(@Nonnull
                                           SessionOperation<U> op)
                   throws javax.jcr.RepositoryException
Perform the passed SessionOperation.

Type Parameters:
U - return type of the operation
Parameters:
op - operation to perform
Returns:
the result of op.perform()
Throws:
javax.jcr.RepositoryException - as thrown by op.perform().

safePerform

@CheckForNull
protected final <U> U safePerform(@Nonnull
                                               SessionOperation<U> op)
Perform the passed SessionOperation assuming it does not throw an RepositoryException. If it does, wrap it into and throw it as a RuntimeException.

Type Parameters:
U - return type of the operation
Parameters:
op - operation to perform
Returns:
the result of op.perform()

getName

@Nonnull
public String getName()
               throws javax.jcr.RepositoryException
Specified by:
getName in interface javax.jcr.Item
Throws:
javax.jcr.RepositoryException
See Also:
Item.getName()

getPath

@Nonnull
public String getPath()
               throws javax.jcr.RepositoryException
Specified by:
getPath in interface javax.jcr.Item
Throws:
javax.jcr.RepositoryException
See Also:
Item.getPath()

getSession

@Nonnull
public javax.jcr.Session getSession()
Specified by:
getSession in interface javax.jcr.Item

getAncestor

public javax.jcr.Item getAncestor(int depth)
                           throws javax.jcr.RepositoryException
Specified by:
getAncestor in interface javax.jcr.Item
Throws:
javax.jcr.RepositoryException

getDepth

public int getDepth()
             throws javax.jcr.RepositoryException
Specified by:
getDepth in interface javax.jcr.Item
Throws:
javax.jcr.RepositoryException

isSame

public boolean isSame(javax.jcr.Item otherItem)
               throws javax.jcr.RepositoryException
Specified by:
isSame in interface javax.jcr.Item
Throws:
javax.jcr.RepositoryException
See Also:
Item.isSame(javax.jcr.Item)

save

public void save()
          throws javax.jcr.RepositoryException
This implementation delegates to Session.save() if SAVE_SESSION is true. Otherwise it only performs the save if the subtree rooted at this item contains all transient changes. That is, if calling Session.save() would have the same effect as calling this method. In all other cases this method will throw an UnsupportedRepositoryOperationException

Specified by:
save in interface javax.jcr.Item
Throws:
javax.jcr.RepositoryException
See Also:
Item.save()

refresh

public void refresh(boolean keepChanges)
             throws javax.jcr.RepositoryException
Specified by:
refresh in interface javax.jcr.Item
Throws:
javax.jcr.RepositoryException
See Also:
Item.refresh(boolean)

toString

public String toString()
Overrides:
toString in class Object

createSingleState

protected org.apache.jackrabbit.oak.api.PropertyState createSingleState(String oakName,
                                                                        javax.jcr.Value value,
                                                                        org.apache.jackrabbit.oak.api.Type<?> type)
                                                                 throws javax.jcr.RepositoryException
Throws:
javax.jcr.RepositoryException

createMultiState

protected org.apache.jackrabbit.oak.api.PropertyState createMultiState(String oakName,
                                                                       List<javax.jcr.Value> values,
                                                                       org.apache.jackrabbit.oak.api.Type<?> type)
                                                                throws javax.jcr.RepositoryException
Throws:
javax.jcr.RepositoryException


Copyright © 2012-2014 The Apache Software Foundation. All Rights Reserved.